如何处理RabbitMQ日志?

8

我们正在运行RabbitMQ,它写入日志文件夹的.log文件变得非常大。

在这种情况下应该做什么,我们可以定期删除它们吗?或者应该对它们进行轮换,然后再删除它们?我找不到任何相关的文档。

4个回答

4

轮换日志基本上是您唯一可以做的事情,您可以使用轮换调度程序来控制它们。

rabbitmqctl rotate_logs

如果您正在寻找与RabbitMQ中的普通日志文件不同的替代方案,Sematext.com提供了一个出色的日志聚合服务,可以存储、过滤和管理您的日志。

3

我已经尝试过了,似乎只能通过 rabbitmqctl rotate_logs .1 来实现,但根据文档,它只在代理重启时进行旋转?只有在服务重新启动时才会发生这种情况,对吗?至少在 Windows 上是这样的。 - Razze
我想我恍然大悟,我需要一个调用 rotate_logs 并移动/删除旧日志的工作。并将该作业安排定期运行? - Razze

2
如果您想定期运行日志轮换,并在日志文件变得过大时归档/删除它们,RabbitMQ默认是无法为您完成此操作的。
如果您使用Linux运行RabbitMQ,则可以使用logrotate实用程序。要安排此作业,您可以使用cron

我想我明白了,我需要一个调用 rabbitmqctl rotate_logs suffix 并移动/删除旧日志的工作,并将该工作安排定期运行? - Razze
@Razze 是的,你可以这样做。 - Alex Buyny

0

在3.7版本之前的rabbitmq旧版中,没有很多选项来轮换日志。 根据您的分布式系统如何使用rabbitmq,您将看到许多几乎无用的信息消息。如果您发现日志文件变得太大,您需要添加一个配置文件来停止这个问题。

如果在3.7版本之前,请执行以下操作:

  1. 停止 RabbitMQ 服务。

  2. 进入 RabbitMQ 安装目录,添加一个名为 rabbitmq.config 的纯文本文件,内容如下:

    [

     {rabbit, [{log_levels,[{connection, error}]}]}
    

    ].

  3. 重新启动 RabbitMQ 服务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接