我正在与一个令人讨厌的rabbitmq相关的问题进行斗争,当时我的系统的一部分正在发布消息,但我希望有时会消耗该消息的过程(比如一百条中的一条消息,更频繁的是整个系统负载很重)无法接收消息。据我所知,消息是进入交易所但它没有出来。我的直觉是,这与我的主题绑定或某事的竞争条件有关,但我基本上没有工具来检查rabbitmq的内部状态。
我的梦想工具是我可以基本上tail -f
交换日志并查看该交换的所有操作(创建,绑定,解除绑定,发布)。这可能有助于我确切地看到兔子正在看到什么,以及为什么我的消息偶尔也无法传递到队列中我也期待它们。
这样的事情存在吗?我玩过rabbitmqadmin插件,但它似乎比这更高级别。我看过兔子内置的日志,但它似乎只是跟踪客户端连接。是否有配置文件选项来提高该日志的详细程度?或者其他一些我正在寻找的日志文件?显然,这种冗长程度会破坏生产集群,但我可以在开发过程中真正使用它。我还考虑编写一个单独的日志记录过程来订阅主题交换上的#
,但由于我关注的部分是绑定/解除绑定的时间,因此这将是一个非常粗略的解决方案。