RabbitMQ HealthCheck 基于“Stuck”队列使用管理 API

问题描述

我正在尝试针对 RabbitMQ 监控 API 编写运行状况检查。我想在队列中至少有一条消息时发出警报,并且在最后一分钟内没有收到 Ack。

我的 api 查询如下所示:http://rmqhost:15672/api/queues/MyVHost/MyQueue?msg_rates_age=60&msg_rates_incr=60

我正在查看 messagesdeliver_get_details.avg_rateack_details.avg_rate 字段,如果消息大于零,并且两个平均速率都为零,然后我提醒队列卡住或表现不佳。

结果在一分钟内的大部分时间都有效,但有时在开始和结束时消息大于零,并且 avg_rates 也为零(导致警报),但我刚刚将消息,或者消息只在那里停留了 30 秒。

是否有更可靠的方法来请求我需要在消息“卡住”至少一分钟后才能正确提醒的指标?

似乎缺乏管理指标 API 的文档,我在猜测哪些字段最适合该任务 (https://rawcdn.githack.com/rabbitmq/rabbitmq-server/v3.8.16/deps/rabbitmq_management/priv/www/api/index.html)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)