0

有人知道如何使用 RabbitMQ 的 HTTP API 获取联合链接的状态吗?我可以通过以下示例获取上游联合的定义,但找不到获取其状态的方法。

呼叫 - http://[hostname]:15672/api/parameters/federation-upstream返回我

[{"value":{"uri":["amqp://USER:PASSWORD@HOSTNAME:4003/VHOST"],"trust-user-id":false,"exchange":"anurag.fed"}, "vhost":"VHOST","component":"federation-upstream","name":"upstream-fed"}]

官方文档说,可以通过rabbitmqctl或者GUI来监控链接状态,但是没有在任何地方提到HTTP apis。这是否意味着rabbitmq在API中没有这个能力?如果有人可以帮忙吗?

https://www.rabbitmq.com/federation-reference.html “您可以使用 rabbitmqctl 和管理插件监控联合链接的状态。”

正在使用的 RabbitMQ 版本:3.6.8

谢谢,阿努拉格

4

2 回答 2

1

RabbitMQ 管理 UI 使用 REST 调用来获取数据,您可以跟踪这些调用:

启用rabbitmq_federation_management插件。通过 Web UI,浏览到显示您正在查找的状态的页面。然后,在 Web 浏览器中打开开发人员工具以跟踪网络请求和响应。您将看到对各种 REST 资源的请求/api——其中之一就是您可以在应用程序中使用的资源。


注意: RabbitMQ 团队会监控邮件列表rabbitmq-users有时只会在 StackOverflow 上回答问题。

于 2018-11-10T13:42:07.373 回答
0

您可以调用http://[hostname]:15672/api/federation-links它将检索包含状态字段的 json,如下所示: [ { "node": "rabbit@hostname", "exchange": "exchange_name", "upstream_exchange": "exchange_name", "type": "exchange", "vhost": "/", "upstream": "upstream_name", "id": "blablabla", "status": "running", "local_connection": "<rabbit@hostname9>", "uri": "amqp://hostname:5672/%2f", "timestamp": "2019-03-15 13:57:57", }

于 2019-03-15T14:08:50.447 回答