Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
第23章 ログファイルの表示と管理
ログファイルは、システム (カーネル、サービス、および実行中のアプリケーションなど) に関するメッセージが含まれるファイルです。各情報にはそれぞれ異なるログファイルがあります。例えば、デフォルトのシステムログファイル、セキュリティーメッセージ専用のログファイル、cron タスク用のログファイルなどです。
ログファイルは、カーネルドライバーのロードを試行するなどシステムの問題を解決する場合や、システムへの無許可のログイン試行を探す場合に役立ちます。本章では、ログファイルの場所、ログファイルの閲覧方法、ログファイルの注意すべき項目を説明します。
一部のログファイルは、rsyslogd
という名前のデーモンによって制御されます。rsyslogd
デーモンは、 sysklogd の拡張版であり、拡張されたフィルターリング、暗号化で保護されたメッセージリレー、様々な設定オプション、入出力モジュール、TCP
または UDP
プロコトルを介した伝送のサポートを提供します。rsyslog と sysklogd は互換性があることに注意してください。
ログファイルは、systemd
のコンポーネントである journald
デーモンで制御することもできます。journald
デーモンは全サービスの標準出力および標準エラー出力に書き込まれたメッセージに加えて、Syslog メッセージ、カーネルログメッセージ、初期 RAM ディスクおよび初期起動メッセージを取り込みます。構造化およびインデックス化されたバイナリーファイルであるネイティブジャーナルファイル形式は、検索を改善します。また、より高速に操作を提供するため、タイムスタンプやユーザー ID などのメタデータ情報も格納します。journald
が生成するログファイルはデフォルトで永続的ではなく、ログファイルは /run/log/journal/
ディレクトリー内のメモリーまたはリングバッファーにのみ保存されます。ログに記録されるデータの量は、容量制限に達すると、最も古いエントリーが削除されます。ただし、この設定は変更できます。「永続的ストレージの有効化」 を参照してください。ジャーナルの詳細情報は、「Journal の使用」 を参照してください。
デフォルトでは、これら 2 つのロギングツールはシステム上で共存しています。journald
デーモンは、トラブルシューティング用の主要ツールです。また、構造化ログメッセージの作成に必要な追加データも提供します。journald
が取得したデータは、/run/systemd/journal/syslog
ソケットに転送され、さらにデータを処理するために rsyslogd
が使用する場合があります。ただし、rsyslog は imjournal
入力モジュールを介して実際の統合を行うため、上記のソケットを回避します。また、omjournal
モジュールを使って rsyslogd
から journald
に逆方向でデータを移動することもできます。詳細は、「Rsyslog と Journal の相互作用」 を参照してください。統合によりテキストベースのログを一貫性のある形式で保持できることになり、rsyslogd
に依存するアプリケーションや設定との互換性を確保できます。また、構造化形式で rsyslog メッセージを保持することもできます (「Rsyslog での構造化ロギング」 を参照)。
23.1. ログファイルの場所の特定
rsyslogd
により保持されるログファイルの一覧は /etc/rsyslog.conf
設定ファイルにあります。ほとんどのログファイルは /var/log/
ディレクトリーにあります。httpd
および samba
などの一部のアプリケーションでは、ログファイル用のディレクトリーが /var/log/
内にあります。
/var/log/
ディレクトリー内には末尾に番号が付いた複数のファイル (例: cron-20100906
) があることに気付くかもしれません。これらの番号はローテーションを行ったログファイルに追加されたタイムスタンプを表します。ログファイルは、ファイルサイズが大きくなり過ぎないようにローテーションが行われます。logrotate
パッケージには cron タスクが含まれており、これが /etc/logrotate.conf
設定ファイルと /etc/logrotate.d/
ディレクトリー内の設定ファイルに従って自動的にログファイルのローテーションを行います。