自定义告警,我的理解是:当出现告警的时候,触发执行脚本,并将告警的信息传递给脚本,在脚本中将信息发送给相关人员
告警的信息的3个变量
{ALERT.SENDTO} 接收人
{ALERT.SUBJECT} 主题
{ALERT.MESSAGE} 消息体
1、进入:/usr/lib/zabbix/alertscripts
新建脚本文件:test.sh,写入一下内容:
##接收zabbix中得变量 {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
SENDTO=$1
SUBJECT=$2
MESSAGE=$3
##将变量输入到文件中
echo "$SENDTO" >>/tmp/zlw.log
echo -e "--------------\n" >> /tmp/zlw.log
echo "$SUBJECT" >>/tmp/zlw.log
echo -e "--------------\n" >> /tmp/zlw.log
echo "$MESSAGE" >>/tmp/zlw.log
echo -e "--------------\n" >> /tmp/zlw.log
time=`date +'[%Y-%m-%d %H:%M:%S]'`
echo -e "$time--------------结束----------\n" >> /tmp/zlw.log
2、管理——报警媒介类型——创建媒体类型
类型:脚本
脚本名称:test.sh
配置消息模板
有问题的时候发送的消息
问题解决了发送的消息
3、配置—动作—创建动作
操作:
恢复操作:
3、用户设置(User Settings)—报警媒介
选择类型,收件人填个手机号
4、测试
我这里测试的在某个机器上,home目录下的文件大于10个就报警
报表—动作日志
说明:在脚本中既然都能够获取到zabbix告警的相关信息,那么后续的处理就看自己的具体要求了,
比如发送短信,发送微信,发送邮件等。