故障现象:
同一个动作,配置了邮件报警和短信报警。
邮件报警发送成功,短信报警发送失败
查看数据库alerts表,显示短信邮件均发送成功
原因分析:
1、邮件发送成功,短信没有发送成功,证明zabbix配置的动作已生效。
2、触发器触发告警-->动作匹配触发器状态-->动作调用短信脚本-->动作调用消息变量。
问题解决步骤:
1、查看zabbix 的mysql ,alerts表,最新的消息在最后一条。
2、alert表有对应短信消息记录,说明确实有触发告警动作发送消息,查看error字段是否有异常,如有异常解决对应的异常
3、手动调用短信脚本,短信脚本发送内容为alerts的message字段内容。
结果:
在手动调用脚本加上alerts表message字段内容,执行报错,原因是短信内容不能有空格。
解决方式:去掉发送短信内容的空格,手动再调用短信脚本,测试后短信发送正常
总结:
1、短信发送脚本有BUG,导致有空格的短信报警消息发送有问题,改善短信发送的脚本
2、当短信发送失败后,手动执行脚本发送消息正常,就一直觉得短信脚本是正常的,需要模拟短信发送真实情况才能重现异常;