Apache ActiveMQ是一个基于JMX规范的纯Java消息中间件,它为应用系统提供高效、灵活的消息同步与异步传输处理、存储转发、可靠传输的特性。
消息队列对于应用的健康运行非常重要,作为运维人员,我们需要时刻注意:
消息队列的长度,以便确认是否存在大量堆积消息;
消息生产与消费的速率,以便确认业务的吞吐量与波动趋势;
消息队列本身的运行健康指标,以避免由于消息无法传递大范围的影响应用;
使用优云Monitor,通过简单操作,即可实现ActiveMQ监控。下面,我们演示部署的过程与监控的成果。
部署
优云Monitor通过Agent,采用web控制台或者JMX的方式进行ActiveMQ监控。
本文以CentOS 7上的ActiveMQ为例。采用web控制台的方式进行监控。
下面,将逐步骤说明配置过程:
步骤一:安装代理
通过优云Monitor的部署指令,即可快速完成代理的部署:
进入 部署 界面
步骤二:配置插件
由于ActiveMQ的监控需要用户名与密码,我们必须修改代理的配置,提供监控连接信息:
# 通过ActiveMQ的web控制台获取相关指标cd /etc/monitor-agent/conf.d/
cp activemq_xml.yaml.example activemq_xml.yaml# 修改配置连接activemq web consolevi activemq_xml.yaml
文件修改如下:
init_config:
instances:
- url: http://127.0.0.1:8161
# the url will probably be something like http://
username: ********
password: *************
步骤三:重启代理,并确认数据采集结果
[root@localhost ~]$ service datamonitor-agent restart
[root@localhost ~]$ service datamonitor-agent info
activemq_xml
------------ - instance #0 [OK] - Collected 118 metrics, 0 events & 2 service checks# 上述表示已经采集到118个指标,说明采集正确
监控
在部署完成后,我们即可在优云平台上查看ActiveMQ的详细指标,以帮助我们快速、准确定位问题。
操作系统方面指标
优云Monitor采集代理默认周期采集系统的cpu,内存,磁盘等指标, 用以辅助分析相关应用运行情况
由上述图片可知,该系统已超负荷运行,可能是由于运行了太多的应用程序。
消息队列方面指标
通过优云Monitor可以清晰观察ActiveMQ队列的消息消费者、生产者等变化信息,以便分析相关服务上线、离线时间
通过观察ActiveMQ队列的入队、出队以及队列未被消费的消息数量,可以分析出相关服务是否正常以及队列消费能力是否存在瓶颈
由上述图片可知,该队列的消费者已全部下线。
消息主题方面指标
通过优云Monitor可以持续追踪ActiveMQ主题的发布、订阅等信息,以便分析对应服务上线、离线时间
通过观察ActiveMQ主题的入队、出队以及队列未被消费的消息数量,可以分析出相关服务是否正常以及对应服务是否存在瓶颈
上述文章介绍的方式为通过ActiveMQ的web控制台采集相应的指标。当然,我们也能通过JMX的方式监控,以获取更多详细的指标。