RabbitMq sasl 日志中的关闭错误

Posted

技术标签:

【中文标题】RabbitMq sasl 日志中的关闭错误【英文标题】:Shutdown Error in RabbitMq sasl Log 【发布时间】:2016-11-08 15:55:47 【问题描述】:

我们在 Windows Server 2008 上运行带有 Erlang 17.4 的 RabbitMq 3.6.2。 我们在 sasl 日志中一遍又一遍地看到以下记录。它偶尔发生(每隔几个小时),没有特定的模式。

=SUPERVISOR REPORT==== 05-Jul-2016::09:52:42 === 
    Supervisor: <0.835.211>,amqp_channel_sup_sup 
    Context: shutdown_error 
    Reason: shutdown 
    Offender: [ nb_children,1,
                name,channel_sup, 
                mfargs, 
                    amqp_channel_sup,start_link, 
                        [direct,<0.864.211>, <<"">>],
                restart_type,temporary, 
                shutdown,brutal_kill, 
                child_type,supervisor]

我读到here 可能与通过管理插件中的 HTTP API 进行的活力测试有关。我们还使用负载均衡器的活跃度测试来定义哪些节点应该接收流量。

对于理解日志的实际含义以及我们如何防止它(如果需要)的任何帮助,我们将不胜感激。我也在 Server Fault 上发布了这个问题 here。

【问题讨论】:

【参考方案1】:

我不知道你对 Erlang/OTP 了解多少,但是:

Context: shutdown_error 表明在进程的关闭过程中出现了问题(例如抛出异常)

Reason: shutdown 表示此进程正常结束,并尝试在崩溃前正常关闭

Offender 是具有 shutdown_error 的子(启动)规范,它位于 Supervisor 指定的主管之下。

结合你提到的活力测试。我的第一个猜测是,活力测试代码以某种方式为 RabbitMQ 集群创建了一些 amqp 通道,但未能正常关闭。在rabbitmq-management 代码中进行了一些挖掘,但还没有找到任何东西。

此外,这似乎是一个相当老的问题,不确定它是否仍然会影响您或其他人。

【讨论】:

它也影响了我。在我的 rabbitmq 集群上,我几乎每小时都会收到这个错误。 阅读以下链接,“是的,这就是罪魁祸首。它只是直接关闭 TCP 套接字,导致这些警告被发送到日志中。我知道他们说错误,但你可以放心地忽略它们。”这听起来像是一个可以忽略的错误。 rabbitmq.1065348.n5.nabble.com/…

以上是关于RabbitMq sasl 日志中的关闭错误的主要内容,如果未能解决你的问题,请参考以下文章

3.EZMM工程(常用shell命令,及需要用到的基本依赖库)

Smack 4.1 SASL 身份验证错误

RabbitMQ

Mac OS 更新后 Rabbitmq 无法找到 erl

postgres 与 node.js 连接中的 SASL 错误

RabbitMQ第六课 例子说明