如何禁用 syslog 消息发送到 /var/log/syslog

如何禁用 syslog 消息发送到 /var/log/syslog

我正在研究使用 ELK 堆栈和 Kafka 的集中式日志记录解决方案。

我在所有机器上运行 Ubuntu Xenial,并使用 Rsyslog 和 omkafka 将所有日志消息写入 kafka 主题。管道如下:

+-----------+      +-----------+      +--------------+        +-------------------+
|           |      |           |      |              |        |                   |
|  Rsyslog  +------>   Kafka   +------>   Logstash   +-------->   Elasticsearch   |
| (omkafka) |      |           |      |              |        |                   |
|           |      +-----------+      +--------------+        +-------------------+
+-----------+

由于我现在已经实施了这个解决方案,因此我提高了大多数日志的详细程度,以便获得最大数量的信息。

然而,这暴露了一个很大的痛点:/var/log/syslog 的增长速度快到每日 logrotate 无法工作,磁盘在大约 4 小时内就满了。由于我并不需要文件内容,所以我考虑完全禁用对该文件的日志记录。我一直在搜索 Rsyslog 文档,但找不到任何相关信息。

在这种情况下我该如何禁用文件日志记录?

我想要避免的另一种选择是将 logrotate 频率提高到每小时一次。

谢谢

答案1

可能您需要做的就是注释掉 /etc/rsyslog.conf 中的以下行(或类似行):

syslog.*                    /var/log/syslog

或者将其降低到更严格的级别,例如警告或错误:

syslog.err                 /var/log/syslog

有关优先级关键字的完整列表,请参阅“man rsyslog.conf”。

相关内容