syslog,rsyslog,syslog-ng,systemd journal,logger,etc(LPIC)


syslog,rsyslog,syslog-ng,systemd journal

システムログを収集するソフトウェアです。

syslog

ファシリティ

ファシリティはメッセージの生成元を表します。

プライオリティ

プライオリティはメッセージの重要度を表します。

etcsyslog.conf ファイルで kern.crit と設定すると crit以上のすべてのメッセージが /var/log/messages に記録される。

/etc/syslog.conf

syslogdの設定ファイルです。

すべてのカーネルメッセージをコンソールに表示する

kern.* /dev/console

rsyslog

Syslogプロトコルをベースとして作成されました。 設定ファイル rsyslog.conf は syslog の設定ファイル syslog.conf と後方互換性があります。

syslog-ng

設定ファイルである syslog-ng.conf は。syslog の設定ファイル syslog.conf とは書式が異なるため互換性がありません。

systemd journal

systemdを採用するシステムでシステムを収集するプログラムです。 rsyslogなどの他のsyslogソフトウェアと連携することができます。

/var/log/journal

不揮発性ストレージを使う場合(デフォルト)は /var/log/journal に保存される。

/run/log/journal

揮発性ストレージを使う場合は /run/log/journal に保存される。

サンプル

2022年8月28日以降のログを取得

$ journalctl --since="2022-08-28 00:00:00"

2022年8月28日以前のログを取得

$ journalctl --until="2022-08-28 00:00:00"

systemd-cat

メッセージをログに記録するコマンドです。

$ systemd-cat echo "snorlax"
$ cat /var/log/syslog | grep snorlax
Aug 26 15:23:32 160-251-101-197 echo[103620]: snorlax
Aug 26 15:26:06 160-251-101-197 echo[103657]: snorlax

logger

-f

指定したファイルの内容を送信する

-p

ファシリティ、プライオリティを指定する。

Kabigonとログに出力する

$ logger "Kabigon"
$ cat /var/log/syslog | grep Kabigon
Aug 26 15:31:26 160-251-101-197 root: Kabigon

logrotate

ログローテーションを行うコマンドです。 /etc/logrotate.conf が設定ファイルです。

/etc/logrotate.confを指定してlogrotateコマンドを実行する

$ logrotate /etc/logrotate.conf