zoukankan      html  css  js  c++  java
  • zabbix 配置发送邮件报警

    标签:监控/SQLServer/Windows

    概述  

    本篇文章主要介绍如何配置zabbix借助外部邮件进行发送邮件报警,zabbix通过配置文件调用mailx来进行邮件的发送。在Centos6以上的版本默认已经安装了mailx。

    一、配置mailx

    1.查看当前系统是否已安装mailx

    [root@localhost ~]# yum list installed mailx
    Loaded plugins: fastestmirror, refresh-packagekit, security
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * epel: ftp.cuhk.edu.hk
     * extras: mirrors.163.com
     * updates: mirrors.163.com
    Installed Packages
    mailx.x86_64                                                                           12.4-8.el6_6                                    

    可以看到当前我的系统已经安装了mailx 12.4版本。

    2.设置163邮箱客户端授权

    登入到163邮箱在“设置”-“客户端授权密码”-开启

    在这里会要求你输入一个授权的登入密码,这个密码在下一步的配置mailx需要用到

    3.配置mailx

    vim /etc/mail.rc

    set from=cmh@163.com smtp=smtp.163.com
    
    set smtp-auth-user=cmh@163.com smtp-auth-password=cmh
    
    set smtp-auth=login

    我这里用的是163邮箱来发送邮件,cmh@163.com是163邮箱的登入用户,smtp-auth-password是第二步设置的密码。

    4.测试是否可以正常发送邮件

    echo "agent down" |mail -s "test mail" 123xxxxxxx@qq.com

    二、配置zabbix

    1.配置SendMail发送邮件脚本 

    mkdir  /etc/zabbix/alertscripts
    cd /etc/zabbix/alertscripts
    vim sendmail
    messages=`echo $3 | tr '
    ' '
    '`
    subject=`echo $2 | tr '
    ' '
    '`
    echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

    授予脚本可执行权限

    chown -R zabbix:zabbix /etc/zabbix/alertscripts
    chmod u+x sendmail.sh

    2.配置zabbix_server.conf

    在zabbix_server.conf中添加

    AlertScriptsPath=/etc/zabbix/alertscripts

    3.创建media types

    注意:这里的type选择Script;Script name的名称和前面创建的发送邮件脚本的名称保持一致

    4.配置发送邮件用户

    在用户选项里面Zabbix administrators组中点击admin用户,在用户的media属性里面创建右键的接收人和相应的安全级别

    这里的type选项是刚才创建的媒介类型的名称,send to是接受邮件的用户

    5.创建触发动作

    在configuration-actions在创建触发后的执行操作

    default subject:故障!!![{HOSTNAME1}]:{TRIGGER.NAME}
    
    recovery subject:已恢复!!![{HOSTNAME1}]:{TRIGGER.NAME}
    
    default message和recovery message都一样:
    
    告警主机:{HOSTNAME1}
    
    告警时间:{EVENT.DATE} {EVENT.TIME}
    
    告警等级:{TRIGGER.SEVERITY}
    
    告警信息:{TRIGGER.NAME}
    
    告警项目:{TRIGGER.KEY1}
    
    问题详情:{ITEM.NAME}:{ITEM.VALUE}
    
    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
    
    事件ID:{EVENT.ID}

    默认是1个小时内发送一次邮件通知,最小是60S

    6.示例

    接下来看一下监控主机无法ping通的邮件报警信息

    总结  

    配置过程中需要注意脚本的名称和配置文件对应。

    备注:

        作者:pursuer.chen

        博客:http://www.cnblogs.com/chenmh

    本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

    《欢迎交流讨论》

  • 相关阅读:
    最清晰易懂的Mysql CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP区别
    yield再理解--绝对够透彻
    解决pyspider框架web预览框过小问题
    python中的可哈希与不可哈希
    python json.dumps 中的ensure_ascii 参数引起的中文编码问题
    LeetCode 297. 二叉树的序列化与反序列化 | Python
    LeetCode 1300. 转变数组后最接近目标值的数组和 | Python
    LeetCode 30. 串联所有单词的子串 | Python
    LeetCode 739. 每日温度 | Python
    LeetCode 128. 最长连续序列 | Python
  • 原文地址:https://www.cnblogs.com/chenmh/p/7253052.html
Copyright © 2011-2022 走看看