zabbixでLinuxサーバのログ監視を行おうとしています。 logrotateにてログをローテートすると 監視対象のログファイルのinodeが変わってしまいます。 Zabbixでは、inodeは変化しても、 ログファイルのパス・ファイル名が変わらなければ 問題ないのでしょうか。
検証環境では問題なく動作するのですが、 仕様としてinodeを見ていないのかが心配です。
ドキュメントも見てみましたが 関連する記載を見つけられずにいます。
お助けいただければ幸いです。
ソースを見る限り、ログファイル監視でlog[]もしくはlogrt[]を利 用されている場合であれば、inodeを利用してファイルを特定して はいないようです。
logrt[]であれば、指定したファイル名に合致する同じディレクト リ内のファイル一覧を取得し、各ファイルの変更時刻とZabbixサー バ側で保持しているタイムスタンプとファイルサイズを利用して、 過去に取得したログのタイムスタンプとを比較して対象となるファ イルを絞り込み、読み込み済みのログをファイルの位置から読み飛 ばすような処理を行っています。
ですので、logrotateを利用したログローテーションで、最初のロ ーテートから圧縮してしまったりせずに、renameと新規ファイル作 成のためのdaemonのkickだけであれば、問題は無いと思います。
ただし、logrt[]を利用されている場合、過去の障害特定の為に監 視しているファイルと同じディレクトリに作業用のログファイルを コピーしたり、その場で作業用ファイルを編集したりしていると、 その作業用ファイルも読み込んでしまったりするのでご注意くださ い。
ご返信ありがとうございます。 注意点等もアドバイスくださり、 とても助かりました。
検証等をしっかり行って ログ監視を利用していきます。
アカウント名 tetsu
Zabbix関連
TNK - 投稿数: 4769
ソースを見る限り、ログファイル監視でlog[]もしくはlogrt[]を利
用されている場合であれば、inodeを利用してファイルを特定して
はいないようです。
logrt[]であれば、指定したファイル名に合致する同じディレクト
リ内のファイル一覧を取得し、各ファイルの変更時刻とZabbixサー
バ側で保持しているタイムスタンプとファイルサイズを利用して、
過去に取得したログのタイムスタンプとを比較して対象となるファ
イルを絞り込み、読み込み済みのログをファイルの位置から読み飛
ばすような処理を行っています。
ですので、logrotateを利用したログローテーションで、最初のロ
ーテートから圧縮してしまったりせずに、renameと新規ファイル作
成のためのdaemonのkickだけであれば、問題は無いと思います。
ただし、logrt[]を利用されている場合、過去の障害特定の為に監
視しているファイルと同じディレクトリに作業用のログファイルを
コピーしたり、その場で作業用ファイルを編集したりしていると、
その作業用ファイルも読み込んでしまったりするのでご注意くださ
い。
tetsu - 投稿数: 2
ご返信ありがとうございます。
注意点等もアドバイスくださり、
とても助かりました。
検証等をしっかり行って
ログ監視を利用していきます。