このチュートリアルでは、診断やトラブルシューティングのためにLinuxのログファイルをリアルタイムで監視する方法について説明します。
Linux デスクトップやサーバ、あるいは何らかのアプリケーションに問題が発生したとき、最初に見るのは個々のログファイ ルです。ログファイルは通常、アプリケーションからのテキストとタイムスタンプ付きメッセージのストリームです。これは、特定の問題を絞り込み、問題の原因を見つけるのに役立ちます。また、ウェブから助けを得るのにも役立ちます。
一般的に、すべてのログファイルは/var/logにあります。このディレクトリには、拡張子.logを持つアプリケーションとサービス固有のログファイルがあり、ログを含む他の個別のディレクトリもあります。
ログファイルの束や特定のログファイルを監視したい場合、以下の方法があります。
Linuxによるログファイルのリアルタイム監視
tailコマンドを使用します。
tailコマンドは、ログファイルをリアルタイムで追跡する最も基本的な方法です。特に、GUIのない端末のみのサーバーにいる場合。これは非常に便利です。
基本的な構文は以下の通りです:
tail /path/to/log/file
使い方:
リアルタイムで更新されるログ・ファイルは、-fスイッチを使用して追跡できます。例えば、syslogを監視するには、次のコマンドを使います。
tail -f /var/log/syslog
1つのコマンドで複数のログファイルを監視できます:
tail -f /var/log/syslog /var/log/dmesg
HTTP や sftp などのサーバを監視する場合は、このコマンドでそれぞれのログファイルを使用できます。
上記のコマンドには管理者権限が必要であることに注意してください。
lnavを使用
lnavは、ログファイルを色分けされたメッセージでより構造的に監視するために使用できる優れたプログラムです。Linuxシステムでは、このツールはデフォルトではインストールされていません。以下のコマンドでインストールできます:
Ubuntuです:
sudo apt install lnav
フェドラ
sudo dnf install lnav
lnavの魅力は、インストールしなくても、コンパイル済みの実行ファイルをダウンロードすれば、USBメモリからでもどこでも実行できることです。セットアップ不要で機能満載。lnavを使えば、SQL経由でログファイルに照会ることができます。
インストール後、ターミナル上で管理者権限でlnavを実行すると、デフォルトで/var/logにすべてのログが表示され、リアルタイムで監視を開始します。
systemdのjournalctlに関するメモ
systemd は Linux オペレーティングシステムを実行するための基本的なフレームワークとコンポーネントを提供します。 systemd は journalctl を通してジャーナリングサービスを提供し、全ての systemd サービスからのログを管理するのに役立ちます。また、以下のコマンドを使って、各 systemd サービスとジャーナルをリアルタイムで監視することができます。
journalctl -f
以下は、様々な状況で使用できる journalctl コマンドです。これらを上記の -f オプションと組み合わせて使うことで、リアルタイムの監視を開始することができます。
緊急システムメッセージには
journalctl -p 0
エラーを説明付きで表示します:
journalctl -xb -p 3
時間制御濾過を使用してください:
journalctl --since " "journalctl --since "" --until " "journalctl --since yesterdayjournalctl --since 09:00 --until "1 hour ago"
journalctlについてもっと詳しく知りたければ、ここに 書きました。
結論
乾杯





