ZABBIX官方文档3.4更新中提到了之前所有版本都存在瓶颈,本人觉得这个更新作用非常大就此坐下告警测试,官方原话:

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

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

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

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维

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配置保持一致

推送脚本一致,接口一致

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_02

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_03

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

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_04

1.2 Zabbix3.2.4单途径告警测试

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

1、 配置好告警推送

这里采用微信告警

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_05

2、手动关闭告警

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

其中:

基础告警49

微信发送9人

总计发出告警:441封

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_06

3、 等待执行发送结果

开始执行:

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_07

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

结束:

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_08

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

4、 查看zabbix图形

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_09

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

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

1、 配置好告警推送

这里采用微信告警

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_10

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

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_11

这里配置为单进程

3、手动关闭告警

其中:

基础告警49

微信发送9人

总计发出告警:441封

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_12

4.等待执行结果

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_13

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_14

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

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

1、配置好告警推送

这里采用微信告警

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

这里配置成无限制

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_15

3、手动关闭问题

其中:

基础告警49

微信发送9人

总计发出告警:441封

4、等待执行结果

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_16

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

再测试一组:

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_17

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

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_18

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

1、配置好告警推送

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

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

这里配置成无限制

3.关闭问题

其中:

基础告警49

微信发送9人

邮件发送7人

总计发出告警:784封

4.执行结果

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_19

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

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_20

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

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_21

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_22

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

5.查看zabbix图形

【转载:九一乐维】zabbix 3.4新功能值——告警并发_zabbix zabbix二次开发 乐维_23

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

1.6 并发告警总结

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