github下載開源腳本:https://github.com/jasonmcintosh/rabbitmq-zabbix
運行環境:python2.6.6
腳本分析:
rabbitmq-zabbix/scripts/rabbitmq/ 下有這些文件
api.py --python腳本,利用rabbitmq的web api,獲取監控的相關數據
list_rabbit_nodes.sh --shell腳本,將參數傳給api,獲取節點數據
list_rabbit_queues.sh --shell腳本,將參數傳給api,獲取隊列數據
list_rabbit_shovels.sh
rabbitmq-status.sh --shell腳本,將參數傳給api,獲取狀態數據
..rab.auth --參數設置,設置登陸rabbitmq的相關參數
需要更改的api.py,將rabbimq的登陸信息寫死:
api = RabbitMQAPI(user_name = 'admin', password = 'aedkckslafadsfasdfasdfasddadf9989g', host_name = '119.*.*.*',
port = 15672, conf = '/etc/zabbix/zabbix_agentd.conf', senderhostname = None, protocol = 'http')
將zabbix-rabbitmq.conf放在/etc/zabbix/zabbix_agentd.d中,監控的項目如下
UserParameter=rabbitmq.discovery_queues,/usr/local/sbin/list_rabbit_queues.sh
UserParameter=rabbitmq.discovery_shovels,/usr/local/sbin/list_rabbit_shovels.sh
UserParameter=rabbitmq.discovery_nodes,/usr/local/sbin/list_rabbit_nodes.sh
UserParameter=rabbitmq[*],/usr/local/sbin/rabbitmq-status.sh $1 $2 $3
最后將rabbitmq.template.xml導入zabbix的模板中
