Zabbix使用外部邮箱服务器发送邮件报警

  1. 云栖社区>
  2. 博客>
  3. 正文

Zabbix使用外部邮箱服务器发送邮件报警

优惠码发放 2017-12-01 13:49:49 浏览1421
展开阅读全文

使用外部邮箱来发生邮件明显好处就是防止其他邮箱服务器当垃圾邮件处理,另一方面能降低收邮件延迟。

下面开始进行使用外部邮箱配置:

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、  创建一个媒体类型

wKioL1Y6z2_iS0BZAAIo0_XuZ0o368.jpg

wKioL1Y6z3nxREMBAAJGhEaNbMM447.jpg

2、  给用户添加收件人

wKioL1Y6z42iK1gIAANiWuRCzKc618.jpg

3、  添加动作wKiom1Y6z1ixaneyAAItC1e_3ko933.jpg

先配置Operations菜单,否则在Action菜单会添加不成功:

wKiom1Y6z9uDwnABAAW2aE2Le0M084.jpg

自带的内容有些复杂,可以自定义邮件内容:

主题: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}

wKioL1Y60C-h303yAAN3zeTsGW8955.jpg

wKioL1Y60D6jUIu3AAMHGMcelsk220.jpgwKiom1ajGwayygecAAF0I1voQIM991.jpg

使用了Operations里面报警信息为默认邮件信息,所以Action里面邮件信息就没用了!

wKioL1Y60F7zOMcBAAIBSE6keZY834.jpg

wKiom1Y60DCDd2cPAAPa0RC7dTk448.jpg

配置正常的话,这时已经可以使用外部邮箱发邮件,你可以关掉一台zabbix_agentd测试下,看会不会触发告警,给你发邮件。祝你成功!

网友评论

作者关闭了评论