zabbix三种邮箱告警配置
本地邮箱告警配置
配置本地邮箱告警前,我们要用到mail命令
所以先安装mail命令
[root@mf ~]# yum -y install mailx
使用mail命令发送邮箱
[root@mf ~]# echo "test" | mail -s "20210426" 18808843007@163.com
/usr/sbin/sendmail: No such file or directory
"/root/dead.letter" 9/218
. . . message not sent.
//发送邮箱报错,它说没有/usr/sbin/sendmail,我先安装邮箱服务
[root@mf ~]# yum -y install postfix
//安装好后设置开机自动启动
[root@mf ~]# systemctl enable --now postfix
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.
[root@mf ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 100 127.0.0.1:25 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10051 0.0.0.0:*
LISTEN 0 128 0.0.0.0:9000 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
//看到25端口我们就可以发送邮箱了
[root@mf ~]# echo "test" | mail -s "20210426" 18808843007@163.com
[root@mf ~]#
没有发现报错,打开163邮箱查看
在邮箱里可以看到发送的信息
频繁发送可能会导致邮箱变成黑名单,要在用户名后加example.com
[root@mf ~]# hostnamectl set-hostname zabbix.example.com
[root@mf ~]# bash
[root@zabbix ~]# hostname
zabbix.example.com
[root@zabbix ~]# echo '患者姓名:木峰' | mail -s '社交恐惧症+自闭症' 18808843007@163.com
添加白名单
这样配置要手动操作完成,我们可以通过脚本来实现
本地邮箱+脚本告警配置
配置告警脚本
//查看脚本位置
[root@zabbix ~]# find / -name alertscripts
/usr/local/share/zabbix/alertscripts
如果你配置文件不改的话可以放在着儿
//取消/usr/local/etc/下的zabbix_server.conf文件里的alertscripts字段的注释
[root@zabbix ~]# cd /usr/local/etc/
[root@zabbix etc]# ls
zabbix_agentd.conf zabbix_server.conf
zabbix_agentd.conf.d zabbix_server.conf.d
[root@zabbix etc]# vim zabbix_server.conf
。。。。。。
# Mandatory: no
# Default:
AlertScriptsPath=${datadir}/zabbix/alertscripts
。。。。。。
//创建脚本
[root@zabbix zabbix]# ls
alertscripts externalscripts
[root@zabbix zabbix]# cd alertscripts/
[root@zabbix alertscripts]# ls
[root@zabbix alertscripts]# vim sendmail.sh
[root@zabbix alertscripts]# chmod +x sendmail.sh
[root@zabbix alertscripts]# vim sendmail.sh
#!/bin/bash
echo "有内鬼,终止交易!" | mail -s "boss" 18808843007@163.com
//设置临时权限,使用绝对路径执行脚本
[root@zabbix etc]# su - zabbix -s /bin/bash
su: warning: cannot change directory to /home/zabbix: No such file or directory
[zabbix@zabbix etc]$ /usr/local/share/zabbix/alertscripts/sendmail.sh [zabbix@zabbix etc]$
通过脚本执行方便了许多,但是脚本还不完善,所以要完善脚本
//完善后的脚本,tr是替换命令 [root@zabbix alertscripts]# vim sendmail.sh #!/bin/bash MESSAGE=$(echo $2 | tr "\r\n" "\n") 消息 SUBJECT=$(echo $3 | tr "\r\n" "\n") 主题 MAILTO=$1 邮箱 echo "$MESSAGE" | mail -s "$SUBJECT" $MAILTO //执行脚本 [zabbix@zabbix etc]$ /usr/local/share/zabbix/alertscripts/sendmail.sh 18808843007@163.com "hello\r\nkwkw\r\n4433" "123"
配置zabbix网页
添加媒介
设置脚本媒介
把用户里的媒介从邮箱改成脚本
配置动作
添加信息模板
输入信息
[root@mf1 tmp]# echo 'i am chanice' >> /tmp/mufeng
查看
第三方邮箱告警配置
添加新媒介
添加信息模板
更改用户媒介
配置邮箱动作,从脚本改成邮件
输入信息,查看告警
[root@mf1 tmp]# echo 'i am chanice' >> /tmp/mufeng
第三方邮箱+脚本告警配置
配置mail.rc文件,脚本是上面的配置脚本
[root@zabbix ~]# find / -name mail.rc
/etc/mail.rc
[root@zabbix ~]# vim /etc/mail.rc
。。。末尾。。。。
set smtp=smtp.163.com
set smtp-auth=login
set smtp-auth-user=18808843007@163.com
set smtp-auth-password=UXUOYNSTGLVNUDWH
set from=18808843007@163.com
配置zabbix网页,添加脚本媒介里的信息模板
将用户里的媒介改成脚本
配置动作
查看告警