近期接触了rabbitmq,关于rabbitmq的讲解请移步https://blog.csdn.net/qq_24601199/article/details/100730373
1、rabbitmq_queues监控
编写shell脚本
sudo vim rabbitmq.sh
#!/bin/bash
#Author:hobby
sudo rabbitmqctl list_queues -p / |sed 1d|sed -n '/'$1'/p' |awk -F " " '{print $2}'
自定义键
sudo vim rabbit_queue.conf
UserParameter=android, sudo /usr/local/zabbix/script/rabbitmq.sh android
UserParameter=box, sudo /usr/local/zabbix/script/rabbitmq.sh box
UserParameter=dingding, sudo /usr/local/zabbix/script/rabbitmq.sh dingding
UserParameter=ios, sudo /usr/local/zabbix/script/rabbitmq.sh ios
UserParameter=mail, sudo /usr/local/zabbix/script/rabbitmq.sh mail
UserParameter=sms, sudo /usr/local/zabbix/script/rabbitmq.sh sms
UserParameter=wechat, sudo /usr/local/zabbix/script/rabbitmq.sh wechat
2、rabbitmq_status集群状态监控
需求:查看disc的node数量和running的node数量是否一致
编写sh脚本
#!/bin/bash
#Author:hobby
cluster_status=`sudo rabbitmqctl cluster_status`
discnum1=${cluster_status##*disc,[}
discnum2=${discnum1%%]*}
discnum=`echo $discnum2 |grep -o @ |wc -l`
# echo $discnum
runnum1=${cluster_status##*running_nodes,[}
runnum2=${runnum1%%]*}
runnum=`echo $runnum2 |grep -o @ | wc -l`
# echo $runnum
if [ $discnum -ne $runnum ];then
echo 0
elif [ $discnum -eq $runnum ];then
echo 1
fi
自定义键值
sudo vim rabbitmq-cluster_status.conf
UserParameter=rabbitmq-cluster_status, sudo sh /usr/local/zabbix/etc/zabbix_agentd.conf.d/rabbitmq-cluster_status.sh
重启zabbix-agent
sudo systemctl restart zabbix_agentd
通过zabbix_get测试
zabbix_get -s 172.18.0.16 -p 10050 -k rabbitmq-cluster_status