Zabbix邮件报警设置(并解决邮件内容为附件的问题)

匿名 (未验证) 提交于 2019-12-03 00:22:01

注:此文主要转载自CDSN中out有点man的博客,稍作了些改动。

环境

系统:CentOS7 
Zabbix版本:Zabbix3.4.4

安装邮件发送工具mailx

因为此处选择了mailx作为邮件发送工具,所以关闭其他自带的邮件服务,在安装zabbix的服务器上执行以下命令:

service sendmail stop  ##关闭sendmail systemctl disable sendmail.service  ##禁止开机启动sendmail service postfix stop  ##关闭postfix systemctl disable postfix.service  ##禁止开机启动postfix
然后安装mailx工具,该工具在光盘镜像挂载的路径下,安装命令如下:
yum install mailx
配置Zabbix服务端外部邮箱

打开文件vim /etc/mail.rc(如果mail.rc文件没有,就手动创建,添加如下内容)

set sendcharsets=iso-8859-1,utf-8 set from=xxx@163.com set smtp=smtp.163.com:25 set smtp-auth-user=xxx@163.com set smtp-auth-password=****

此处以163邮箱为例,密码需要此163邮箱正确的密码(根据实际情况进行修改)

测试邮件是否可以发出

echo "zabbix test mail" |mail -s "zabbix" yyy@163.com 
配置完成后,执行这条命令测试邮件是否可以正常发出,如果正常,邮箱yyy@163.com会收到来自xxx@163.com的测试邮件

编写发送邮件脚本

安装dos2unix转换工具( 解决发出的邮件是附件格式的问题 ) 
yum install dos2unix 
修改邮件脚本 

vim /usr/lib/zabbix/alertscripts/sendmail.sh 

注:放置邮件脚本sendmail.sh的路径根据zabbix_server.conf文件中规定的路径来放置,zabbix_server.conf文件所在具体路径为“/etc/zabbix/zabbix_server.conf”,此文件中没有改动的情况下默认为“/usr/lib/zabbix/alertscripts/”,如果需要可以修改此路径,修改完后,存放脚本时根据修改的路径来放置即可

修改邮件发送脚本内容:
#!/bin/bash  #export.UTF-8 ###解决发送的中文变成了乱码的问题  FILE=/tmp/mailtmp.txt  echo "$3" >$FILE  dos2unix -k $FILE ###解决了发送的邮件内容变成附件的问题。  /bin/mail -s "$2" $1 < $FILE

创建临时文件并授权

touch /tmp/mailtmp.txt  chown zabbix.zabbix /tmp/mailtmp.txt

上面的这个三个参数是接收从web页面中传递过来的:

$1:收件人邮箱地址; $2:邮件标题; $3:邮件内容

注意:要给脚本添加权限 
chmod 755 /usr/lib/zabbix/alertscripts/sendmail.sh

配置web页面
1、创建媒体类型




按图示填写完成后点击更新,就会在报警媒介类型中看到刚才创建的名为Email类型

2、给用户添加报警媒介



点击报警媒介,然后添加邮件接收人 

3、创建动作


名称自己起,除了操作,其它默认,或者根据自己需求添加 

添加新的操作 


添加完成后动作页面列表就会展示出来 
此时没有添加相应的触发器,如果系统中任何一台机器出现告警信息,就会通过邮件发送器发送到对应的邮箱中。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!