systemdサービスのログ設定
StandardOutput、StandardError、systemd journalを使用してsystemdサービスのログを設定します。journalctlフィルタリング、ログローテーション、外部システムへの転送について学びます。
Operational Guides
詳細な説明
systemd Journalによる一元ログ
systemdはjournalと呼ばれるビルトインログシステムを提供します。サービスは出力をjournalにルーティングし、一元的で構造化されたクエリ可能なログ管理を実現できます。
基本的なログ設定
[Service]
StandardOutput=journal
StandardError=journal
SyslogIdentifier=myapp
journalctlでのログクエリ
journalctl -u myapp.service # すべてのログ
journalctl -u myapp.service -f # ライブフォロー
journalctl -u myapp.service -p err # エラーのみ
journalctl -u myapp.service --since today # 今日のログ
Journalストレージとローテーション
/etc/systemd/journald.confで設定:
[Journal]
SystemMaxUse=500M
MaxRetentionSec=1month
ユースケース
一元ログ収集、時間ベースのログクエリ、重要度フィルタリング、LokiやElasticsearchなどのログ管理ツールとの統合が必要なプロダクションサービスの包括的なログを設定する場合に使用します。