Zabbix使用外部邮箱服务器发送邮件报警
本来是想自己写一篇文章的,但是看到发现网上有写的不错的,于是乎又抄别人的文章,作为记录。
使用外部邮箱来发生邮件明显好处就是防止其他邮箱服务器当垃圾邮件处理,另一方面能降低收邮件延迟。
下面开始进行使用外部邮箱配置:
zabbix服务端配置:
操作系统:CentOS7_x64
1、 安装一个邮件发送程序mailx工具(msmtp+mutt也可以实现外部邮箱发送邮件)
[root@V253 ~]# yum install mailx -y
打开mailx配置文件,在末尾添加如下信息:
[root@V253 ~]# vi /etc/mail.rc
set from=baojingtongzhi@163.com smtp=smtp.163.com
setsmtp-auth-user=baojingtongzhi@163.com smtp-auth-password=123456
set smtp-auth=login
2、 测试是否能正常发送邮件
[root@V253 ~]# echo "this is test mail." |mail -s "test mail" xxx@163.com
注:如果正常收到邮件,说明配置成功!
3、 写邮件发送脚本
[root@V253 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts
[root@V253alertscripts]# vi sendmail.sh
1
2
3
4
5
6
|
#!/bin/bash file = /tmp/zabbix_mail .txt echo "$3" > $ file dos2unix -k $ file /bin/mail -s "$2" $1 < $ file # echo "$3" | mail -s "$2" $1 #如果发送邮件完全是英文的,可以只使用这一条 |
[root@V253alertscripts]# yum install dos2unix -y
注:使用dos2unix工具是为解决zabbix发送邮件出现乱码和收到的邮件是*.bin的情况。
$3 是前端定义的邮件内容,$2是前端定义的标题,$1是前端定义的收件人
更改脚本属主组并添加执行权限:
[root@V253alertscripts]# chown zabbix.zabbix sendmail.sh
[root@V253alertscripts]# chmod +x sendmail.sh
以上是服务端配置,以下是前端配置:
1、 创建一个媒体类型
2、 给用户添加收件人
3、 添加动作
先配置Operations菜单,否则在Action菜单会添加不成功:
自带的内容有些复杂,可以自定义邮件内容:
主题:Problem:{TRIGGER.NAME}
内容:
1
2
3
4
5
6
7
|
Host: {HOSTNAME1} Date: {EVENT.DATE} {EVENT.TIME} Level: {TRIGGER.SEVERITY} Problem: {ITEM.NAME}:{ITEM.VALUE} Item: {TRIGGER.KEY1} CurrentStatus: {TRIGGER.STATUS}:{ITEM.VALUE1} EventID: {EVENT.ID} |
使用了Operations里面报警信息为默认邮件信息,所以Action里面邮件信息就没用了!
配置正常的话,这时已经可以使用外部邮箱发邮件,你可以关掉一台zabbix_agentd测试下,看会不会触发告警,给你发邮件。祝你成功!
转载于:http://lizhenliang.blog.51cto.com/7876557/1709933
补充,我当时候设置的时候也有出现乱码并且把是内容当附件发送了。我是修改系统的字符集就ok了。