环境
系统: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工具,该工具在光盘镜像挂载的路径下,安装命令如下: 配置Zabbix服务端外部邮箱
打开文件vim /etc/mail.rc(如果mail.rc文件没有,就手动创建,添加如下内容)
set sendcharsets=iso--,utf-
set [email protected]
set smtp=smtp.com:
set [email protected]
set smtp-auth-password=****
此处以163邮箱为例,密码需要此163邮箱正确的密码
测试邮件是否可以发出
echo "zabbix test mail" |mail -s "zabbix" [email protected]
配置完成后,执行这条命令测试邮件是否可以正常发出,如果正常,邮箱[email protected]会收到来自[email protected]的测试邮件
编写发送邮件脚本
安装dos2unix转换工具( 解决发出的邮件是附件格式的问题 )
rpm -ivh /mnt/cdrom/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm
修改邮件脚本
vim /usr/lib/zabbix/alertscripts/sendmail.sh
修改邮件发送脚本内容:
#!/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、创建媒体类型
管理–>报警媒介类型–>创建媒体类型
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90zdNlXQU1UdGdlYwY1MiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DN1kjNxgDMxITOyEDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
按图示填写完成后点击更新,就会在报警媒介类型中看到刚才创建的名为Email类型
2、给用户添加报警媒介
此处以Admin用户为例 管理–>用户–>点击Admin
点击报警媒介,然后添加邮件接收人
3、创建动作
名称自己起,除了操作,其它默认,或者根据自己需求添加
添加新的操作
添加完成后动作页面列表就会展示出来
此时没有添加相应的触发器,如果系统中任何一台机器出现告警信息,就会通过邮件发送器发送到对应的邮箱中。