ログデータ型のアイテムで同一行を時間をおいて再収集してしまう
平素よりお世話になっております。初めての投稿となります。
ZABBIXでのログ監視について質問させてください。
[環境]
・Zabbix Server
OS:RHEL 6.6
kernel:2.6.32-504.16.2.el6.x86_64
Zabbix Server:2.4.5-1.el6.x86_64
・Zabbix Agent
OS:RHEL6.6
kernel:2.6.32-504.16.2.el6.x86_64
Zabbix Agent:2.4.5-1.el6.x86_64
[事象]
あるログファイルに対して、エラー文字列が含まれる行を収集するアイテムがあります。
そのアイテムである時間帯に発生したエラー文字列を収集した後、数時間後に同一行を再度収集してしまう事象が発生しています。
そのアイテムの設定は以下のようになっています。
・アイテム
名前 Log 監視(ERROR) [$1]
タイプ Zabbixエージェント(アクティブ)
キー log[/path/to/file.log,@error]
データ型 ログ
更新間隔(秒) 40
ヒストリの保存期間(日) 70
アプリケーション LOG
説明
有効 ■
・正規表現
名前 error
条件式 ERROR
条件式の形式 結果が真
大文字小文字を区別 ■
上記設定で、あるログが以下の2回の時刻で別々にヒストリに登録されていました。
・ログ行
2016/05/18 03:50:22 ERROR HOST [CODE] [FILE] MESSAGE
・ヒストリに登録された時刻
2016.05.18 03:50:51
2016.05.18 06:50:07
ログアイテムで同一行が別時間帯にヒストリに登録されるような事象は
どういった場合に発生しうるものでしょうか。
過去のフォーラム投稿については、以下を確認しましたが
少し状況が異なるかと思いまして投稿させていただきました。
http://www.zabbix.jp/node/3281
http://www.zabbix.jp/node/2906
TNK - 投稿数: 4769
そのログファイルは、単純なテキストファイルで行が追記されてい
るだけのログファイルですか?
03:50:51から06:50:07の間やその前後に、ZabbixサーバやZabbixエ
ージェントのログにも何か出力されていなかったかを確認してみて
ください。
2.4.5は1年以上前の古いバージョンですので、2.4系なら2.4系の最
新(現時点なら2.4.8)に更新して問題が発生しないか確認してみて
ください。
とはいえ、2.4系のサポートは終了してしまいましたので、今後、
不具合や脆弱性の問題があっても公式に修正版がリリースされる
ことはないでしょう。
早急にバージョンアップを検討されることをお勧めします。
Meimu Sept - 投稿数: 4
そのログファイルは、単純なテキストファイルで行が追記されているだけのログファイルですか?
はい。単純なテキストファイルで、アプリケーションからログが出力されて追記されます。
03:50:51から06:50:07の間やその前後に、ZabbixサーバやZabbixエージェントのログにも何か出力されていなかったかを確認してみてください。
この時間帯に本件に関連しそうなログは見当たりませんでした。
またZabbixエージェントに関してはログそのものが出力されておらず、ログファイルは空でした。DebugLevelは設定していないため、デフォルトの3(警告)であると考えられます
2.4.5は1年以上前の古いバージョンですので、2.4系なら2.4系の最
新(現時点なら2.4.8)に更新して問題が発生しないか確認してみて
ください。
とはいえ、2.4系のサポートは終了してしまいましたので、今後、
不具合や脆弱性の問題があっても公式に修正版がリリースされる
ことはないでしょう。
早急にバージョンアップを検討されることをお勧めします。
ありがとうございます。稼働中のシステムのためバージョンアップの敷居も高いですが、検証した結果効果がありそうであれば検討してみます。
バージョンアップ手順のマニュアルなどはございますでしょうか。
Meimu Sept - 投稿数: 4
すみません。もう1点質問させてください。
ログデータ型のアイテムはどういったタイミングでログを収集するのでしょうか。
ファイルのタイムスタンプが更新された
ファイルサイズに変更があった
など
またエージェントは対象のログの最終読込行の位置を覚えているものでしょうか。
それがリセットされるタイミングというのはございますか。
TNK - 投稿数: 4769
アイテムの更新間隔で指定した間隔で、ログファイルに追記がない
かを確認して、追記されていたら、追記されていた分を1行づつ読
み込んでZabbixサーバーに通知します。
ファイルの何バイト目まで読み込んだかは、Zabbixエージェント自
体も情報としてメモリ上に持っていますし、Zabbixサーバーにログ
データを送った時に、合わせて情報として送るようになっています。
そのため、Zabbixエージェントを再起動したときには、Zabbixサー
バーからどのファイルを何バイト目から読み込めばいいかという情
報を受け取ってからログ監視を再開するので、以前Zabbixサーバー
に送ったログデータの次の行から読み込むようになっています。
Zabbixエージェントがファイルにアクセスした際に、以前送った場
所よりもファイルサイズが小さかった場合は、新しいファイルが作
成されたと判断して、ログファイルの最初から読み込みなおします。
上記の通り、どこまでのログをZabbixサーバーに送ったかを覚えて
います。
ただし、そのアイテムの設定を変更した場合は、カウンタがリセッ
トされたと思いますので、そうすると再度ログファイルの最初から
読み込みなおすようになっていたはずです。
Meimu Sept - 投稿数: 4
TNK様
詳しい挙動についてご回答いただき、誠にありがとうございます。
挙動の内容も考慮して、もう少し事象を追ってみようと思います。