Linuxのログ管理入門|journalctl・rsyslog・logrotateの使い方と障害調査

現場実践|Linuxログ管理
Linuxのログ管理入門|journalctl・rsyslog・logrotateの使い方と障害調査
「Linuxのログってどこに何があるの?」——/var/log以下の主要ログファイル・journalctlでのsystemdログ確認・rsyslogの設定・logrotateによる自動ローテーションを解説します。
💡 Linuxのログ管理はサーバー運用の基礎中の基礎。障害発生時に「どこのログを見ればいいか」を即座に答えられることが運用エンジニアとしての最低限の素養です。
1. /var/log以下の主要ログ
| ログファイル | 内容 |
|---|---|
| /var/log/messages | システム全般のメッセージ(RHEL系)。最初に確認するログ |
| /var/log/syslog | システム全般のメッセージ(Debian系) |
| /var/log/auth.log | SSH認証・sudo等の認証ログ。不正ログイン試行の確認に必須 |
| /var/log/kern.log | カーネルのメッセージ。ハードウェア障害・ドライバエラーの確認に使う |
| /var/log/nginx/access.log | Nginxのアクセスログ。リクエスト数・エラー率の確認 |
2. journalctlでsystemdログを確認する
# 全ログを表示(新しい順)
journalctl -r
# 特定サービスのログ
journalctl -u nginx
journalctl -u sshd --since "1 hour ago"
# エラー・警告のみ
journalctl -p err
# リアルタイムで表示(tail -fに相当)
journalctl -f -u nginx3. logrotateでログを自動ローテーション
# /etc/logrotate.d/nginx の例
/var/log/nginx/*.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
sharedscripts
postrotate
nginx -s reopen
endscript
}上記の設定で「毎日ローテーション・30世代保持・gzip圧縮・ローテーション後にnginxをreopen」という設定になります。
4. 障害調査時のログ確認手順
1
障害発生時刻のsystemdログを確認
journalctl –since “2026-04-01 10:00” –until “2026-04-01 10:30” でピンポイントの時間帯を確認する。
2
関連サービスのログを確認
Webサーバー障害なら/var/log/nginx/error.log、DB障害なら/var/log/mysql/error.logを確認する。
3
カーネルログでハードウェア障害を確認
dmesg | tail -50 またはjournalctl -k でカーネルメッセージを確認。ディスクエラーやOOM Killerの発動が記録されている。
📌 この記事のポイント
- /var/log/messages・auth.log・kern.logが障害調査で最初に確認すべき主要ログ
- journalctl -u [サービス名] –since “X時間前” でピンポイントのログ確認が可能
- logrotateで日次ローテーション・30世代保持・gzip圧縮の設定が現場の標準
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




