zoukankan      html  css  js  c++  java
  • 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 "
    " "
    ")     消息
    SUBJECT=$(echo $3 | tr "
    " "
    ")     主题
    MAILTO=$1                               邮箱
    
    echo "$MESSAGE" | mail -s "$SUBJECT" $MAILTO
    
    //执行脚本
    [zabbix@zabbix etc]$ /usr/local/share/zabbix/alertscripts/sendmail.sh  18808843007@163.com "hello
    kwkw
    4433" "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网页,添加脚本媒介里的信息模板

    将用户里的媒介改成脚本

    配置动作

    查看告警

  • 相关阅读:
    git提交代码到远程仓库github
    git报错记录
    关于VSCode的一些设置
    css之列表数据前加上小方框
    EChats使用报错之 《"TypeError: Cannot read property 'getAttribute' of undefined"》
    EChats使用之给图表加箭头以及渐变
    vue报错之(Do not use v-for index as key on <transition-group> children)
    在vue项目中使用mock模拟数据
    Vue项目中关于EChats的使用
    使用mock数据实现登录时的一次bug记录
  • 原文地址:https://www.cnblogs.com/mfdsg/p/14705684.html
Copyright © 2011-2022 走看看