Linuxログファイルとは何ですか?
ログファイルは、Linuxオペレーティングシステムで実行されているサーバー、アプリケーション、およびサービスに関する一連のレコード、イベント、またはメッセージを含む単純なテキストファイルです。これらは、問題が発生したときにトラブルシューティングの目的でシステム管理者によって使用されます。
Linuxでは、ログファイルは一般的に次のように分類されます。
- アプリケーションログ
- イベントログ
- サービスログ
- システムログ
Linuxにはたくさんのログファイルがあり、それらは/ var /log/ディレクトリにあります。それらすべてを監視することは退屈な作業です。ただし、次の重要なファイルを監視する必要があります。
- / var / log / syslog
- / var / log / messages
- /var/log/auth.log
- / var / log / secure
- /var/log/boot.log
- / var / log / dmesg
- /var/log/kern.log
- / var / log / faillog
- / var / log / cron
- /var/log/mail.log
- /var/log/apache2/error.log
- /var/log/mysql.log
この記事では、ログファイルをリアルタイムで表示または監視するために使用できるさまざまな方法について説明します。 Debian10ですべてのコマンドを実行しました。
前提条件
このチュートリアルでは、次のものが必要です。
- root権限を持つユーザーアカウント
ログファイルの表示
tailコマンドの使用
テールは、ログを表示するために広く使用されているコマンドの1つです。ログファイルの最後の数行をコンソールに出力します。デフォルトでは10行です。
コマンドの一般的な構文は次のとおりです。
tail<ログファイルのパス>
たとえば、
tail /var/log/syslog
以下は、syslogファイルの最後の10行を示すサンプル出力です。
ただし、ログファイルの最後の特定の行(たとえば5行)を表示する場合は、次のように-nオプションを使用できます。
tail -n 5 /var/log/syslog
以下は出力例です。
ログファイルを追跡し、リアルタイムでログに記録されるときに新しいメッセージを出力する場合は、上記のコマンドの例とともに-fオプションを使用できます。
tail -f -n 5 /var/log/syslog
ログファイルに新しい行が追加されるとすぐに、上記の4行とともに印刷されます。
ターミナルを閉じる場合は、キーボードからCtrl+Cを押します。
マルチテールコマンドの使用
multitailコマンドを使用すると、単一のウィンドウのコンソールで複数のログファイルの内容をリアルタイムで監視および表示できます。 multitailコマンドはDebian10に組み込まれていません。したがって、ターミナルを開き、root権限で次のコマンドを発行してインストールします。
apt-get install multitail
以下は出力例です。
マルチテールコマンドの一般的な構文は次のとおりです。
マルチテールファイル名1ファイル名2
2つのログファイル/var/log/syslogと/var/log/kern.logがあり、マルチテールを使用してコンソールでそれらの内容を表示したい場合、完全なコマンドは次のようになります。
multitail /var/log/syslog /var/log/kern.log
以下は出力例です。
このコマンドを使用すると、複数のログファイルの内容をリアルタイムで監視できます。たとえば、次のスクリーンショットは、4つのログファイル/var/log/syslog、/var/log/kern.log、/var/log/daemon.log、var/log/messagesの内容を示しています。
デフォルトでは、multitailコマンドはログファイルの内容を水平方向に表示します。ファイルを縦に列で表示する場合は、次のように-sスイッチを使用できます。
ログファイルの内容を2列で縦に表示したい場合、完全なコマンドは次のようになります。
multitail -s 2 /var/log/syslog, /var/log/kern.log, /var/log/daemon.log and var/log/messages
以下は出力例です。
ファイル間を移動することもできます。キーボードから「b」を押してスクロールし、目的のログファイルを選択します。選択したファイルの最後の100行を表示できます。
以下は出力例です。
Ctrl + gを押して中止し、複数のログファイルウィンドウに戻ります。
ciパラメータを使用してログファイルに異なる色を付けることもできるため、ログファイルを簡単に区別できます。以下は良い例です
multitail -ci green /var/log/syslog -ci blue /var/log/messages
以下は出力例です。
マルチテールコマンドは多くを提供します。コマンドの実行中に、キーボードから「h」を押してヘルプを表示します。
lnavコマンドの使用
lnavコマンドはmultitailコマンドに似ており、1つのウィンドウに複数のログファイルの内容を表示します。 Debianにインストールするには、ターミナルを開き、root権限で次のコマンドを発行します。
apt-get update lnav
プロンプトが表示されたら、キーボードから「y」を押します。コマンドが終了するのを待ちます。
multitailまたは他のコマンドとは異なり、lnavコマンドはログファイルの内容をマージし、単一のウィンドウに日付に基づいて各行を表示します。
以下はサンプルファイルです。キーボードの上、下などのキーを使用してウィンドウをスクロールできます。
コマンドの一般的な構文は次のとおりです。
lnav<ファイル1の名前とパス><ファイル2の名前とパス>
syslogとdaemon.logのログを表示するとします。ターミナルで次のコマンドを実行します。
lnav /var/log/syslog /var/log/messages
以下は出力例です。
コマンドでファイルを指定しない場合、デフォルトでsyslogファイルが開きます。
次のコマンドを実行します。
lnav
以下は出力例です。
コマンドの実行中にキーボードから/を押して、ログを検索することもできます。 /キーを押した後、検索する文字列を入力し、キーボードからEnterキーを押します。
文字列「DHCPACK」を検索していて、ウィンドウで強調表示されているとします。
以下は出力例です。
-rオプションを使用して、圧縮されたログファイル(zip、gzip、bzip)を表示することもできます。以下は完全な構文です。
lnav-r
lessコマンドの使用
Lessは、ログファイルの出力を監視するために使用される別のコマンドです。
以下は、コマンドの完全な構文です。
less +F<ファイルのパス>
たとえば、パス/ var / log / syslogにあるsyslogファイルを監視する場合、完全なコマンドは次のようになります。
less +F /var/log/syslog
以下は出力例です。