1

我正在使用托管在 CloudAMQP 上的 RabbitMQ 实例。我正在调用管理 API以获取详细的队列统计信息。对 API 的 10 次调用中约有 1 次返回无效数字。

端点是/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 一样准确地获得相同的统计数据?

4

0 回答 0