如何停止logstash将logstash日志写入系统日志?

问题描述 投票:0回答:1

我在ubuntu服务器中使用了logstash配置,该服务器从postgres数据库中读取数据,并将数据发送到弹性搜索。我已经在每15分钟配置了一个时间表,logstash将查找postgres表,如果表中有任何更改,它将把数据发送到弹性搜索。

但是每次logstash还将日志发送到我不需要的syslog。由于logstash,我的系统日志文件占用更多内存。

所以如何停止logstash以将其日志发送到syslog。 logstash.yml中是否有任何配置,以避免将日志发送到syslog。

我在网上提到了许多站点,他们说要从配置中删除以下行。

stdout {编解码器=> ruby​​debug}

但是我没有此行。

在我的输出中,我只是将数据发送到从AWS带来的弹性搜索。

有没有一种方法可以停止logstash将其日志发送到syslog?

elasticsearch logstash syslog logstash-jdbc
1个回答
0
投票
禁用log4j中的rootLogger.appendRef.console

logstash本身生成的日志文件是通过log4j创建的,默认情况下,一个流进入控制台。 Syslog会将控制台日志写入syslog文件本身。在Ubuntu的logstash版本中,此配置是在文件名/etc/logstash/log4j2.properties

中进行配置的在默认配置中,有一行以]开头>

rootLogger.appenderRef.console

如果在行的前面添加#,然后重新启动logstash。 logstash创建的日志文件将停止进入syslog

service logstash restart

使用RollingFileAppender的另一个rootLogger仍应将logstash本身的logmessage写入(因此,您的管道所处理的消息不应如此)>]

/var/log/logstash/logstash-plain.log

容易将logstash创建的日志文件与您处理的消息混淆,尤其是当它们被logstash-output-stdoutlogstash-output-syslog插件混合时。这不适用于您,因为您使用的是写入Elasticsearch的logstash-output-elasticsearch插件。

如果在Ubuntu中从命令行运行logstash,则会跳过[log4j.properties文件。这是在终端中测试管道的好方法,您可以并行运行多个logstash实例(例如,服务和命令行测试管道)

/usr/share/logstash/bin/logstash -f your_pipeline.conf

© www.soinside.com 2019 - 2024. All rights reserved.