こんにちは。 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を推奨プログラミング言語としていて、 自分たちの課題をソフトウェアの力で解決することを推奨・実践しています。
その一環として監視プラグインをたくさん自作しています。 取り組みについてはこちらもぜひご覧ください。