リアルタイムにログを監視したい時って何のツールを使っていますか?私は [swatch] が簡単で好きだったのですが、最近動きが無かったり、perl の関連ライブラリをインストールしなければならなかったりで代わりのログ監視ツールを探していました。
そんな時この LogSurfer を見つけ、しっくり来る感がばっちりなところが気に入ったので今回紹介します。
LogSurferとは
LogSurfer は c 言語でできたオープンソースのリアルタイムログ監視ツールです。依存ライブラリもさほどないので私は表立って監視できない時にこっそりユーザのホームディレクトリにインストールして監視したりしています。
このツールは swatch がベースになっているそうですがさらに高機能化もしているそうです。
[LogSurfer のサイト]
[LogSurfer のダウンロード先]
LogSurfer の監視
LogSurfer は設定ファイル以下のようなフォーマットで定義して指定した文字列が来るのを待ち、文字列が現れた時に様々なアクションを行います。
'.* (Traceback) (most recent call last):$' - - - 0
open "$1" - 0 0 300
pipe "/bin/mail -s "エラーが起きた!!" [メールアドレス]
上の例だと ‘.* (Traceback) (most recent call last):$'(python の Exception)が現れた時にメールを [メールアドレス] に投げています(フォーマットは今度。。。)。
また、ログファイルの指定は [path]/logsurfer -c [上の設定が記述されたファイル] -f [ログファイル] のように実行します。
特徴的なのは一つの監視文字列に対して pipe やコマンド実行(exec)等、色々なフィルタを Linux のパイプ(|)のようにかけて実行できる点です。
新しいログ監視として使ってみてもいいんじゃないでしょうか。