ログ監視のアイテム取得時間のズレに関して
いつも参考にさせて頂いております。
ログ監視について質問させて頂きます。
現在、
以下の設定をしております。
zabbix-server バージョン : zabbix-server-1.8.11-1.el5.JP
zabbix-agent バージョン : zabbix-agent-1.8.4-2.el6.x86_64
アイテム: logrt[/var/log/messages*,"[wW][aA][rR][nN]"]
間隔 60秒
すると、以下のような取得状況となります。
取得時間 ログ内容(実際のログファイルに出力された行)
[2012.11月.26 13:47:07] - Nov 26 11:38:46 server2404 testd: [5191]: WARN: LOG1
[2012.11月.26 13:37:54] - Nov 26 11:27:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 13:32:38] - Nov 26 11:12:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 13:22:55] - Nov 26 10:57:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 12:37:55] - Nov 26 09:42:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 12:32:55] - Nov 26 09:38:44 server2404 testd: [5191]: WARN: LOG3
[2012.11月.26 12:27:04] - Nov 26 09:27:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 12:17:02] - Nov 26 09:12:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 12:07:55] - Nov 26 08:57:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 11:57:55] - Nov 26 08:42:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 11:47:38] - Nov 26 08:38:44 server2404 testd: [5191]: WARN: LOG3
[2012.11月.26 11:42:38] - Nov 26 08:27:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 11:32:55] - Nov 26 08:12:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 11:27:04] - Nov 26 07:57:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 11:22:38] - Nov 26 07:42:28 server2404 test2d: [5193]: WARN: LOG2
[2012.11月.26 11:12:04] - Nov 26 07:38:40 server2404 testd: [5191]: WARN: LOG3
上記のようにログの出力時間と検知時間に相当のズレが生じております。
ほとんど時間のズレがない時もあるのですが、長い時は上記よりもさらにズレが生じてしまいます。
該当ログの間に100行以上(かなり大量の)ログがあるのかと思いましたが、
だいたい700行くらいとなります。
agentd.confは
# MaxLinesPerSecond=100
となっておりますが、100行ずつにしてもかなりのズレが生じております。
こちら、解消する方法は御座いますでしょうか?
お知恵をお貸し頂ければと思います。
以上です、よろしくお願い致します。
TNK - 投稿数: 4769
一応、前提条件として確認させて頂きたいのですが、Zabbixサーバ
を稼動させているサーバと、監視対象のサーバとの時刻同期は行わ
れていますか?
各サーバの時刻同期が正常に行われているにも関わらず、そのよう
な時間のずれが発生してしまうのであれば、以下の原因が考えられ
ます。
・logrotate以外の方法を用いてlogのローテーションを行ってい
る
・/var/logディレクトリにmessagesで始まるファイル名でローテ
ーションされたログファイル以外のファイルをコピーして置い
ている
・Zabbixのキューに溜まってしまって処理の遅れが発生している
/var/logディレクトリに、正規表現に合致するファイルを置いてお
いて、それを編集してファイルの変更時刻が変更されると、そのフ
ァイルも再読込対象になってしまい、過去に読み込んだログと同じ
ログを読み込んでしまう場合があります。
キューに関しては、Webフロントエンドの、
管理 -> キュー
を開いて、遅延が発生していないかを確認してみていただけません
でしょうか。
mori - 投稿数: 20
TNK様
ありがとう御座います。
時刻同期については正常に行われております。
※ちなみに、監視サーバをNTPサーバとしています。
・logrotate以外の方法を用いてlogのローテーションを行ってい
る
⇒
こちらについては、syslogを使用してログに出力しており、
ログローテーションはCentOS標準のlogrotateを使用しています。そのため、毎週4時にローテーションされます。
・/var/logディレクトリにmessagesで始まるファイル名でローテ
ーションされたログファイル以外のファイルをコピーして置い
ている
⇒
ls -l /var/log/messages* -h
-rw-r--r-- 1 root root 28M 11月 28 15:28 2012 /var/log/messages
-rw-r--r-- 1 root root 37M 11月 4 03:19 2012 /var/log/messages-20121104
-rw-r--r-- 1 root root 38M 11月 11 03:14 2012 /var/log/messages-20121111
-rw-r--r-- 1 root root 40M 11月 18 03:44 2012 /var/log/messages-20121118
-rw-r--r-- 1 root root 55M 11月 25 03:33 2012 /var/log/messages-20121125
のようになっているため、それ以外のファイルは御座いません。
・Zabbixのキューに溜まってしまって処理の遅れが発生している
⇒
1秒あたりの監視項目数(Zabbixサーバの要求パフォーマンス) 92.64
また、更新待ちについても、全ての値が0となっております。
それ以外のアイテムの取得、トリガーによるメール送信も遅延していると言った事は発生していない状況となっております。
以上です、よろしくお願い致します。
mori - 投稿数: 20
いつも参考にさせて頂いております。
こちらの件ですが、何かいい方法はないでしょうか。
監視対象のサーバによって検知される時間にもかなりばらつきがあるようですが、
監視対象サーバのスペックはどれもあまり変わらず、
どちらかというとその間に出力される行数に関係があるようにも思えます。
というのも、
あるものは
1分間にログを数百行出すのに対し、
1分間にログを数十行ほどしか出さないようです。
こちらが問題である可能性は御座いますでしょうか?
TNK - 投稿数: 4769
最初のご質問内で記載頂いた「MaxLinesPerSecond」の値は調整さ
れていらっしゃいますか?
出力されるログがデフォルトの設定MaxLinesPerSecondの毎秒100行
よりも多いのであれば、それだけでログの遅延は発生しますし、大
量なログを処理するためにZabbixサーバやバックエンドのデータベ
ースの負荷が上昇して処理が遅延すれば、Zabbixサーバ全体として
処理し終えるまでの時間がのびてしまってログとのタイムスタンプ
のずれは発生しやすくなってしまうと思います。
負荷状況を考慮して、例えば、全てのログをZabbixで収集するので
はなく、キーワードを指定してZabbix側で収集するログをある程度
フィルタリングするのも対応策の1つだと思います。
mori - 投稿数: 20
ご返信が遅れてしまい申し訳ございません。
MaxLinesPerSecondの変更を行いましたが改善されていないようですので
フィルタリングを検討してみます。
TNK様が仰っておりますフィルタリングですが、
アイテム: logrt[/var/log/messages*,"[wW][aA][rR][nN]"]
以外にもフィルタリングする方法があるのでしょうか?
該当のエラーメッセージ自体(LOG1やLOG2)をフィルタリングするという事でしょうか?
以上です、よろしくお願い致します。