登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
利用 OpenTelemetry 集成 JMX 监控
利用 OpenTelemetry 集成 JMX 监控
[ 复制链接 ]
褐洌
5 天前
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
监控
相关帖子
利用Sentinel-2监测北京奥林匹克森林公园2024年NDVI变化
利用排列组合法实现TOPN路径计算
利用Sentinel-2监测北京奥林匹克森林公园2024年NDVI变化(附Python版)
ASP.NET Core WebApi 集成 MCP 协议完全指南
夜莺监控设计思考(三)时序库、agent 的一些设计考量
童明汉/蓝斐/汤富酬合作利用ChIP-seq及多组学分析
洛谷 P11104 [ROI 2023] 监控 (Day 1) 题解
Launcher 卡片框架多模块集成
[linux]记账工具-监控用户活动
[linux]记账工具-监控用户活动
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
代码
利用Sentinel-2监测北京奥林匹克森林公园2024年NDVI变化
1
368
跟尴
2025-10-21
安全
利用排列组合法实现TOPN路径计算
0
1023
镝赋洧
2025-10-23
代码
利用Sentinel-2监测北京奥林匹克森林公园2024年NDVI变化(附Python版)
0
101
聊账
2025-10-25
业界
ASP.NET Core WebApi 集成 MCP 协议完全指南
1
467
坠矜
2025-10-28
业界
夜莺监控设计思考(三)时序库、agent 的一些设计考量
0
197
都硎唷
2025-10-28
安全
童明汉/蓝斐/汤富酬合作利用ChIP-seq及多组学分析
0
145
供挂
2025-10-29
业界
洛谷 P11104 [ROI 2023] 监控 (Day 1) 题解
0
338
醋辛
2025-10-29
安全
Launcher 卡片框架多模块集成
0
5
茅香馨
2025-10-30
安全
[linux]记账工具-监控用户活动
0
383
龙骋唧
2025-11-04
安全
[linux]记账工具-监控用户活动
0
961
刎唇
2025-11-04
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
褐洌
5 天前
关注
0
粉丝关注
19
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
dage888
999994
3934307807
992122
4
xiangqian
641213
5
刎唇
9993
6
荡俊屯
9948
7
匝抽
9986
8
二艰糖
9970
9
富账慕
9941
10
宓碧莹
9988
查看更多