參考文檔
http://blog.csdn.net/qq_29778131/article/details/52537288?ticket=st-77459-cugnczf1bjbtnuzoze1i-passport.csdn.net #python腳本
一,實作功能
實作自動發現rabbitmq queue,并監控單個隊列消費情況以及叢集情況總體情況:
1,單個隊列 'messages_ready', 'messages_unacknowledged'數量統計
圖形名稱: rabbitmq {#rabbitmqqueue} status
2,單個隊列生産消費速率:'deliv er_get ’, 'publish'
圖形名稱: rabbitmq {#rabbitmqqueue} rate of produce and consum
3,叢集總的速率:’ack', 'deliver', 'deliver_get', 'publish'
圖形名稱: rabbitmq all rate of method
4,叢集所有隊列 'messages_ready', 'messages_unacknowledged' 數量統計
圖形名稱: rabbitmq all queue total messages
5,叢集鏡像隊列同步統計
預設值是1,當有隊列進行同步時候,數量加 1,并觸發報警;
rabbitmq all of queues unsynchronised (default 1)
二,配置流程
1,rabbitmq中增加賬号,并在 auth.sh 檔案中配置賬号密碼;
2,zabbix配置檔案加入
unsafeuserparameters=1
userparameter=discovery.rabbitmq_queues, sh /etc/zabbix/rabbitmq/rabbitmq_main.sh list
userparameter=rabbitmq_queues_stats[], sh /etc/zabbix/rabbitmq/rabbitmq_main.sh queue $1 $2
userparameter=rabbitmq_method_stats[], sh /etc/zabbix/rabbitmq/rabbitmq_main.sh method $1
userparameter=rabbitmq_cluster_sync, sh /etc/zabbix/rabbitmq/rabbitmq_main.sh sync
3,腳本檔案
rabbitmq檔案夾拷貝到 /etc/zabbix/ 目錄下,并配置所有者 zabbix
4, 配置正規表達式
名稱:rabbitmq queues discovery 值:^[0-9]{8} [結果為假]
5,導入模闆
6,zabbix server 測試
zabbix_get -s x.x.x.x -p 10050 -k "discovery.rabbitmq_queues"
三,監控效果截圖