zabbix4.0基於Rabbitmq網頁API獲取隊列信息

概述

今天主要介紹怎麼用zabbix去實現消息隊列的監控,重點在於:

  • 1、消息隊列的入隊列
  • 2、消息隊列的出隊列
  • 3、未讀隊列,堆積的隊列


zabbix4.0基於Rabbitmq網頁API獲取隊列信息



一、監控原理

1、rabbitmq監控網頁提供api接口

接口文檔:http://localhost:15672/api/index.html

curl -s -u hwb:xxx http://127.0.0.1:15672/api/queues

zabbix4.0基於Rabbitmq網頁API獲取隊列信息

在線json格式化(http://www.bejson.com/)如下:

zabbix4.0基於Rabbitmq網頁API獲取隊列信息

json結果重要項如下

  • name: 隊列名字
  • consumers:消費者數量
  • durable:是否持久化
  • messages_ready:堆積的消息數,監控的重點
  • message_stats deliver_get:已處理的消息數,監控的重點



二、Python獲取隊列信息(rabbitmqmonitor.py)

<code># -*- coding: utf-8 -*-
try:
import json
except:
import simplejson as json
import commands

(status, output) = commands.getstatusoutput("""curl -s -u hwb:xxx http://127.0.0.1:15672/api/queues""")
outputjson = json.loads(output)
for one in outputjson:
print(one['name'])
print(one['messages_ready'])
if(one.has_key('message_stats')):
if(one['message_stats'].has_key('deliver_get')):
print(one['message_stats']['deliver_get'])
continue
print(0)/<code>

分別輸出:name\\messages_ready\\deliver_get信息

zabbix4.0基於Rabbitmq網頁API獲取隊列信息

到這裡我們就可以獲取到我們需要的信息了。


覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~


zabbix4.0基於Rabbitmq網頁API獲取隊列信息


分享到:


相關文章: