zabbix 3.0邮件报警

作者:Chris

安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。
那是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。
在2.x版本不存在这个问题,默认会传3个参数。

# cat alert_mail.log
sendEmail[9271]: ERROR => You must specify at least one recipient via -t, -cc, or -bcc
# cat alert_sms.log
手机机号码不能为空

进入zabbix管理页面
点击管理->报警媒介类型 点击最右边的创建媒体类型

输入脚本名称,类型选择脚本
添加以下3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容

  • {ALERT.SENDTO}
  • {ALERT.SUBJECT}
  • {ALERT.MESSAGE}

邮件发送脚本

#!/bin/sh
#$1, $2, $3 mean Recipient, Subject and Message

to=$1
subject=$2
body=$3

DATE=`date "+%Y%m%d %H:%M:%S"`
cd /usr/local/zabbix-server/share/zabbix/alertscripts
echo $DATE >>alert_mail.log


MAIL='/usr/local/zabbix-server/share/zabbix/alertscripts/sendEmail'
$MAIL -s smtp.test.com.cn -f zabbix@test.com.cn -t "$to" -xu zabbix@test.com.cn -xp 'test2015test2015' -u "$subject" -m "$body" -o >> alert_mail.log

echo $1 >> alert_mail.log
echo $2 >> alert_mail.log
echo $3 >> alert_mail.log

您的评论

Build by Loppo 0.6.14