代码语言:javascript复制Tip: 这里有一个命令 qtools 不必太计较是怎么来的,只用知道它是用来进行urlencode转换的就可以了 也可以使用shell来代替,比如
echo '报警' | tr -d 'n' | xxd -plain | sed 's/(..)/%1/g'
echo '报警' |tr -d 'n' |od -An -tx1|tr ' ' %
只是上面的脚本在处理带有换行的内容时会产生问题,最后都会变成一行,格式就很难看
配置Zabbix Actions
进入zabbix的Actions创建界面
[Configuration]->[Actions]->[Create action]
[Action] 选项卡里进行相关配置,如果不发邮件的话 Default subject 和 Default message 的内容并不起作用
[Conditions] 里加入一个判断条件,就是 Trigger severity = Disater
这个级别可以根据具体应用场景自定义,也可以加入其它条件用来进行更精确的定位,但方法都一样
[Operations] 里配置Action的具体内容
我设定的是:
- 立即执行
- 调用远程命令的方式
- 目标为本机
- 自定义脚本
- 使用Zabbix server执行
- 命令内容
/tmp/sms_script/sms_sent_message.bash '1801601xxxx' 'zabbix测试系统报警:{TRIGGER.STATUS}:{HOST.NAME1}:{TRIGGER.NAME}: {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}:{EVENT.DATE} {EVENT.TIME}'
Tip: 可以使用Zabbix提供的宏组合出自已想要的信息,相关的宏信息可以参考 Zabbix Macros