MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

zabbix4.0基于Rabbitmq网页API获取队列信息

2024-12-02 19:31 huorong 精选文章 9 ℃ 0 评论

概述

今天主要介绍怎么用zabbix去实现消息队列的监控,重点在于:

  • 1、消息队列的入队列
  • 2、消息队列的出队列
  • 3、未读队列,堆积的队列




一、监控原理

1、rabbitmq监控网页提供api接口

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

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

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

json结果重要项如下

  • name: 队列名字
  • consumers:消费者数量
  • durable:是否持久化
  • messages_ready:堆积的消息数,监控的重点
  • message_stats deliver_get:已处理的消息数,监控的重点



二、Python获取队列信息(rabbitmqmonitor.py)

# -*- 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)

分别输出:name\messages_ready\deliver_get信息

到这里我们就可以获取到我们需要的信息了。


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~


Tags:rabbitmq queue

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言