Zabbix 3.4新功能剖析——告警并发

2018-08-25 15:25

作者:乐维

摘要:

ZABBIX官方文档3.4更新中提到了之前所有版本都存在瓶颈,九一乐维团队觉得这个更新作用非常大就此做一些告警测试,官方原话:在以前的版本中使用单个告警器进程来发送问题通知,告警是一个一个的发出,在大规模的环

ZABBIX官方文档3.4更新中提到了之前所有版本都存在瓶颈,九一乐维团队觉得这个更新作用非常大就此做一些告警测试,官方原话:

在以前的版本中使用单个告警器进程来发送问题通知,告警是一个一个的发出,在大规模的环境中有大量事件紧挨连续发生的情况下,告警可能会发生延迟。类似地,在实时性较高和实时性较低的媒体类型(如短信和电子邮件)混合存在的环境中,可能会存在延时,邮件的发送需要等待短信发送完成。

在新版本中,并行处理告警功能已经实现,有一个新的告警管理器进程,如果需要,可以向多个“worker”进程分发告警。媒体类型被并行处理,每个媒体类型可以配置最大并发会话数,但服务器上的告警器进程总数只能由新的StartAlerters 参数限制,每个触发器生成的告警都会顺序的进行处理。

有三个可用的新告警处理选项在媒体类型配置中: 并发会话, 重试 和 重试间隔: 


1.1 实验环境

实验环境:

Zabbix3.2.4 IP:192.168.1.2

Zabbix3.4.0 IP:192.168.1.3

单次告警49个

收发人员微信9人,邮件7人

Web和zabbix_server_conf配置保持一致

推送脚本一致,接口一致 



Zabbix3.4.0 IP:192.168.1.3上调整StartAlerters 参数 


1.2 Zabbix3.2.4单途径告警测试

说明:3.4前的版本在出现大量告警时都会出现大的延时情况,这里触发下下3.2.4的告警处理情况做对比。

1、配置好告警推送

这里采用微信告警。


2、手动关闭告警

(不得不说这个功能虽然是为了填补zabbix有时候没能自动关毕问题的坑,另外用来做告警推送测试是个很有用的功能。)

其中:

基础告警49

微信发送9人

总计发出告警:441封 


3、 等待执行发送结果

开始执行: 


这里可以看到huawei的告警还没有推送完,cisco的告警一直在排队,此时已经过了1分钟。

结束: 


这里可以看到完全推送完441封告警到微信人员上zabbix3.2.4需要3分钟多,这里还没有算上网络延时,有些告警1分钟采集频率,所以3分钟后推送到相关人员相对来说还是太久了。

4、 查看zabbix图形 


这里可以看到告警串行的瓶颈已经触碰到。

1.3 Zabbix3.4.0单途径单并发告警测试

1、配置好告警推送

这里采用微信告警。


2、配置微信告警并发进程数 


这里配置为单进程。

3、手动关闭告警

其中:

基础告警49

微信发送9人

总计发出告警:441封 



4.等待执行结果 



这里可以看到单并发下和3.2.4的效果是一样的。

1.4 Zabbix3.4.0单途径多并发告警测试

1、配置好告警推送

这里采用微信告警。

2、配置微信告警并发进程数

这里配置成无限制。


3、手动关闭问题

其中:

基础告警49

微信发送9人

总计发出告警:441封

4、等待执行结果 


在此可以看到,出乎意料的快呀,30秒不到居然全部发完了。

再测试一组: 


同样也是30秒内(截图手慢了点),个人微信也全部收到。


1.5 Zabbix3.4.0双途径多并发告警测试

1、配置好告警推送

这里采用微信告警和邮件告警。

2、配置微信和邮件告警并发进程数

这里配置成无限制。

3.关闭问题

其中:

基础告警49

微信发送9人

邮件发送7人

总计发出告警:784封

4.执行结果 


这里可以看出多一个途径后不能在30秒内全部发完了。 


这里可以看出1分钟内可以全部发送完毕800多封告警(其中两个用户没有配置邮箱所以显示失败),同时微信和邮件也全部收到。



邮箱部分邮件被自动识别为垃圾邮件删除了。

5.查看zabbix图形 


这里可以看出在zabbix_server_conf设置并发进程参数为30足够应付上千封邮件的推送。

1.6 并发告警总结

通过zabbix3.2.4和3.4.0的对比可以看出zabbix3.4版本对告警优化比之前的版本快了不止5、6倍,如果您所在的环境配置了大量用户接收告警的或多种途径接收的话,九一乐维团队非常建议使用zabbix3.4版本。