获取RabbitMQ消息速率

时间:2017-11-30 10:13:53

标签: c# rabbitmq

我正在尝试连接到现有的兔子mq并获得它的费率(或它的汇率)。我需要自己计算费率还是有更简单的方法。

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以启用RabbitMQ发行版中包含的management plugin

rabbitmq-plugins enable rabbitmq_management

然后,您可以在http://server-name:15672/访问Web UI,在那里您可以找到消息速率以及其他有用信息,例如已建立的队列/交换,活动,虚拟主机等。

此数据也可通过{API} http://server-name:15672/api/处的REST API获取。在插件激活时启用了使用默认访客用户的基本身份验证(应该更改用户)。

例如,要获取已建立的交换列表及其入站/出站消息速率,按出站费率降序排序,您可以发出以下GET请求:

http://USER:PASS@SERVER:15672/api/exchanges/VHOST?sort=message_stats.publish_out_details.rate&sort_reverse=true&columns=name,message_stats.publish_in_details.rate,message_stats.publish_out_details.rate

以下列格式返回数据:

[
  {
    "message_stats": {
      "publish_in_details": {
        "rate": 1.4
      },
      "publish_out_details": {
        "rate": 5
      }
    },
    "name": "some.exchange"
  },
  ...
]

您还可以获取特定时间范围的平均值。例如,这个: http://USER:PASS@SERVER:15672/api/exchanges/VHOST?msg_rates_age=3600&msg_rates_incr=60 将返回队列消息率的最后一小时数据,每分钟都有一个样本(message_stats属性将以平均值扩展)。

有关message_stats_details

的更多信息,请查看this

答案 1 :(得分:0)

我用这种方式:

curl -i -u user:pass 'http://server_ip:server_port/api/queues?sort=message_stats.publish_details.rate&sort_reverse=true&columns=name,message_stats.publish_details.rate,message_stats.deliver_get_details.rate,messages,messages_ready,memory,state'