近日新装了zabbix3,官方支持中文,对于我这个英语渣来说实在是好消息,于是乎各方面配置完成,过程略去,简单说下遇到的一个蜜汁问题。
自动报警邮件使用脚本:
cat /usr/local/zabbix/share/zabbix/alertscripts/send_mail.sh
#!/bin/bash export LANG=en_US.UTF-8 echo "$3" | mail -s "$2" $1
添加报警媒介类型,脚本参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
以上配置后发现,任何报警邮件发送过来后,我收到的邮件都是邮件正文变成了一个dat类型的附件,导致非常麻烦,而手动执行脚本并给三个参数发送出来的邮件完全正常。百思不得其解,整过过程折腾数日就快要放弃时,突然想到是否可能是linux/windows之间格式问题,于是乎测试一把将脚本内容修改如下
#!/bin/bash export LANG=en_US.UTF-8 to=$1 subject=$2 echo "$3" > /tmp/zabbix_mailbody_$$ dos2unix /tmp/zabbix_mailbody_$$ mail -s "$subject" "$to" < /tmp/zabbix_mailbody_$$ rm -f /tmp/zabbix_mailbody_$$
转换后测试ok,报警邮件ok,天下太平。世界真美好