イベント検知が失敗する問題

お世話になります。

イベント検知が失敗する問題が発生しており相談させて下さい。

◆Zabbixサーバの環境
───────────────────────────────────
Zabbix:1.8.3
OS:RHEL5.5 (VM仮想OS)
CPU:Intel(R) Xeon(R) CPU X5650 @ 2.67GHz * 2
MEM:4GB
───────────────────────────────────

◆Zabbixサーバの状態
───────────────────────────────────
ホスト数 (有効/無効/テンプレート) 673 471 / 3 / 199
アイテム数 (有効/無効/取得不可) 10128 9892 / 0 / 236
トリガー数 (有効/無効)[障害/不明/正常] 36942 36843 / 99 [195 / 1338 / 35310]
1秒あたりの監視項目数(Zabbixサーバの要求パフォーマンス) 86.38 -
───────────────────────────────────

◆問題
───────────────────────────────────
Zabbixサーバの正常性を監視するため1時間おきにジョブスケジューラで
zabbix_senderを実行してメッセージを送信しているのですが、月に数回の頻
度でイベント検知が失敗する問題が発生しています。

問題が発生するパターンとしては、

①ヒストリデータが記録されていない
②ヒストリデータが記録されているがイベントが検知されていない

の2パターンがあるのですが、①のパターンでもzabbix_senderの実行結果は
"sent: 1; skipped: 0; total: 1"と正常に見えます。

また、上記とは別にログファイル監視でも同様にイベント検知が失敗する問題
が発生しています。
───────────────────────────────────

サーバの負荷についてはロードアベレージの平均が1.44と高めでZabbixエージ
ェントから大量のログを受信した時などは5以上になる時もあり、サーバの負
荷が原因でDB周りに問題が発生しているのではと考え、MySQLのエラーログは
確認したのですが特に原因となりそうなエラーは見つかりませんでした。

また、Zabbixのデバッグログの取得も何度かトライしているのですが、デバッ
グログを有効にしてzabbix_senderを連続して100回200回と実行しても問題が
再現せず取得できておりません。

当方で使用しているバージョンが1.8.3と古いのでなんらかのバグに該当して
いる可能性もあるのではと考えております。

もし同様の問題が発生した経験をお持ちの方がいらしたらアドバイスを頂け
ないでしょうか?

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

コメント表示オプション

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

問題が発生した時間帯のzabbix_server.logも確認してみて
いただけませんでしょうか?
DBアクセスのタイムアウトなどが発生していませんか?

ユーザー inattitab の写真

早速のコメントありがとうございます。

zabbix_server.logをQuery failedでgrepすると↓のようなメッセージが出力
されています。

1 Query failed: [#] Deadlock found when trying to get lock; try restarting transaction [delete from escalations ~]
2 Query failed: [#] Deadlock found when trying to get lock; try restarting transaction [insert into escalations ~]
3 Query failed: [#] Deadlock found when trying to get lock; try restarting transaction [update escalations ~]
4 Query failed: [#] Duplicate entry '#' for key # [insert into events ~]

メッセージからするとやはり↓このあたりのバグに該当していると考えるの
が妥当でしょうか?

https://support.zabbix.com/browse/ZBX-3889
https://support.zabbix.com/browse/ZBX-3033

ユーザー kodai の写真

該当している可能性が高いですね。

1.8.3はかなり古いので、早めにバージョンアップされることをお勧めします。細かいところでも動作が改善されていますし、パフォーマンスも良くなっています。

また、ホスト、アイテム数もそれなりにあるようですし、上記のDeadlockが出るものある程度負荷があるときだったはずなので、パフォーマンス周り(特にMySQLのパラメータチューニング)を見直せるようでしたら調整頂いた方がよいと思います。

ユーザー inattitab の写真

コメントありがとうございます。

最近2.0の検証をはじめたところなんですが・・・早めにバージョンアップで
きるようがんばります。

MySQLのパラメータチューニングはこちらや本家のフォーラムを参考に行って
いるんですが、RPMの5.1を利用しているので5.5へのバージョンアップも併せ
て検討しようと思います。

ユーザー kodai の写真

1.8系でも最新にバージョンアップすると問題は解消すると思います。(2.0にバージョンアップできればベストですが、1.8->2.0のバージョンアップはそれなりに大変です)

OS付属のMySQL 5.1でも最新のものですとInnoDB Pluginが使えるようになっています。5.5に上げるのも手間はかかるので、パフォーマンスの観点ですとまずはZABBIX-JPのリポジトリを利用するなどして1.8系の最新にアップデートして、MySQLのInnoDB Pluginを有効にするだけでもかなり違うと思います。

ユーザー inattitab の写真

ありがとうございます。
参考にさせて頂きます。