如何使用Rabbitmq HTTP调用获取Rabbitmq联合链接状态

时间:2018-11-09 23:34:47

标签: rabbitmq integration middleware rabbitmq-shovel rabbitmq-federation

有人知道如何使用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 api。这是否意味着Rabbitmq在API中不具有此功能?如果有,请有人帮忙吗?

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

正在使用的rabbitMQ版本:3.6.8

谢谢, 阿努拉格

2 个答案:

答案 0 :(得分:1)

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

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


注意: RabbitMQ团队监视the rabbitmq-users mailing list,并且有时仅在StackOverflow上回答问题。

答案 1 :(得分: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", }