前置条件:创建用户注意权限,以及使用sendmail这个方式
一、安装邮件发送工具mutt,sendmail
https://blog.youkuaiyun.com/weixin_43258559/article/details/108227008
配置Zabbix服务端外部邮箱
vim /etc/mail.rc
set from=xxx@163.com smtp=smtp.163.com
set smtp-auth-user=xxx@163.com smtp-auth-password=你的密码(现在很多邮箱要授权码-----看看是否需要填写授权码来代替密码)
set smtp-auth=login
测试发送邮件
echo “bdy” | mutt -s “test” aaa@qq.com
二、Zabbix 控制台配置Media types,Actions
Media types
find / -name alertscripts
/usr/lib/zabbix/alertscripts
把脚本放该文件下
脚本名字:sendmail.sh
#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" |mutt -e "set content_type=text/html" -s "${subject}" $1 >> /var/log/sendmail.log 2>&1
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
Actions:命名一般以报警+项目,action为匹配条件,给trigger标记tag,trigger触发后匹配action里对应的tag,执行action,action有两种方式 a:远程命令 b:send message
Operation details
配置收件人
Recovery operaitions 也一样配置
如果一直发送失败,可能是权限问题,在zabbix_server.conf文件末尾追加一行
AllowRoot=1
重启服务器在测试
zabbix5.0 直接在web界面进行配置mail,我使用的是加密的方式,aliyun默认禁掉了25只有使用465端口,需要在服务器下载证书
可以参考我的
Linux个人机器使用465发送邮件
如果没有使用授权码端口就是25,且账户密码为登录密码,使用授权码的话,密码就要更改为授权码不是登录密码了
然后测试,使用