①Linux入門

ログファイルの見方と管理【journalctl/logrotate完全解説】

①Linux入門
記事内に広告が含まれています。

「サービスが起動しない…」「エラーが出ているが何が原因かわからない…」そんなトラブルの第一歩はログの確認です。この記事ではLinuxのログファイルの見方と管理方法を解説します。

/var/log/ のログファイル一覧

Linuxのログファイルは主に /var/log/ ディレクトリに保存されます。なお、ログファイルのパスはディストリビューションによって異なります。Ubuntu/Debian 系では /var/log/auth.log(認証ログ)ですが、RHEL/CentOS 系では /var/log/secure になります。systemd 環境では journalctl コマンドで一元的に確認できます。

# ログファイルの末尾を確認(最新のログが末尾にある)
$ tail -50 /var/log/syslog

# エラーを含む行だけ抽出
$ grep -i "error" /var/log/syslog | tail -20

# 認証ログを確認(不正アクセス調査)
$ sudo tail -100 /var/log/auth.log | grep "Failed"

journalctl:systemdのログを確認する

systemd(Ubuntu 16.04以降など)では journalctl コマンドでシステムログを集中管理できます。

# nginxが起動しない場合の調査
$ sudo journalctl -u nginx -n 50

# 今日のエラーログを表示
$ journalctl -p err --since "today"

# 特定時刻範囲のログ
$ journalctl --since "2025-01-01 00:00:00" --until "2025-01-01 06:00:00"

logrotate:ログファイルを自動管理する

ログファイルを放置するとディスクが満杯になります。logrotate はログファイルを自動でローテーション(古いファイルを圧縮・削除)するツールです。

# logrotateの設定ファイル
/etc/logrotate.conf          # グローバル設定
/etc/logrotate.d/            # サービス別の設定

# 設定例(/etc/logrotate.d/myapp)
/var/log/myapp/*.log {
    daily              # 毎日ローテーション
    rotate 14          # 14世代分保持
    compress           # gzipで圧縮
    delaycompress      # 1つ前の世代から圧縮
    missingok          # ファイルがなくてもエラーにしない
    notifempty         # 空ファイルはローテーションしない
}

# logrotateを手動実行(テスト)
$ sudo logrotate -d /etc/logrotate.d/myapp  # -d はドライラン

/var/log/ 主要ログファイル一覧

ファイル内容
/var/log/syslogシステム全般のログ(Ubuntu)
/var/log/messagesシステム全般のログ(CentOS/RHEL)
/var/log/auth.logSSH・sudo等の認証ログ(Ubuntu)
/var/log/secure認証ログ(CentOS/RHEL)
/var/log/nginx/access.logNginxアクセスログ
/var/log/nginx/error.logNginxエラーログ
/var/log/apt/history.logaptコマンドの操作履歴

journalctlコマンド早見表

コマンド説明
journalctl全ログを表示
journalctl -fリアルタイムでログを追跡
journalctl -u nginxnginxのログのみ表示
journalctl -n 50最新50行を表示
journalctl –since “1 hour ago”1時間以内のログ
journalctl -p errエラーレベルのログのみ表示

まとめ

  • ログは /var/log/ に保存。まず syslog、サービス固有は専用ログを確認
  • tail -f /var/log/syslog:リアルタイムでシステムログを監視
  • journalctl -u サービス名 -f:サービスのログをリアルタイム追跡
  • journalctl -p err:エラーレベル以上のログのみ表示
  • logrotateでログの自動圧縮・削除を設定してディスク満杯を防ぐ

関連記事

📋 Linux入門チートシート完全版で全コマンドを一気に復習できます。

コメント

タイトルとURLをコピーしました