ウェブサイト検索

ログ ファイルをリアルタイムで監視または監視する 4 つの方法


Linux でログ ファイルの内容をリアルタイムで確認するにはどうすればよいですか?ファイルの変更中または継続的な更新中にユーザーがファイルの内容を出力できるようにするユーティリティがたくさんあります。 Linux でファイルの内容をリアルタイムに表示するために最もよく知られ頻繁に使用されているユーティリティの 1 つは、tail コマンド (ファイルを効果的に管理する) です。

こちらもお読みください: Linux 用の 4 つの優れたオープンソース ログ監視および管理ツール

1. tail コマンド – リアルタイムでログを監視する

前述のとおり、tail コマンドはログ ファイルをリアルタイムで表示する最も一般的なソリューションです。ただし、ファイルを表示するコマンドには、以下の例に示すように 2 つのバージョンがあります。

最初の例では、コマンド tail はファイルの内容を追跡するために -f 引数を必要とします。

sudo tail -f /var/log/apache2/access.log

コマンドの 2 番目のバージョンは、実際にはコマンド自体です: tailf。このコマンドには -f 引数が組み込まれているため、-f スイッチを使用する必要はありません。

sudo tailf /var/log/apache2/access.log

通常、ログ ファイルは、logrotate ユーティリティによって Linux サーバー上で頻繁にローテーションされます。毎日ローテーションされるログ ファイルを監視するには、-F フラグを使用してtail コマンドを実行します。

こちらもお読みください: Linux でシステム ログを管理する方法 (構成、ローテーション、データベースへのインポート)

tail -F は、新しいログ ファイルが作成されているかどうかを追跡し、古いファイルではなく新しいファイルの追跡を開始します。

sudo tail -F /var/log/apache2/access.log

ただし、 デフォルトでは、tail コマンドはファイルの最後の10行を表示します。たとえば、ログ ファイルの最後の 2 行だけをリアルタイムで監視したい場合は、次のように -n ファイルと -f フラグを組み合わせて使用します。以下の例。

sudo tail -n2 -f /var/log/apache2/access.log

2. Multitail コマンド – 複数のログ ファイルをリアルタイムで監視する

ログ ファイルをリアルタイムで表示するもう 1 つの興味深いコマンドは、multitail コマンドです。コマンドの名前は、マルチテール ユーティリティが複数のファイルをリアルタイムで監視および追跡できることを意味します。 Multitail を使用すると、監視対象ファイル内を前後に移動することもできます。

Debian および RedHat ベースのシステムにmulitail ユーティリティをインストールするには、以下のコマンドを発行します。

sudo apt install multitail   [On Debian & Ubuntu]
sudo yum install multitail   [On RedHat & CentOS]
sudo dnf install multitail   [On Fedora 22+ version]

2つのログファイルの出力を同時に表示するには、以下の例のようにコマンドを実行します。

sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log

3. lnav コマンド – 複数のログ ファイルをリアルタイムで監視する

マルチテール コマンドに似たもう 1 つの興味深いコマンドは、lnav コマンドです。 Lnav ユーティリティは、複数のファイルを監視および追跡し、その内容をリアルタイムで表示することもできます。

Debian および RedHat ベースの Linux ディストリビューションに lnav ユーティリティをインストールするには、以下のコマンドを実行します。

sudo apt install lnav   [On Debian & Ubuntu]
sudo yum install lnav   [On RedHat & CentOS]
sudo dnf install lnav   [On Fedora 22+ version]

以下の例に示すようにコマンドを発行して、2 つのログ ファイルの内容を同時に監視します。

sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log

4.less コマンド – ログ ファイルのリアルタイム出力を表示

最後に、Shift+F を入力すると、より少ないコマンドでファイルのライブ出力を表示できます。

tail ユーティリティと同様に、less で開いているファイルで Shift+F を押すと、ファイルの末尾に続いて開始されます。あるいは、ファイルのライブ監視に入る +F フラグを少なくして開始することもできます。

sudo less +F  /var/log/apache2/access.log

それでおしまい!ログの監視と管理については、次の記事を参照してください。

  1. Linux で head、tail、cat コマンドを使用して効果的にファイルを管理する
  2. Linux で Logrotate を使用してログ ローテーションを設定および管理する方法
  3. Petiti – Linux システム管理者用のオープンソース ログ分析ツール
  4. CentOS/RHEL で「ausearch」ツールを使用して監査ログをクエリする方法
  5. Journalctl を使用して Systemd でログ メッセージを管理する [総合ガイド]

この記事では、Linux のターミナル上でログ ファイルに追加されるデータをリアルタイムで監視する方法を説明しました。このガイドに関するご質問やご意見は、以下のコメント フォームから送信できます。