You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Jolokia获取ActiveMQ Artemis的OpenWire连接数?

监控ActiveMQ Artemis中OpenWire客户端数量(Jolokia方式)

ActiveMQ Artemis的MBean结构与Classic不同,没有直接提供汇总的OpenWire连接数指标,但可以通过Jolokia查询连接MBean并按协议过滤来统计数量,具体操作如下:

1. 确认Jolokia已启用

检查broker配置文件(broker.xml)中是否开启了Jolokia,默认配置通常已启用,关键配置段如下:

<management-bindings>
  <http-connector name="http-connector" socket-binding="http">
    <param key="jolokia-enabled" value="true"/>
  </http-connector>
</management-bindings>

Jolokia默认访问地址为http://<broker-host>:8161/jolokia,与控制台端口一致。

2. 查询并统计OpenWire连接

方式一:批量读取连接协议属性

通过POST请求批量获取所有连接的protocol属性,再统计值为OPENWIRE的条目数:

curl -X POST "http://<broker-host>:8161/jolokia" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "read",
    "mbean": "org.apache.activemq.artemis:type=Connection,name=*",
    "attribute": "protocol",
    "ignoreErrors": true
  }'

返回的JSON结果中,value字段是键值对集合(键为连接MBean名称,值为协议类型),统计其中值为OPENWIRE的条目数即可得到客户端数量。

方式二:先搜索连接MBean再逐个查询

先搜索所有连接相关的MBean:

curl -X GET "http://<broker-host>:8161/jolokia/search/org.apache.activemq.artemis:type=Connection,name=*"

返回的value数组包含所有连接的MBean对象名,之后可对每个对象名单独查询protocol属性,再筛选统计。

3. 集成到监控系统(可选)

若要将指标集成到Prometheus、Grafana等系统,可通过jmx_exporter配置规则,将连接协议作为标签,再用计数函数统计:

rules:
- pattern: "org.apache.activemq.artemis:type=Connection,name=.*,protocol=(.*)"
  name: activemq_artemis_connections_total
  labels:
    protocol: "$1"

之后即可用activemq_artemis_connections_total{protocol="OPENWIRE"}直接获取OpenWire客户端数量。

内容的提问来源于stack exchange,提问作者TomTichy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 00:05:00