我正在研究使用 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”。