ZABBIX1.9のログ監視について

フォーラムの情報参考にさせていただいています。

本件、ZABBIX1.9.7のVMアプライアンスを利用してログ監視の確認をしておりましたところ、正確に通知を受け取れないケースがありましたので報告と、解決の助言を頂きたく思いました。

なお、別のスレッドとしてこちらは確認しています。
http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=646&forum=6

■確認内容
・ログを短時間(2秒程度)で5件出力し、ログ内容が5件分適切に通知されるか
・ZABBIXサーバサービスを停止中にログを5件出力し、起動後にログ内容が5件分適切に通知されるか

ログの監視はアクティブチェックにて、アクションのマクロは{ITEM.VALUE}を用いています。

■結果
どちらのケースも1件目のログ1通と、最後のログ4通となり、適切な通知とは言い難いものになりました。

試しにzabbix_agentd.confにて1行ずつ送れないかと、MaxLinePerSecond=1としてみましたが特に変化はありませんでした。

ZABBIXのバージョンが2.0となっても、ログを確実に通知できるようにはならないのでしょうか。

以上です。宜しくお願い致します。

コメント表示オプション

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

手元に1.9.9の開発版の環境しか動いていなかったので、その環境
上で試してみましたが、単純にログファイルにechoコマンドで連続
して追記するようにしても、すべての行ごとにアクションを起こし
てメール送信できています。
echoコマンドを繰り返すだけなので、1秒よりもかなり短い間に5件
発生させています。

もう少し具体的に、

 ・アイテム
 ・トリガー
 ・アクション

のそれぞれに対して、どのように設定されたのかお教え頂けません
でしょうか?

ユーザー Cuturn の写真

---アイテム---
説明:TESTLOG(/var/log/testlog.log)
キー:log[/var/log/testlog.log]
更新間隔:20
ヒストリの保存期間:90
タイプ:Zabbixエージェント(アクティブ)
ステータス:アクティブ
アプリケーション:Log files

---トリガー---
説明:テストログ監視検知
条件式:(({Zabbix server:log[/var/log/testlog.log].regexp(.*)})#0)
依存関係:無
イベント生成:ノーマル+障害イベントを継続して生成
深刻度:致命的な障害
コメント、URLなし

---アクション---
名前:Send a message to admin
Default escalation:3600
デフォルトの件名:{TRIGGER.NAME}: {STATUS}
デフォルトのメッセージ:
{TRIGGER.NAME}: {STATUS}
{ITEM.VALUE}
リカバリメッセージ:なし
有効
コンディション:無
オペレーション:ユーザにメッセージを送信 Admin

メディアタイプはデフォルトのメール通知を利用して、メール送信を失敗させています。
実際に通知内容について確認しているのはイベントリストです。

---実際に出力したログ(ヒストリより)---
[2011.12月.16 06:29:26] - 2011/12/16 13:29:13:828720495 hoge ←2〜5件目
[2011.12月.16 06:29:26] - 2011/12/16 13:29:13:506641948 hoge
[2011.12月.16 06:29:26] - 2011/12/16 13:29:13:183423838 hoge
[2011.12月.16 06:29:26] - 2011/12/16 13:29:12:820703522 hoge
[2011.12月.16 06:29:26] - 2011/12/16 13:29:12:454387569 hoge ←1件目

以上です。

ユーザー kodai の写真

Zabbix SIAのサイトからダウンロードできるのは1.8系のVMアプライアンスだけだと思うのですが、1.9.7のVMアプライアンスはどのようにして作成されたでしょうか?

もし、1.8系をベースにアップグレードされたのであれば、ログのnanosecond処理が有効にならないために、上記ログ検知の動作は1.8と同様になります。
1.9.8リリースノートの「ヒストリデータにナノ秒を使用」の項を参照ください。
http://www.zabbix.jp/modules/news/article.php?storyid=236

いちどデータベースを削除して1.9系の初期データを利用して作り直してみてください。

ユーザー Cuturn の写真

ダウンロードは下記サイトから行いました。

http://www.zabbix.com/download.php

今は下記のように1.9.8になっていますが、
1.9.7のvmx含むファイルがダウンロード可能になっていました。
仮想マシン名はZabbix_1.9_x86.i686-1.9.7です。

-----------------------------------
Zabbix 1.9.8 (Third Beta Release of 2.0)

Package Release Date Release Notes Zabbix Manual Download
Zabbix Sources 1.9.8 25 November, 2011 Download
Zabbix Appliance
VMware / VirtualBox (.vmdk) 1.9.8 6 December, 2011 Download
------------------------------------

ナノ秒というのはデータベース上の、history類のテーブルの「ns」項目に表れるのでしょうか。
そういう意味ですと、確かにns項目は0ばかりでアクティブになっていないかもしれません。

と思ったらeventsテーブルはns項目に細かいデータが入っておりました。

これはnsが有効なのでしょうか。

ユーザー kodai の写真

ダウンロードページに1.9.x用VMがあったんですね。すいません、見落としていました。 :-?

となると、nanosecond処理は有効になっているはずです。eventsテーブルのnsにデータが入っているようでしたら間違いありません。

最終的にアクション時のマクロ展開がナノ秒の精度で実行されるには、history_logのテーブルにもnsのデータが入っている必要があると思うのですが、こちらはどうなっているでしょうか?

ユーザー Cuturn の写真

history_logテーブルのnsが0でないデータを取得すると空であるので、ナノ秒のデータが取得できていない気がします。

---------------------------
# mysql zabbix
mysql> SELECT * FROM history_log where NOT ns=0;
Empty set (0.00 sec)
---------------------------

同様に調べた結果、下記のhistory関係のテーブルは全てns項目が0となっています。

history,history_str,history_str_sync,history_sync,history_text,history_uint,history_uint_sync

一方eventsテーブルはnsが0でないものが195/233でした。

ホストの監視設定はほとんど変更しておらず、
スレッド内にて記述したログ監視の他は「Zabbix server」デフォルトのアイテム/トリガーがアクティブになっています。
各historyテーブルに値が無いということはありません。

以上です。

ユーザー TNK の写真

1.9.7のアプライアンスでは、msecの分解能に対応していないよう
です。
1.9.8のアプライアンスであれば、先日と同様にスクリプトで連続
してログファイルに追記しても、それぞれの行を処理できています。

連続して出力されたログの行を、それぞれ適切に処理できるように
なるかを確認されたいのであれば、1.9.8のアプライアンスがダウ
ンロードできるようになっているようですので、そちらを利用され
てはいかがでしょうか?

ユーザー Cuturn の写真

お世話になっております。

1.9.8のアプライアンスにて試したところ、
きちんとログの順序通り、全てのログが検知されました。

教えていただきありがとうございました。
お騒がせしました。

以上です。