こんにちは。 CTOの馬場です。

いい感じにログを監視するNagiosプラグイン check_log_ng をメジャーバージョンアップして 2.0.5 をリリースしました!

OSSとしてGitHubで公開しています。

GitHub - heartbeatsjp/check_log_ng: Log file regular expression based parser plugin for Nagios.

目玉の新機能は 「監視結果を一定時間キャッシュできる」 です。 弊社のように複数の監視サーバを持つ場合には誤検知削減の効果が見込めます。

check_log_ng はPython製で、Python 2.6 - 3.6 に対応しています。 例えばCentOS7であればファイルひとつ置くだけで機能します。 (CentOS6のPython2.6で使う場合はargparseモジュールをインストールしてください)

check_log_ng の特徴は以下のとおりです( Wiki より抜粋 )。

  • 検知文字列のパターンを正規表現で指定できます。
  • 検知除外文字列のパターンが指定できます。これも正規表現で指定できます。
  • 複数のログファイルを一括してチェックすることができます。もちろん、ログローテーションされたファイルもチェックできます。
  • ログファイル毎にどこまでチェックしたかを記録するシークファイルを利用しているため、前回チェックからの差分だけをチェックできます。
  • 複数行に渡って同時に出力されたログメッセージを結合してからチェックすることができます。これにより、検知除外文字列の効果が発揮できるでしょう。
  • ログファイルの文字エンコーディングを指定できます。
  • 検知結果をキャッシュすることができます。複数の監視サーバーから監視を行う場合や監視サーバーが再試行を行う場合に役に立ちます。

複数行出力対応やローテーションのi-node追跡は類似品のなかでも珍しい機能かもしれません。

ハートビーツではPythonとGolangを推奨プログラミング言語としていて、 自分たちの課題をソフトウェアの力で解決することを推奨・実践しています。

その一環として監視プラグインをたくさん自作しています。 取り組みについてはこちらもぜひご覧ください。

継続的テストとしての監視実装例 - インフラエンジニアway - Powered by HEARTBEATS

株式会社ハートビーツのインフラエンジニアから、ちょっとした情報をお届けします。