如何使用JMX Exporter从Hazelcast JMX MBeans获取指标
使用JMX Exporter采集Hazelcast JMX指标的步骤
1. 获取JMX Exporter工具
下载稳定版的jmx_prometheus_javaagent.jar,将其放到Hazelcast节点可访问的目录下。
2. 编写采集配置文件
创建YAML配置文件(比如hazelcast_jmx_config.yaml),定义Hazelcast JMX MBeans的采集规则。以下是覆盖常见指标的示例配置:
lowercaseOutputName: true lowercaseOutputLabelNames: true rules: # 集群核心指标 - pattern: 'com.hazelcast<type=Cluster>(\.name=)?<>(ClusterSize|MemberCount|PartitionCount)' name: hazelcast_cluster_$2 labels: cluster: $1 # 节点资源指标 - pattern: 'com.hazelcast<instance=([^,]+),type=Node>(\.name=)?<>(HeapMemoryUsed|HeapMemoryMax|Uptime)' name: hazelcast_node_$3 labels: instance: $1 node: $2 # 分区健康指标 - pattern: 'com.hazelcast<instance=([^,]+),type=PartitionService>(\.name=)?<>(PartitionCount|ActivePartitionCount|HealthyPartitionCount)' name: hazelcast_partition_$3 labels: instance: $1 # 客户端连接指标 - pattern: 'com.hazelcast<instance=([^,]+),type=ClientService>(\.name=)?<>(ConnectedClientCount)' name: hazelcast_client_connected_count labels: instance: $1
可根据需求调整规则,比如新增MBean匹配项或自定义标签。
3. 启动Hazelcast并挂载JMX Exporter
修改Hazelcast启动命令,添加-javaagent参数指定JMX Exporter的jar路径和配置文件路径:
java -javaagent:/path/to/jmx_prometheus_javaagent.jar=9102:/path/to/hazelcast_jmx_config.yaml -jar hazelcast.jar
其中9102是JMX Exporter暴露指标的端口,可自行修改;如果使用自定义启动脚本,将该参数加入JVM启动参数列表即可。
4. 验证采集结果
启动节点后,访问http://<节点IP>:9102/metrics,检查页面中是否存在hazelcast_前缀的指标,确认采集成功。
注意事项
- Hazelcast的JMX MBean命名规则可能随版本微调,需根据实际部署版本调整配置中的匹配模式。
- 集群内每个Hazelcast节点都需要单独挂载JMX Exporter,确保全节点指标覆盖。
- 可通过配置文件的
whitelistObjectNames或blacklistObjectNames过滤冗余指标,优化采集内容。
内容的提问来源于stack exchange,提问作者Nirzak
相关产品推荐
相关产品推荐

