集群监控脚本
cat activemq_discovery.sh
#!/bin/bash
discovery() {
MQ_IP=(172.16.8.119 172.16.8.120 172.16.8.118)
for g in ${MQ_IP[@]}
do
curl -uadmin:admin http://${g}:8161/admin/queues.jsp >/dev/null 2>&1
if [ $? -eq 0 ]; then
i=$g
fi
port=($(curl -uadmin:admin http://${i}:8161/admin/queues.jsp 2>/dev/null| grep -A 5 "${QUEUENAME}</a></td>"|awk -F '<' '{print $0}'|sed 's/<\/td>//g'|sed 's/<.*>//g;/^$/d;/--/d'|grep '^[a-Z]'))
done
printf '{\n'
printf '\t"data":[\n'
for key in ${!port[@]}
do
if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then
printf '\t {\n'
printf "\t\t\t\"{#QUEUENAME}\":\"${port[${key}]}\"},\n"
else [[ "${key}" -eq "((${#port[@]}-1))" ]]
printf '\t {\n'
printf "\t\t\t\"{#QUEUENAME}\":\"${port[${key}]}\"}\n"
fi
done
printf '\t ]\n'
printf '}\n'
}
discovery
cat activemq_status.sh
#/bin/sh
QUEUENAME=$1
MQ_COMMAND=$2
MQ_IP=(172.16.8.120 172.16.8.118 172.16.8.119)
for g in ${MQ_IP[@]}
do
curl -uadmin:admin http://${g}:8161/admin/queues.jsp >/dev/null 2>&1
if [ $? -eq 0 ]; then
i=$g
case $MQ_COMMAND in
Enqueued)
curl -uadmin:admin http://${i}:8161/admin/queues.jsp 2>/dev/null| grep -A 5 "${QUEUENAME}</a></td>"|awk -F '<' '{print $2}'|sed 's/td>//g'|grep '^[0-9]'|head -3|tail -1
;;
Dequeued)
curl -uadmin:admin http://${i}:8161/admin/queues.jsp 2>/dev/null| grep -A 5 "${QUEUENAME}</a></td>"|awk -F '<' '{print $2}'|sed 's/td>//g'|grep '^[0-9]'|head -3|tail -1
;;
Pending)
curl -uadmin:admin http://${i}:8161/admin/queues.jsp 2>/dev/null| grep -A 5 "${QUEUENAME}</a></td>"|awk -F '<' '{print $2}'|sed 's/td>//g'|grep '^[0-9]'|head -1
;;
Consumers)
curl -uadmin:admin http://${i}:8161/admin/queues.jsp 2>/dev/null| grep -A 5 "${QUEUENAME}</a></td>"|awk -F '<' '{print $2}'|sed 's/td>//g'|grep '^[0-9]'|head -2|tail -1
;;
esac
fi
done
zabbix_get测试:
zabbix_get -s 172.16.8.119 -k "activemq.status[aaadealWithERPUserInfo,Dequeued]"
模板创建