如何通过http api获取rabbitmq-shovel的状态

时间:2015-06-01 22:36:01

标签: rabbitmq rabbitmqctl rabbitmq-shovel

使用“rabbitmqctl eval”rabbit_shovel_status:status()。'“我可以在我的rabbitmq服务器中获取铲子状态。

我激活了模块'rabbitmq_shovel'和'rabbitmq_shovel_management'。

我使用HTTP API创建了一些动态铲子,我遇到的问题是,我希望能够使用HTTP API获取铲子的状态,但我找不到这样做的方法。 / p>

有没有办法使用HTTP API执行此操作?或者我应该使用'rabbitmqctl eval ...'?

我不想使用rabbitmqctl,因为我想在我自己的API中公开这些数据,所以我的应用程序应该能够访问它,而不必创建'exec'。

2 个答案:

答案 0 :(得分:5)

是的,您可以使用:

http://localhost:15672/api/shovels

你必须安装: rabbitmq_shovel_management

结果是json,如:

[  
   {  
      "node":"rabbit@gabrieleMacBook",
      "timestamp":"2015-06-02 15:34:27",
      "name":"test",
      "vhost":"/",
      "type":"dynamic",
      "state":"running",
      "definition":{  
         "src-queue":"test",
         "dest-queue":"test2"
      },
      "src_uri":"amqp://xxxxxxx",
      "dest_uri":"amqp://xxxxxxx"
   }
]

答案 1 :(得分:0)

如果你使用 C#,你可以像这样使用 HareDu:

var result = await _services.GetService<IBrokerObjectFactory>()
    .GetAllShovels();

https://github.com/ahives/HareDu2/blob/master/docs/shovel-get.md