zabbix出現性能問題,於是清理了一下數據表,在 zabbix_server 端出現性能問題的時候,有大量的插入數據庫操作無法執行,觸發了大規模服務器不可達的報警
經過搜索發現這些信息是跨表聯合查詢出來的,涉及: triggers 和 events 兩個表
於是truncate events和problem兩個表,發現悲劇了
last 20 issue 中有大量的報警條目無法刪除掉,實際機器報警已經過去,機器現在是OK狀態,這樣顯示在dashboard中嚴重影響報警的查看
觸發條件: 在早前報警時候,在web管理頁面內點過 acknowledged 標記,以后抓取triggers 條目是 就會每次將 這個標記機器的報警抓取出來了.
處理辦法:
在events 表中 將acknowledged=1條目刪除掉,在triggers中將對應的頻繁報警條目相關內容刪除掉.(因為有些表字段含義不清楚,所有將相關條目都刪除了,操作之前最好備份操作的表,免得悲劇)
delete from events where acknowledged=1;
# 刪除在issue中出現最多的條目
delete from triggers where description like '%is unreachable for 8 minutes%' ;
delete from triggers where description like '%Host information was changed on%' ;
刪除后效果:
記錄操作記錄:
mysql> use zabbix;
Database changed
mysql> delete from events where acknowledged=1;
Query OK, 0 rows affected (0.20 sec)
mysql> delete from triggers where description like '%is unreachable for 8 minutes%';
Query OK, 2 rows affected (0.03 sec)
mysql> delete from triggers where description like '%is unreachable for 15 minutes%';
Query OK, 0 rows affected (0.01 sec)
mysql> delete from triggers where description like '%Queue data status issue%';
Query OK, 1 row affected (0.02 sec)
到此還沒有結束,剛才刪除的時候連帶模板中的觸發器一起刪除了,需要我們重新在對應的模板中重新添加觸發器,否則可能導致某些問題無法觸發報警