登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
利用 OpenTelemetry 集成 JMX 监控
利用 OpenTelemetry 集成 JMX 监控
[ 复制链接 ]
褐洌
2025-10-30 11:51:47
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
JMX 是什么?
JMX 是 “Java Management Extensions” 的缩写,中文通常称为 “Java 管理扩展”。它是 Java 平台提供的一套标准框架,用于对 Java 应用程序、设备、系统资源进行监控和管理。
JMX 的核心作用包括:
监控 Java 程序运行状态(如内存使用、线程数、类加载情况等);
动态修改配置参数(无需重启应用);
远程管理 Java 应用(通过 JConsole、VisualVM 等工具);
集成到监控系统中,实现对 JVM 的集中监控。
很多 Java 应用(如 Kafka、Hadoop、Tomcat 等)都通过 JMX 暴露运行时指标,方便运维人员进行监控和故障排查。在监控领域,你就可以简单的理解 JMX 是一种 Java 应用暴露指标的标准方式。
很多新的开源项目直接暴露 Prometheus 协议的监控数据,确实更方便,但很多老的 Java 应用仍然通过 JMX 暴露指标数据,所以掌握 JMX 监控方式,等于掌握了一批 Java 应用的监控方式。
OpenTelemetry 的标准已经被业界普遍使用,JMX 也可以和 OpenTelemetry 集成。用于 JMX 的 OpenTelemetry 集成利用 YAML 中指定的配置文件来描述应用程序的指标应如何转换为 OpenTelemetry 指标。这些规则会提供给与 JMX API 交互的 JMX 指标抓取工具。许多现有的 Java 应用程序可配置为通过 JMX 发出指标。以下应用程序具有社区支持的预定义规则文件:
Activemq
Cassandra
Hbase
Hadoop
Jetty
Jvm
Kafka
Solr
Tomcat
Wildfly
这意味着,在使用 JMX 抓取工具时,可以将目标应用程序识别为上述选项之一,无需任何额外配置即可自动抓取指标。
使用 OpenTelemetry 的 JMX 集成从应用程序中提取数据有多种方法:
运行 JMX 指标收集器 JAR 并将其指向您的应用程序
将 OpenTelemetry Java 代理与应用程序一起运行
运行 OpenTelemetry Collector 并配置 JMX 接收器以通过 JMX 获取指标
JMX 指标收集器是一种简单便捷的方法,可用于测试从 Java 应用程序导出指标,且所需的额外依赖最少。OpenTelemetry Java 代理是一种更成熟且经过验证的机制,但由于它引入了额外的 instrumentation,可能也会带来一些开销。如果在你的环境中运行单独的进程或工作负载是可接受的,那么 OpenTelemetry 收集器是一个可靠的替代方案。本文将探讨这三种选择。
配置
在深入了解 OpenTelemetry 集成之前,有必要确保将要测试的应用程序正确暴露 JMX 端点。以下命令在 Docker 容器中启动 Tomcat 服务器,以减少本地系统所需的依赖项数量。它使用 JAVA_OPTS 环境变量启用 JMX,并使其在 9999 端口上可用。
$ docker run -it --rm -p 9999:9999 -p 8888:8080 -e JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.rmi.port=9999 -Djava.rmi.server.hostname=0.0.0.0 -Dcom.sun.management.jmxremote.ssl=false" tomcat:9.0
复制代码
有许多工具可以验证 JMX 端口是否可访问以及是否在生成指标。以下使用 JConsole 并连接到已打开的端口:
$ jconsole localhost:9999
复制代码
这将弹出一个应用程序,它可能会提示您连接不安全。在本地开发时,此警告可以安全地忽略。
这些数据可通过远程 JMX 端口访问,我们已准备好与 OpenTelemetry 集成。
直接使用 JMX scraper
如前所述,JMX 抓取工具是最简便的入门方式。以下命令将:
从 Maven 下载 JMX 抓取工具的最新发布版本
运行 JMX 抓取工具,将其配置为从 Tomcat 收集遥测数据,并通过 JMX 收集指标,然后将这些指标输出到本地控制台。
[code]$ wget https://repo1.maven.org/maven2/io/opentelemetry/contrib/opentelemetry-jmx-scraper/1.49.0-alpha/opentelemetry-jmx-scraper-1.49.0-alpha.jar$ OTEL_METRICS_EXPORTER=console java -jar opentelemetry-jmx-scraper-1.49.0-alpha.jar -config -
利用
OpenTelemetry
集成
JMX
监控
相关帖子
Spring AI 代码分析(三)--集成LLM
【Kubernetes】集成Prometheus + Grafana监控
【Kubernetes】集成ELK收集日志
扣子Coze实战:从0到1搭建抖音+小红书对标账号监控智能体
时序数据库 IoTDB 集成 SpringBoot Starter,实现时序数据库“零配置”接入
实战利用LLM辅助小程序逆向与HTTP报文漏洞挖掘
日本股票数据接口集成文档 股票数据源API
利用desmos动态展示最大似然概率
YII框架的三条经典利用链的探究
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
Spring AI 代码分析(三)--集成LLM
2
299
能杜孱
2025-11-20
业界
【Kubernetes】集成Prometheus + Grafana监控
2
324
挠溃症
2025-11-21
业界
【Kubernetes】集成ELK收集日志
1
326
役魅肋
2025-11-23
业界
扣子Coze实战:从0到1搭建抖音+小红书对标账号监控智能体
1
217
吕梓美
2025-11-24
安全
时序数据库 IoTDB 集成 SpringBoot Starter,实现时序数据库“零配置”接入
0
834
恙髡
2025-11-26
科技
实战利用LLM辅助小程序逆向与HTTP报文漏洞挖掘
0
554
盒礁泅
2025-11-28
安全
日本股票数据接口集成文档 股票数据源API
0
925
恐肩
2025-12-02
业界
利用desmos动态展示最大似然概率
0
738
翁谌缜
2025-12-06
安全
YII框架的三条经典利用链的探究
0
968
柏球侠
2025-12-07
回复
(3)
习和璧
2025-11-4 23:00:24
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
新版吗?好像是停更了吧。
骆熙华
2025-11-30 00:15:17
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
新版吗?好像是停更了吧。
东门芳洲
2025-11-30 01:42:02
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
科技
代码
安全
签约作者
程序园优秀签约作者
发帖
褐洌
2025-11-30 01:42:02
关注
0
粉丝关注
19
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845356
3934307807
991122
4
xiangqian
638210
5
宋子
9987
6
闰咄阅
9991
7
刎唇
9993
8
俞瑛瑶
9998
9
蓬森莉
9952
10
匝抽
9986
查看更多