有人知道如何使用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
谢谢, 阿努拉格
答案 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",
}