2013年9月24日火曜日

Zabbixで日付付きのログファイルを監視する場合のちょっとしたコツ

例えば

/var/log/app/sample_app.YYYY-MM-DD.log

みたいな感じのログで日付でローテートしているログがあった場合に
Zabbixでログ監視をするアイテムを登録するときにアイテムキーの登録で正規表現を使ったりするとうまく監視ができない
(自分がやった限りでは正規表現を使ったキーだとうまく監視できませんでした)

そんな場合にちょっと工夫してやることで日付ローテートするログでも監視できるようになる

対処としてはログが存在しているサーバ側で以下のようなコマンドを実行してあげる

ln -nfs /var/log/app/sample_app.`date "+%Y-%m-%d"`.log /var/log/app/sample_app.log

要するに監視するログファイル名を固定するためにシンボリックリンクを使う
これでZabbixサーバ側のアイテムの設定では「sample_app.log」を監視するだけでよくなる

シンボリックリンクを張っている正規表現のコマンドもあくまでもサンプルなので、あとは必要に応じて正規表現の部分を変更すれば、大抵のファイル名には対応できると思う

P.S 20130925
リンクの切替は毎日実行しないとダメなのでcronを仕込んでおくといいと思います
1 0 * * * ln -nfs /var/log/app/sample_app.`date "+%Y-%m-%d"`.log /var/log/app/sample_app.log

参考にしてみてください

2 件のコメント:

  1. logrt使えばいいんじゃないの?

    返信削除
  2. ぜんぜんlogrtでもいいと思います。自分がいろいろいじってて簡単だったんで紹介しました。

    返信削除