故障現象:
同一個動作,配置了郵件報警和短信報警。
郵件報警發送成功,短信報警發送失敗
查看數據庫alerts表,顯示短信郵件均發送成功
原因分析:
1、郵件發送成功,短信沒有發送成功,證明zabbix配置的動作已生效。
2、觸發器觸發告警-->動作匹配觸發器狀態-->動作調用短信腳本-->動作調用消息變量。
問題解決步驟:
1、查看zabbix 的mysql ,alerts表,最新的消息在最後一條。
2、alert表有對應短信消息記錄,說明確實有觸發告警動作發送消息,查看error字段是否有異常,如有異常解決對應的異常
3、手動調用短信腳本,短信腳本發送內容爲alerts的message字段內容。
結果:
在手動調用腳本加上alerts表message字段內容,執行報錯,原因是短信內容不能有空格。
解決方式:去掉髮送短信內容的空格,手動再調用短信腳本,測試後短信發送正常
總結:
1、短信發送腳本有BUG,導致有空格的短信報警消息發送有問題,改善短信發送的腳本
2、當短信發送失敗後,手動執行腳本發送消息正常,就一直覺得短信腳本是正常的,需要模擬短信發送真實情況才能重現異常;