logrtの動作について

Zabbix-2.0.2を利用してます。

これまで、zabbixを使ったlog監視はlogのアイテムキーを使って
監視を行っております。

Logのキーではアイテム更新後にログファイルがローテーションした
場合、ログの取りこぼしが発生するためlogrt の利用を検討してます。

そこでlogrtの動き方について質問があり、投稿させて頂きました。

私の理解では、
・Logrt は対象ログファイルを正規表現で表現できる
・mtimeに更新日時のインデックスを記録し、読み込む対象の
ログファイルを特定
・それぞれのファイルのファイルサイズ(lastlogsize)を前回と比較してサイズが
前回より大きければ差分のみ読み込み、サーバに送信する。

上記の理解が合ってる場合、ローテーション後のファイルのサイズが
前回記録したファイルサイズ(lastlogsize)の値より大きければ
差分のみ読み込むことになり、差分以前の内容をとりこぼすと
思われます。

お手数ですが、ご教授お願いします。

Ver2.0はlogrtにバグがあり、今後はバージョンアップも検討してます。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー KAZ の写真

koonooさん

2.0系は2.0.13以前はログの不具合が数件入ってますので、
バージョンアップした方が良いかと思います

・正規表現を使えるのはファイル名のみで、ディレクトリには使用できません。
・正規表現に該当するファイル名の一覧を作成し、mtime順にならべます。
・mtimeが一緒のファイルが有った場合はファイル名でソートします。
・取得した一覧で前回監視した時間より、新しいmtimeのファイルを読み込み対象に選びます。
・読み込み対象のファイルのサイズが前回より大きい場合は、普通に読みます。
・読み込み対象のファイルのサイズが前回より同じ場合は、読み込みません。(昔の処理はここでバグが有ったような…)
・読み込み対象のファイルのサイズが前回より小さい場合は、ローテーションされたと判断して頭から読みます。

この処理ですが、2.0.13、2.2.4でローテーションの判断処理がガラリと変わってます。A(^^;

で、2.0、2.2の最新版ですが、ガラリと変えた処理の影響かログの再読みが起きる可能性があります。
※:ファイルサイズが同じでmtimeのみ変わると言う事象がLinux的に起きるようで、現在のZabbixはその操作をローテーションしていると判定しています。
この件については本家で調査中のはずです。A(^^;

ユーザー koonoo の写真

返信ありがとうございます。

logrtの動作については基本、自分の理解が合ってるようで
安心しました

log rtを使ってのログ監視は2.0.13に上げてから導入した方が
良さそうですね