zabbix4.2のダッシュボードが表示されない


トラブル

  • zabbix: AWS EC2
  • db: AWS RDS

zabbixのダッシュボードが表示失敗するので調査。RDSのCPUが急上昇、同然「現在のアクティビティ」数も急上昇中。
dbを再起動すると、正常になった。

対応

調査のため、RDSの「パフォーマンスインサイト」を有効化。
「現在のアクティビティ」が接続数からセッション数に変わった。
そのセッションがリンクになっているので押してみると、「パフォーマンスインサイト」が開かれた。
「データベースのロード」の「SQL」を見ると、問題の遅いクエリが見えた。

SELECT DISTINCT  e.eventid,e.clock,e.ns,e.objectid,e.acknowledged,er1.r_eventid
FROM events e
left JOIN event_recovery er1 ON er1.eventid=e.eventid
WHERE e.source='0' AND e.object='0' AND e.objectid='18502' AND  e.eventid<='52409906' AND e.value='1'
ORDER BY e.eventid DESC
LIMIT 20

「LIMIT 20」を外すと、早くなるのでINDEX不足だと分かる。
ということはzabbixのバグかな。普段はカスタマイズせずFIXを待つのだが。
後日、またサービス障害が起きたのでやむを得ずINDEXを追加した。

ALTER TABLE `event_recovery` ADD INDEX `event_recovery_idx_eventid_eventid` (`eventid`,`r_eventid`);
ALTER TABLE `events` ADD INDEX `events_idx_source_object_object_value_eventi` (`source`,`object`,`objectid`,`value`,`eventid`);

早い!というか正常に戻った。

参考

https://support.zabbix.com/browse/ZBX-15079
https://support.zabbix.com/browse/ZBX-13417

寺島広大氏からzabbixの企業理念を聞いたとき鳥肌が立った。素晴らしい会社。