ログ集約
rsyslog/syslog で設定する
受信側
sudo -E cp /etc/rsyslog.conf{,.bak} sudo systemctl restart rsyslog sudo -E vim /etc/rsyslog.conf
18行目付近を、有効にする。TCP 514 ( または UDP 514 )
--- /etc/rsyslog.conf.bak 2022-08-29 08:13:05.132978351 +0900 +++ /etc/rsyslog.conf 2022-08-29 08:13:16.340874261 +0900 @@ -18,8 +18,8 @@ #input(type="imudp" port="514") # provides TCP syslog reception -#module(load="imtcp") -#input(type="imtcp" port="514") +module(load="imtcp") +input(type="imtcp" port="514")
送信側
conf.d が使えるのを確認
$ sudo -E cat /etc/rsyslog.conf | grep rsyslog.d # Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf
ファイルを作る
sudo -E touch /etc/rsyslog.d/remote.conf sudo -E vim /etc/rsyslog.d/remote.conf
転送先を記入( TCPは@@ip_or_host:514
, UDPなら@ip_or_host:514
)
*.* @@raspi-ubuntu.lan:514
再起動して反映
sudo systemctl restart rsyslog
実験する
ログを書き出すコマンドが次の通り
logger -p syslog.info -t TEST "Test"
ログをtail して確認
受信側
takuya@raspi-ubuntu:~$ sudo tail -f /var/log/syslog
送信側
takuya@pi-zero:~ $ sudo tail -f /var/log/syslog
送信側でログを書き出す。
logger -p syslog.info -t TEST "Hello from pi-zero"
結果
きちんと集約しているのがわかる。
無事に、ログが転送されことがわかる。
転送済ログの分割
受信側では、ログをサーバーごと、エラーレベルごとに振り分けすることが出来る。(参考資料 https://www.secuavail.com/kb/tech-blog/tb-210521-01-2/)
書込みレート
デフォルトでは、5秒、200行まで書き込みを行いますが、200行以降は破棄されてしまいます。 5秒に200行以上ログが転送されるようなシステムの場合、チューニングが必要な項目になります。 https://qiita.com/tasakii/items/10db42392c487d5276da
ログの転送量には上限が決められているので注意する。
journald のとの関係?
journalctl はsyslog に転送する。
$ cat /etc/systemd/journald.conf | grep -i syslog #ForwardToSyslog=yes #MaxLevelSyslog=debug
journalctl と syslog が互いにログを保持しているのでわかにくい。
以前は、syslog に転送しjournald自身は破棄していたため、journaldはvolatile (揮発性)になっていたようだが、いまは、journald もauto(デフォルト動作不明:たぶんファイル保存)で自分でログを保持するので、結果としてsyslog と journaldの両方にログが出来ることになる。
たとえば、次のように複雑に入れ込んで人も、やっぱり両方に出ている。
https://boscono.hatenablog.com/entry/2015/12/30/095620
/dev/kmsg -> imklog -> rsyslog -> /var/log/messages -> journald -> imjournal -> rsyslog -> /var/log/messages
という流れになっているっぽいので
2024-08-18
参考資料
https://www.kagoya.jp/howto/engineer/itsystem/syslog/ https://www.secuavail.com/kb/tech-blog/tb-210521-01-2/ https://isleofhoso.com/journald-conf/
あとで
journald と syslogd