zabbix告警积压的处理
作者:互联网
前言
在某些时候,由于网络方面的故障(例如:交换机调整或某机房网络波动),会导致成百上千服务器报警,由于报警邮件发送频繁导致邮箱被禁,zabbix仍尝试多次发送,最后导致zabbix堆积大量告警队列,然后产生延时。当网络恢复后,并且联系邮箱管理员解除限制后,仍能不断的收到延迟的报警和恢复邮件。
为了避免过时的报警,影响监控,我们需要把zabbix积压的消息处理掉,让它不再发送。
方法一
修改mysql的zabbix库alerts表,把状态改为已发送或发送失败
<1>为了避免误操作,alerts表备份
mysqldump -u账号 -p密码 zabbix alerts > alerts.sql
<2>查看待发送消息堆积的数量
use zabbix;
select count(*) from alerts;
select count(*) from alerts where status =0;
0待发送
1已发送
2发送失败
<3>修改未发送的为已发送
update zabbix.alerts set status = 1 where status = 0;
<4>重启zabbix-server
systemctl restart zabbix_server
<5>验证功能
关闭一个端口,是否有报警
方法二
直接清理alerts表,会导致action也被清理(不建议删库)
<1>为了避免误操作,alerts表备份
mysqldump -u账号 -p密码 zabbix alerts > alerts.sql
<2>获取创建表的语句
use zabbix;
show create table alerts;
<3>删除表
drop table alerts;
<4>使用获取的创建表语句创建
CREATE TABLE `alerts` (
`alertid` bigint(20) unsigned NOT NULL,
`actionid` bigint(20) unsigned NOT NULL,
`eventid` bigint(20) unsigned NOT NULL,
`userid` bigint(20) unsigned DEFAULT NULL,
`clock` int(11) NOT NULL DEFAULT '0',
`mediatypeid` bigint(20) unsigned DEFAULT NULL,
`sendto` varchar(100) COLLATE utf8_bin NOT NULL DEFAULT '',
`subject` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`message` text COLLATE utf8_bin NOT NULL,
`status` int(11) NOT NULL DEFAULT '0',
`retries` int(11) NOT NULL DEFAULT '0',
`error` varchar(128) COLLATE utf8_bin NOT NULL DEFAULT '',
`esc_step` int(11) NOT NULL DEFAULT '0',
`alerttype` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`alertid`),
KEY `alerts_1` (`actionid`),
KEY `alerts_2` (`clock`),
KEY `alerts_3` (`eventid`),
KEY `alerts_4` (`status`,`retries`),
KEY `alerts_5` (`mediatypeid`),
KEY `alerts_6` (`userid`),
CONSTRAINT `c_alerts_1` FOREIGN KEY (`actionid`) REFERENCES `actions` (`actionid`) ON DELETE CASCADE,
CONSTRAINT `c_alerts_2` FOREIGN KEY (`eventid`) REFERENCES `events` (`eventid`) ON DELETE CASCADE,
CONSTRAINT `c_alerts_3` FOREIGN KEY (`userid`) REFERENCES `users` (`userid`) ON DELETE CASCADE,
CONSTRAINT `c_alerts_4` FOREIGN KEY (`mediatypeid`) REFERENCES `media_type` (`mediatypeid`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
<5>重启zabbix-server
systemctl restart zabbix_server
标签:积压,DEFAULT,alerts,发送,zabbix,KEY,告警,NULL 来源: https://blog.csdn.net/GX_1_11_real/article/details/119571151