zoukankan      html  css  js  c++  java
  • zabbix4.0配置邮件告警

    我这里以qq邮箱告警为主。

    一、先开启qq邮箱的SMTP功能。

     

    点击开启,我这是开启过的。然后按照步骤一路验证就行了。最后记得吧最后的哪个校验码拍照留下来。

    二、在zabbix服务节点上面安装mailx

    我这里是centos7的,所以yum安装就行了,装完也不需要启动什么的。

    yum -y install mailx

    [root@zabbix .certs]# cat /etc/mail.rc

    。。。。。。在文件最后面加上。。。。
    set from=1234567@qq.com
    set smtp=smtp.qq.com
    set smtp-auth-user=1234567@qq.com
    set smtp-auth-password=yafifta236wdcbhw   ---》开启SMTP的时候最后的那串认证码,不是qq密码
    set smtp-auth=login
    set smtp-use-starttls
    set ssl-verify=ignore
    set nss-config-dir=/cert/.certs

    这里还需要一个证书的认证

    mkdir -p /cert/.certs

    echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /cert/.certs/qq.crt

    certutil -A -n "GeoTrust SSL CA" -t "C,," -d /cert/.certs -i /cert/.certs/qq.crt
    certutil -A -n "GeoTrust Global CA" -t "C,," -d /cert/.certs -i /cert/.certs/qq.crt
    certutil -L -d /cert/.certs/
     
     
    这里有个小bug;下面会给出解决方法。

    发一份测试邮件试试水:

    [root@zabbix .certs]#  echo "this is test mail" | mail -s "yang1" 345678@qq.com

     发现出错

    [root@zabbix .certs]# echo "this is test mail" | mail -s "yang1" 567895@163.com
    [root@zabbix .certs]# Error in certificate: Peer's certificate issuer has been marked as not trusted by the.

    但是我们去邮箱看看,确实已经收到了,所以这个就不管了,就这么用着先。

    三、配置一下zabbix服务端的文件

    随意找个文件夹,也可以自己建一个。比如我就这么健的。

    mkdir -p /usr/lib/zabbix/alertscripts  (这个目录大家可以随意创建,这个目录主要就是拿来存放发送邮件的监本的)

    接着在这里目录下面编写一个mailx.sh的脚本。内容如下。

    [root@zabbix ~]# cat /usr/lib/zabbix/alertscripts/mailx.sh
    #!/bin/bash
    messages=`echo $3 | tr ' ' ' '`
    subject=`echo $2 | tr ' ' ' '`
    echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1

    [root@zabbix ~]#  touch /tmp/mailx.log

    [root@zabbix ~]#  chown -R zabbix.zabbix  /tmp/mailx.log

    [root@zabbix ~]#  chmod +x /usr/lib/zabbix/alertscripts/mailx.sh

    [root@zabbix ~]#  chown -R zabbix.zabbix /usr/lib/zabbix/

    [root@zabbix ~]#  ./mailx.sh 1234565@163.com "你写邮件的题目" "你的邮件内容"     //测试发邮件脚本是否可以正常工作

    去你的邮箱里面看看,基本没什么意外都能收到的

     四、配置zabbix(这个很重要,因为你脚本放错了地方是没有用的)

    我这里是自己编译安装的,所以我根据自己的情况在zabbix_server.conf文件里面配置包括上面编写的发送邮件的脚本。

    [root@zabbix ~]# cat /usr/local/zabbix/etc/zabbix_server.conf

    。。。。。。

    LogSlowQueries=3000
    ListenPort=10051
    AlertScriptsPath=/usr/lib/zabbix/alertscripts  #主要是加上这么一条,因为这一条会告诉你的zabbix_server待会告警发送邮件的时候去哪里调动相应的脚本老操作

    修改好了就可以重启zabbix_server了

    [root@zabbix ~]# /etc/init.d/zabbix_server restart
    Restarting zabbix_server (via systemctl):                  [  OK  ]

    五、上面配置好了这些,接下载就要在zabbix的web界面配置一些正在的告警邮件。

    a)、点击管理---->报警没接类型--->创建媒体类型

    b)、步骤如下,选项那边不需要改动,直接忽略即可。

     

    内容:{ALERT.SENDTO}

         {ALERT.SUBJECT}

       {ALERT.MESSAGE}

    c)、看图的步骤

     

     

     

     到了这一步,直接点击更新即可

     d)、配置告警动作

     

    默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

    默认信息:

    告警主机IP地址:{HOST.CONN}

    告警主机:{HOSTNAME1}

    告警时间:{EVENT.DATE} {EVENT.TIME}

    告警等级:{TRIGGER.SEVERITY}

    告警信息: {TRIGGER.NAME}

    告警项目:{TRIGGER.KEY1}

    问题详情:{ITEM.NAME}:{ITEM.VALUE}

    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

     

     

    默认接收人:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

    恢复信息:

    告警主机IP地址:{HOST.CONN}

    告警主机:{HOSTNAME1}

    告警时间:{EVENT.DATE} {EVENT.TIME}

    告警等级:{TRIGGER.SEVERITY}

    告警信息: {TRIGGER.NAME}

    告警项目:{TRIGGER.KEY1}

    问题详情:{ITEM.NAME}:{ITEM.VALUE}

    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

     

     六、至此,zabbix的告警媒介算是部署好了

    但是没有告警内容是万万不行的。接下来我们配置告警。

    这里我自己配置了一个监控脚本,主要监控内存的使用率。超过90%就严重告警,低于80%就恢复告警。我这里之际内存512MB,所以很容易搞到90%以上。

     配置好这个就行了,只要她粗发告警,系统就会调用脚本给你发邮件了。

    但是等到真的发送邮件的时候,你会看到好像真发不出邮件,还报下面的错误。

     这是因为啊:我们上面的哪个证书目录权限不够。那么我们给他足够权限就行了。

    chmod -R 777 /cert/.certs      这就是上面聊到的bug。但是呢,改完这个之后还是会报下面的错

    但是,不要紧了。因为此时你的邮箱已经能够收到zabbix发的告警邮件了。这些错误可以忽略,因为这是为了信任证书的标记操作而已。

    最后,你想看zabbix都发了哪些邮件可以在这里查看。

  • 相关阅读:
    html input在标签内设置禁止输入空格
    JS判断json是否为空
    python常见问题集锦
    Node.js入门教程合集
    Vue入门教程合集
    将博客搬至CSDN
    Python 使用PyInstaller打包发布
    VSCode开发Python
    Python 验证码解析
    IntelliJ IDEA常见问题及使用技巧(持续更新)
  • 原文地址:https://www.cnblogs.com/xingyunfashi/p/13597460.html
Copyright © 2011-2022 走看看