登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
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
监控
相关帖子
利用desmos动态展示最大似然概率
YII框架的三条经典利用链的探究
Flask集成MCP的AI Agent
集成微软GraphRAG、蚂蚁KAG等主流框架,
利用Apipost AI自动生成接口测试用例并批量执行
微信支付集成_JSAPI
Categraf 监控采集器常见问题汇总
监听小工具-股票监控神奇九转分钟线信号触发提醒工具V2.0
Aspire 与 Azure Functions 深度集成:架构范式、工程实践与运维
监控指标与容量预警——延迟、命中率、慢查询与内存碎片的解读方法
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
利用desmos动态展示最大似然概率
3
761
翁谌缜
2025-12-06
安全
YII框架的三条经典利用链的探究
0
980
柏球侠
2025-12-07
业界
Flask集成MCP的AI Agent
1
469
孔季雅
2025-12-09
安全
集成微软GraphRAG、蚂蚁KAG等主流框架,
0
102
步雪卉
2025-12-12
业界
利用Apipost AI自动生成接口测试用例并批量执行
0
738
椎蕊
2025-12-12
业界
微信支付集成_JSAPI
0
971
计海龄
2025-12-14
业界
Categraf 监控采集器常见问题汇总
1
679
骆贵
2025-12-15
业界
监听小工具-股票监控神奇九转分钟线信号触发提醒工具V2.0
2
362
懵崭
2025-12-17
业界
Aspire 与 Azure Functions 深度集成:架构范式、工程实践与运维
1
794
愿隙
2025-12-20
业界
监控指标与容量预警——延迟、命中率、慢查询与内存碎片的解读方法
0
763
澹台忆然
2025-12-21
回复
(3)
习和璧
2025-11-4 23:00:24
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
新版吗?好像是停更了吧。
骆熙华
2025-11-30 00:15:17
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
新版吗?好像是停更了吧。
东门芳洲
2025-11-30 01:42:02
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
褐洌
2025-11-30 01:42:02
关注
0
粉丝关注
19
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845358
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9981
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9950
查看更多
今日好文热榜
594
《痞子衡嵌入式半月刊》 第 120 期
622
go项目使用go build 与 MakeFile 构建项目
762
监控指标与容量预警——延迟、命中率、慢查
673
2026 年别墅防水服务商 TOP5 推荐:高端住
963
MAUI库推荐二:MPowerKit
962
.NET10 New feature 新增功能介绍-JIT编译
404
报考陪诊师选守嘉陪诊的理由
272
C#AI系列(7):从零开始LLM之Tokenizer实现
284
C#AI系列(7):从零开始LLM之Tokenizer实现
826
Pytest 测试用例自动生成:接口自动化进阶
848
一天一个Python库:NumPy - 科学计算的基石
14
FFmpeg 内存输入&输出
745
一文读懂RAG架构如何助力AI
500
一文读懂RAG架构如何助力AI
549
ROS2之TF介绍
400
SW 随笔 001 — InlineArray 带你飞(Since
693
当遇见 CatchAdmin V5-模块化设计重新定义
495
【有手就行】SWIFT:花20分钟把大模型的名
562
论文速读记录 | 2025.12(2)
376
浮点数的本质:为什么计算机无法精确表示0.