ログ監視

【ログ監視とは】
監視対象のログファイルに検知対象の文字列が出力されたらエラーを通知する。基本的に常駐監視とし、監視インターバル毎(1分毎とか)にチェックする。
監視ソフトウェアでやることが多いが、シェルで作り込むプロジェクトもたまにある。
 
【シェルの実装方法】
シェルの実装方法としては、2つほど思いつく。
1. 監視対象ファイルをtailしてメッセージが出力されたらリアルタイムで検知する方法。
2. 監視対象ファイルの前回チェック時からの差分から検知する方法。
 
また、ひとつの監視シェルで全ての対象ファイルを監視させるか、1対象ファイルにつき1シェルで監視させるかを決める必要がある。
前者の場合は、監視対象ファイルごとに監視のON・OFFの切り替え方法を実装したほうがよい。そうしないと一部の監視対象ファイルを監視抑止したくてもできないので、ログ監視シェルそのものを停止するしかなく、その間すべてのログ監視が止まってしまうことになる。
 
【実装する時の注意点】
シェルで作り込む際の注意事項として以下の点が挙げられる。
 
①ログローテート対策
tailコマンドを使用する時はログローテート対策をする必要がある。tail -f でログ監視をすると、ログローテートされた際にファイルが瞬間的に消えるため、同じ名前のファイルが再作成されたとしてもログファイルを監視することができなくなる。これはtail -F を使うことで自動的に再読み込みしにいくため解決できる。
 
②監視対象のログファイルごとに監視のON・OFF
前述の通り、監視対象ごとに監視のON・OFFをできるようにするかを考える必要がある。
 
↓ スクリプトの実装例はこちら

ログ監視シェル
任意のログファイルに特定のメッセージが出力されたらエラーメッセージを出力する監視シェルです。監視対象ファイルは1ファイル限定で、検知メッセー...
スポンサーリンク
勉強wikiの下部広告
  • このエントリーをはてなブックマークに追加
スポンサーリンク
勉強wikiの下部広告

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA