如何使用 C# 应用程序检查 Rabbit MQ 节点的运行状态

问题描述

我正在尝试构建一个应用程序,该应用程序将使用 C# .Net 技术检查和监控 Rabbit MQ 节点的运行状态。在互联网上找到一些参考资料后,我开始着手研究,但遇到了一些问题。

兔子 MQ 网址:http://rabbitmq-vip.testlocal.com:15672/#/

用户 ID:rmq-admin

密码:dev12rabbit

主机:10.2.39.21

我正在使用以下代码访问网址

ConnectionFactory factory = new ConnectionFactory();
string ur = "amqp://rmq-admin:dev12rabbit@rabbitmq-vip.testlocal.com:15672/#/";
Uri myUri = new Uri(ur,UriKind.Absolute);
factory.Uri = myUri;
IConnection conn = null;
try
{
    conn = factory.CreateConnection();
    conn.Close();
    conn.dispose();
}
catch (Exception ex)
{
                
}

我收到异常,因为“没有可访问指定的端点”。但是这个网址可以在浏览器上使用。

我还尝试检查节点的状态:rabbit@GASDSRMQ01,如下图所示。这里可能有什么问题

enter image description here

解决方法

Ehsan 的评论为您提供了解决问题的关键。 RabbitMQ Web 管理器使用 http 协议,而不是 amqp。因此,您应该更改此行

string ur = "amqp://rmq-admin:dev12rabbit@rabbitmq-vip.testlocal.com:15672/#/";

为此

string ur = "http://rmq-admin:dev12rabbit@rabbitmq-vip.testlocal.com:15672/#/";