写个监控RabbitMQ队列数的函数

11/12/2020 python

本文主要教你利用Python写个监控RabbitMQ队列数的函数

# 前言

近期工作上接手了一个采用RabbitMQ队列数的项目,为了避免队列数过高,需要提前监控每个vhost下面的队列数情况,于是写了一个Python函数。

# RabbitMQ

RabbitMQ是实现了高级消息队列协议的开源消息代理软件。它的Web管理页面默认端口是15672,通过登录管理界面,我们可以查看各个队列的情况,发布的队列数,生产消费的速率。

为此我们利用这个web管理界面的接口,直接请求即可拿到相关数据。

# 代码图

代码图

这里利用了from requests.auth import HTTPBasicAuth进行认证鉴权,然后结合API接口直接请求。

# 说明

该函数需要传入以下参数:

url = 'http://xxx.xx.xx.xx:15672'
username = '用户名'
password = '密码'
vhost = "/test_mq"    这里需要根据实际的vhost填写
1
2
3
4
  • url: RabbitMQ管理界面的URL
  • username: RabbitMQ管理界面的用户名
  • password: RabbitMQ管理界面的密码
  • vhost: 对应你要监控的vhost
  • threshold: 队列数阈值,超过打印出来。

# 邮件推送

通过这个函数,根据自己实际需求修改一下,再利用发邮件函数进行推送,这样就可以达到监控。

# 结束语

如果在使用过程中有任何的问题,可以在评论区留言。


欢迎关注我的公众号testerzhang,原创技术文章第一时间推送。

公众号二维码

Last Updated: 1/1/2022, 11:13:04 PM