役割の概要
機能 | rsyslog | systemd-journald |
---|---|---|
主な役割 | ログの収集・保存・転送 | ログの収集・管理 |
対応ログ形式 | プレーンテキスト | バイナリログ |
出力先 | /var/log/ | 設定次第(下記参照) |
起動方式 | 独立したサービス | systemdに統合 |
基本的にどちらもログ採取できるが、journaldはログ採取、rsyslogdは保存を担当させることが多い
rsyslog
特徴
- 古くからあるSyslog実装
- 柔軟なログ転送が可能
-
/etc/rsyslog.conf
または/etc/rsyslog.d/*conf
で設定 - テキストファイルベースの出力
- フィルタ、フォーマット、キューなどの細かい設定が可能
rsyslogを覗いてみる
起動確認
systemctl status rsyslog
または
ps aux | grep "rsyslog"
ログを見る
テキストベースなのでcat
などで見ることができる
ここでは例として認証・セキュリティ関連のログを覗いてみる
cat /etc/log/secure
systemd-journald
特徴
- systemdに標準搭載されたログ管理機構
- カーネルログ、syslogなど、ほぼすべてのログを取り込む
- バイナリ形式として保存する
- ログは
journalctl
コマンドで参照でき、フィルタや検索可能 - 信頼性が高く、メタデータも豊富
保存先
デフォルト(筆者の環境)では、ログの永続保存がされておらず、
/run/log/journal/
配下に保存され再起動するごとに削除されてしまう
永続化
設定ファイルは/etc/systemd/journald.conf
方法1 設定ファイルの書き換え
#Storage=auto
↓
Storage=persistent
方法2 ディレクトリの作成
#Storage=auto
↓
Storage=auto
$ sudo mkdir -p /var/log/journal
$ sudo systemd-tmpfiles --create --prefix /var/log/journal
共通
再起動(サービスだけでもいいとは思うが初心者過ぎて、systemdに結合されているので端末再起動しました)
sudo reboot
journalを覗いてみる
起動確認
systemctl status systemd-journald
または
ps aux | grep "jounal"
ログを見る
バイナリベースなのでcat
などで見ることができない
journalctl
###オプション
オプション | 概要 |
---|---|
-r | 降順 |
-e X | 直近のX行をページャで表示 |
-n X | 最後からX行を表示 |
-f | リアルタイム表示 |
-k | カーネルログを表示 |
-u XXX | XXXサービスでフィルタ |
-p X | Xプライオリティ以上でフィルタ |
-since="Y-M-D" | YMD以降からのログを表示 |