• 监控zabbix 3.4.11异常通过邮件报警步骤


        监控的目的一个是可以查看历史状态,可以对比零晨和工作区间数据的对比,以便后期进行优化指导。还有一个是报警,总不能等到服务器出现异常了才去从头查是什么问题吧。所以这篇主要介绍报警中最基础的一个 配置邮件预警。

    安装邮件发送工具mail 

    我选择的是mailx,所以的关闭其他的邮件发送工具

    #systemctl stop sendmail  #关闭
    #systemctl disable  sendmail #禁止开机启动
    #systemctl stop postfix  #关闭
    #systemctl disable  postfix#禁止开机启动

    安装mailx

    安装zabbix之后,设置邮件脚本报警的时候,发送的报警内容变成了tcmime.1278.1278.1724.bin或ATT00001.bin。

    安装dos2unix:
    yum -y install mailx dos2unix //安装mailx工具和dos2unix转换工具

    #yum install mailx -y
    #yum -y install dos2unix #安装mailx工具和dos2unix转换工具

    配置Zabbix服务端外部邮箱

    #vim /etc/mail.rc #在此配置文件中添加
    set from=aaa@163.com smtp=smtp.163.com #自己的邮箱
    set smtp-auth-user=aaa@163.com
    set smtp-auth-password=yaya@312588
    set smtp-auth=login

    测试邮件是否可以发出

    echo "zabbix test mail" |mail -s "zabbix" aaa@163.com
    #这时候,邮箱aaa@163.com会收到来自aaa@163.com的测试邮件

    编写发送邮件脚本

    # vim /etc/zabbix/zabbix_server.conf
    AlertScriptsPath=/usr/lib/zabbix/alertscripts #此路径是编写发送邮件的路径
    #cd /usr/lib/zabbix/alertscripts
    #vim sendmail.sh
    
    #!/bin/bash
    
    export LANG=zh_CN.UTF-8
    
    file=/tmp/zabbix_mail.txt
    echo "$3" > $file
    dos2unix -k $file
    /bin/mailx -s "$2" $1 < $file
    上面的这个三个参数是接收从web页面中传递过来的,$1:收件人邮箱地址;$2:邮件标题;$3:邮件内容

    配置web页面

     创建媒体类型 →创建媒体类型

    添加以下3个参数,分别对应sendmail.sh脚本需要的3个参数:收件人地址、主题、详细内容

    {ALERT.SENDTO}
    {ALERT.SUBJECT}
    {ALERT.MESSAGE}
    注:
    如果在3.0中不添加这三个参数会报错,因为在3.0以后zabbix允许自定义参数了,所以不会默认传递参数,在2.0的时候会默认传递三个参数,所以在3.0如果不写这三个参数会报错

    给用户添加报警媒介

    以Admin用户为例 管理→用户→点击Admin

     

    添加收件人

     添加动作

    填写动作选项

    除了自己填写一个名称以外,修改成中文:参考如下

    默认接收人:
    故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
    默认信息:
    告警主机:{HOSTNAME1}
    告警时间:{EVENT.DATE}{EVENT.TIME}
    告警等级:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警项目:{TRIGGER.KEY1}
    问题详情:{ITEM.NAME}:{ITEM.VALUE}
    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
    事件ID:{EVENT.ID}

    恢复主题:

    恢复{TRIGGER.STATUS},服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
    恢复信息:
    告警主机:{HOSTNAME1}
    恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
    #这里注意了,很多教程都是复制故障通知消息,这里时间需要设置为EVENT.RECOVERY.DATE 才会发送正确的故障恢复时间,否则会发送故障发生时的时间。
    告警时间:{EVENT.DATE}{EVENT.TIME}
    告警等级:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警项目:{TRIGGER.KEY1}
    问题详情:{ITEM.NAME}:{ITEM.VALUE}
    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
    事件ID:{EVENT.ID}

    填写条件选项

    解释:

    默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendemail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。

    假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送 间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。
    到这我们的邮件报警配置就完成了,这时只要我们设置的触发器触发,就会自动给我发送报警邮件。

    测试邮件报警

    此处模拟的是监控服务器的nginx宕机,给邮件接收者发邮件

    此时手动将被监控服务器上nginx停用,这将收到触发后的邮件(故障发生和故障恢复)

  • 相关阅读:
    [SoapUI] 在执行某个TestSuite之前先执行login或者其他什么前置步骤
    [Groovy] How to check if element in groovy array/hash/collection/list?
    [Groovy] List和Map用法搜集
    [Groovy] 实战 Groovy, for each 剖析
    Groovy基本语法
    [BAT] xcopy拷贝远程服务器共享文件到本地
    [BAT] Access Denied in XCopy
    [BAT] 执行xcopy命令后出现Invalid num of parameters错误的解决办法
    [Automation] 自动化测试度量标准
    jsp页面直接编写csss
  • 原文地址:https://www.cnblogs.com/yaun1498078591/p/9939854.html
Copyright © 2020-2023  润新知