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网页,添加脚本媒介里的信息模板

 

将用户里的媒介改成脚本

 

配置动作

 

查看告警

posted @ 2021-04-26 17:29  Raygussie  阅读(291)  评论(0编辑  收藏  举报