mackerelでログ検知を行うプラグイン macklogを作った

ども。
最近イケメンなので普段は精製水を飲んでいます、
山下です。

mackerelのプラグインとして指定したログに指定したキーワードが出力されたらCritical通知するツール書いてみました。

使い方はこんな感じ

[plugin.checks.http_fatal_error]
command = "macklog -f /var/log/httpd/error.log -w fatal -i"

最近ムームードメインのサーバのリプレイスと合わせて、PHPバージョンアップを実施したことで
時折、PHPのFatalエラーが発生していたりして、それを検知するために作りました。

mackerelはfulentdのプラグインも提供しているのでできないことはなかったのですが、構築するのがそもそもだるかったりするのでフランクに監視したい場合に有効だと思います。

ちなみに同じログを何度も検知しないように/tmp配下に履歴ファイル作成しているので繰り返しの通知は行われません。
また、一度検知をして次の周期で正常判定となるために、繰り返し出力する類のエラーでなければ流れていくのでそのへんもご注意ください。

nagiosのプラグインとの差異はいちいちシークファイルをクリアする必要がないのでさくっと見たいときに使ってください。

それでは残り少ない3連休、素敵にお過ごしください。