有没有办法获得RabbitMQ示例的当前生产者和消费者的详细信息?例如,是否可以获得远程消费者的IP地址等详细信息。我确实查过了文件,但在这方面没有发现任何东西。
eqzww0vc1#
此信息可通过Management Plug-In和HTTP API获得。你不能通过AMQP查询这个信息,因为它是协议的带外信息。如果我没记错的话,你可以通过channels API查看给定通道的发布速率。通过API:
channels
/api/连接
所有打开的连接的列表。
/api/虚拟主机/虚拟主机/连接
特定vhost中所有打开的连接的列表。
/api/连接/名称
单个连接。删除它将关闭该连接。在删除时可以选择设置“X-Reason”标头以提供原因。
/api/连接/名称/通道
给定连接的所有通道的列表。
/API/通道
所有打开通道的列表。
/api/虚拟主机/虚拟主机/通道
特定vhost中所有打开通道的列表。
/api/通道/通道
有关单个通道的详细信息。
/api/使用者
所有使用者的列表。
/api/使用者/vhost
给定虚拟主机中所有使用者的列表。
jtw3ybtb2#
如果我们从头开始,在生产者和消费者中有日志会很好。分布式日志。通过一些著名的框架,如splunk,datadog等,集成日志。然后通过日志,我们可以找出谁是特定队列的消费者和生产者。我想这将是一个很好的设计实践。
2条答案
按热度按时间eqzww0vc1#
此信息可通过Management Plug-In和HTTP API获得。
你不能通过AMQP查询这个信息,因为它是协议的带外信息。如果我没记错的话,你可以通过
channels
API查看给定通道的发布速率。通过API:
/api/连接
所有打开的连接的列表。
/api/虚拟主机/虚拟主机/连接
特定vhost中所有打开的连接的列表。
/api/连接/名称
单个连接。删除它将关闭该连接。在删除时可以选择设置“X-Reason”标头以提供原因。
/api/连接/名称/通道
给定连接的所有通道的列表。
/API/通道
所有打开通道的列表。
/api/虚拟主机/虚拟主机/通道
特定vhost中所有打开通道的列表。
/api/通道/通道
有关单个通道的详细信息。
/api/使用者
所有使用者的列表。
/api/使用者/vhost
给定虚拟主机中所有使用者的列表。
jtw3ybtb2#
如果我们从头开始,在生产者和消费者中有日志会很好。分布式日志。通过一些著名的框架,如splunk,datadog等,集成日志。然后通过日志,我们可以找出谁是特定队列的消费者和生产者。我想这将是一个很好的设计实践。