Linuxサーバ

tailコマンドでログを眺める

ログを監視するのに

コマンドからvi ~でログファイルを開いて全文読むこともできますが、容量がでっかい=行数が多いファイルを全て眺めてその上異常を発見するというのは人間の目にはいささか困難なように思いませんか?

 

ということで、ログファイルの一部を表示させるコマンドを調べてみました。

 

tailコマンドを使ってみる

オプションが幾つかあるようですが今回は自分が使いそうなところだけ押さえておくことにします。

 

-nオプション

末尾からの行数を指定します。「-n 50」と付けると末尾から50行遡って表示するということ。

 

ちなみにこのオプションを指定しない場合は10行なんだそうです。

 

-fオプション

対象のファイルを常に監視し、更新があれば随時表示してくれるオプションです。

 

これを使ってリアルタイムのログ監視スクリプトとかできるみたいです。

 

 

実際にコマンドで入力して動かしてみるみる

仮に「test.log」というファイルの末尾から50行を表示してみます。

 

tail -n 50 test.log

 

するとズラーっと、しかもきっちり50行表示されました。

 

それではapache2のaccess.logをリアルタイムで監視してみます。

 

tail -f access.log(←access.logのパスを入力します。今回は既に該当するディレクトリに移動したものとします)

 

この状態でaccess.logが更新されるのを待ってもよいのですが、自分の場合そんなに高い頻度でのアクセスは望めないのでスマホからサーバに接続してみます。すると・・・

 

きちんと表示が更新されました。

 

※ちなみに、コマンドで-fオプションを使った場合延々とログ監視の状態になってしまいます。ここから抜け出すには「ctrl+c」を押下すればOKなので補足しておきます。

 

まとめ

それでは今回のまとめを。

  • tailコマンドでファイルの末尾から任意のデータを表示させることが可能
  • -nオプションで行数を指定、-fオプションでリアルタイム監視が可能
  • スクリプトを組んで自作のログ監視ツールを作成できる?

となりましょうか。

 

せっかくなのでこのコマンドを使った自作のログ監視ツールを作ってみたいものです。

 

オススメの記事

-Linuxサーバ
-, ,