233饿13 发表于 2015-12-18 09:26:23

zabbix监控JMS消息队列之Activemq

说明:线上需要,添加了JMS消息队列的功能.针对消息队列,我做了如下的监控:(1)队列中正在处理的数量(Pending messages)(2)出队列总量(Dequeued messages)(3)进队列的数量(Enqueud messages)(4)死信队列的数量(DLQ)这四者的关系:Dequeued messages=Pending messages+Enqueud messages+DLQ

1.配置zabbix客户端,编辑每个acitvemq主机的zabbix_agentd.conf,自定义key值
1
2
3
4
5
6
#Monitor ActiveMQ
UserParameter=activemq.pending,/etc/zabbix/scripts/check_activemq.sh Pending
UserParameter=activemq.consumers,/etc/zabbix/scripts/check_activemq.sh consumers
UserParameter=activemq.enqueued,/etc/zabbix/scripts/check_activemq.sh enqueued
UserParameter=activemq.dequeued,/etc/zabbix/scripts/check_activemq.sh dequeued
UserParameter=activemq.warn_pending,/etc/zabbix/scripts/check_activemq.sh Warn_Pending




2.编辑监控监控check_activemq.sh


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
vicheck_activemq.sh
#!/bin/bash
#
#Description: get activemq data
#
#Var
IP=192.168.0.133
PORT=8161
QUEUENAME=q.virtual.charge
#WARN_Queuename="DLQ.q.virtual.charge"
WARN_Queuename="DLQ.*"
Warn_Pending=`curl -uadmin:admin http://$IP:$PORT/admin/queues.jsp | grep -A 5 "${WARN_Queuename}</a></td>"|awk -F '<' '{print $2}'|sed 's/td>//g'|grep '^'|head -1`
Pending=`curl -uadmin:admin http://$IP:$PORT/admin/queues.jsp | grep -A 5 "${QUEUENAME}</a></td>"|awk -F '<' '{print $2}'|sed 's/td>//g'|grep '^'|head -1`
Consumers=`curl -uadmin:admin http://$IP:$PORT/admin/queues.jsp | grep -A 5 "${QUEUENAME}</a></td>"|awk -F '<' '{print $2}'|sed 's/td>//g'|grep '^'|head -2|tail -1`
Enqueued=`curl -uadmin:admin http://$IP:$PORT/admin/queues.jsp | grep -A 5 "${QUEUENAME}</a></td>"|awk -F '<' '{print $2}'|sed 's/td>//g'|grep '^'|head -3|tail -1`
Dequeued=`curl -uadmin:admin http://$IP:$PORT/admin/queues.jsp | grep -A 5 "${QUEUENAME}</a></td>"|awk -F '<' '{print $2}'|sed 's/td>//g'|grep '^'|head -3|tail -1`
case $1 in
Warn_Pending|Warn_Pending)
echo "$Warn_Pending"
;;
Pending|pending)
echo "$Pending"
;;
Consumers|consumers)
echo $Consumers
;;
Enqueued|enqueued)
echo $Enqueued
;;
Dequeued|dequeued)
echo $Dequeued
;;
*)
echo "Usage: $0 Pending|Consumers|Enqueued|Dequeued|Warn_Pending"
esac




3.重启zabbix客户端

1
2
/etc/init.d/zabbix_agentdstop
/usr/local/zabbix/sbin/zabbix_agentd   -c/usr/local/zabbix/etc/zabbix_agetnd.conf





4.创建zabbix监控JMS--ActiveMQ的模板,(监控项,触发器),或者下载我创建好的模板,见附件

5.监控图如下




saink 发表于 2016-2-1 11:30:55

xj4310960 发表于 2017-3-7 09:58:12

楼主现在不上了吗,我需要和你沟通沟通大神{:6_392:}

dsice123 发表于 2018-3-16 10:58:19

大哥这个模板显示不支持啊
页: [1]
查看完整版本: zabbix监控JMS消息队列之Activemq