Posted at

logstashのログが/var/log/messagesにも出力されてしまうのを抑止する


logstashをインストールして、起動すると/var/log/logstash/logstash-plain.logに出力される内容が、/var/log/messagesにも出力されてしまう。これを抑止する一つの方法として、systemctlで使うサービスファイルを編集する。StandardOutputとStandardErrorをそれぞれnullに設定する。行がなければ追加する。


 これはlogstashの標準出力やエラー出力をjournaldが全て横取りして、/var/log/messagesに書いてしまう事が原因と考えられる。


/etc/rsyslogd.confは特に変更する必要はない。


/etc/systemd/system/logstash.service

[Unit]

Description=logstash

[Service]
Type=simple
User=logstash
Group=logstash
# Load env vars from /etc/default/ and /etc/sysconfig/ if they exist.
# Prefixing the path with '-' makes it try to load, but if the file doesn't
# exist, it continues onward.
EnvironmentFile=-/etc/default/logstash
EnvironmentFile=-/etc/sysconfig/logstash
ExecStart=/usr/share/logstash/bin/logstash "--path.settings" "/etc/logstash"
Restart=always
WorkingDirectory=/
Nice=19
LimitNOFILE=16384
StandardOutput=null
StandardError=null

[Install]
WantedBy=multi-user.target