我正在使用在CloudAMQP上托管的RabbitMQ实例。我正在调用management API来获取详细的队列统计信息。大约每10次调用API就会返回无效数字。
端点为/api/queues/[vhost]/[queue]?msg_rates_age=600&msg_rates_incr=30
。我正在寻找在10分钟的时间内以30秒为增量的平均消息速率。通常会返回我感兴趣的统计数据的有效数据,例如
{
"messages": 16,
"consumers": 30,
"message_stats": {
"ack_details": {
"avg_rate": 441
},
"publish_details": {
"avg_rate": 441
}
}
}
但有时我会得到一个或两个“avg_rate”值的错误结果,通常为714676或更高。如果我等待15秒并再次调用相同的API,则数字会恢复正常。平均超过10分钟无法跳过200的倍数,然后在几秒钟之后回落。
我无法通过本地安装重现问题,仅在队列总是非常繁忙的生产中。管理网页上显示的数据始终显示正确。是否有其他方法可以像UI一样准确地获得相同的统计数据?