zoukankan      html  css  js  c++  java
  • 邮件报警以及服务端能否ping通客户端的小例子(三)

           就这个小小的东西,弄了一天,弄的头晕眼花,毕竟第一次弄这个,记录下来,若干年之后,回看这些笔记,不知是什么样的感想,哈哈。我学一个东西的时候喜欢系统的来,一点一点的来,做这个的时候想法很简单,搭建出来服务端和客户端了,得把zabbix用起来,怎么用,怎么用好。就想到先来一个简单的,监控客户端,当客户端宕机的时候,发送邮件报警,这里监控宕机是通过不能ping通来判断,事实上,ping并不能代表客户端宕机了,只是先来做个这样的测试。先用起来看看。
           然后就百度了一下,监控主机是否存在使用fping,然后一直以为是Template ICMP Ping这个模块,后来发送邮件,想修改它的值时,在这个模块中,怎么也找不到,后来在运维群里,问了问,今天这群挺给力的,平时都是瞎扯,嘿嘿。然后那位大哥说,不是这个模块吧,后来仔细的看了一下,确实是,是Template App Zabbix Agent 这个模块里的Agent ping Item,突然之间恍然大悟,一直困惑的东西,突然感觉就通了。整个思路也通了。
     
     
    一、安装sendEmail 
           
     
    二、邮件报警的设置       
     
    1)安装好sendEmail之后,修改zabbix的配置文件   vim /etc/zabbix/zabbix_server.conf  把这个参数打开  
        AlertScriptsPath=/usr/local/zabbix-3.2.6/share/zabbix/alertscripts
    2)以及把脚本放到zabbix的指定路径下
     /usr/local/zabbix-3.2.6/share/zabbix/alertscripts 
     
          
    sendEmail的内容:       
        #!/bin/bash
        to=$1
        subject=$2
        body=$3
        sendEmail -f le.li@xxxxx-t "$to"-s smtp.exmail.qq.com -u "$subject"-o message-content-type=html -o message-charset=utf-8-xu le.li@xxxxx-xp 密码-m "$body"
          
    3)创建报警媒介类型
     
     
     
     
    4)给用户添加报警媒介
     
     
    把用户群组的调试模式打开:
     
     
    5)创建动作
     
     
     
     
    然后点击旁边的操作:

     
    里面的默认接收人为:
        故障:{TRIGGER.STATUS},服务器:{HOSTNAME1},发生:{TRIGGER.NAME}故障
     
    默认信息为:
        告警主机:{HOSTNAME1}
        告警时间:{EVENT.DATE}{EVENT.TIME}
        告警等级:{TRIGGER.SEVERITY}
        当前状态:{TRIGGER.STATUS}
        告警信息:{TRIGGER.NAME}
        告警项目:{TRIGGER.KEY1}
        问题详情:{ITEM.NAME}:{ITEM.VALUE}
        当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
        事件ID:{EVENT.ID}
    然后再设置它的恢复操作:
     
    里面的默认接收人为:
        故障:{TRIGGER.STATUS},服务器:{HOSTNAME1},发生:{TRIGGER.NAME}已恢复
    默认信息为:
        告警主机:{HOSTNAME1}
        告警时间:{EVENT.DATE}{EVENT.TIME}
        告警等级:{TRIGGER.SEVERITY}
        当前状态:{TRIGGER.STATUS}
        告警信息:{TRIGGER.NAME}
        告警项目:{TRIGGER.KEY1}
        问题详情:{ITEM.NAME}:{ITEM.VALUE}
        当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
        事件ID:{EVENT.ID}
    三、zabbix设置
         
    1)先添加一个主机,在这台主机上要把客户端的进程启动
     
     
    2)在10.0.0.13这台主机的模版里添加Template App Zabbix Agent 模版
     
     
    3)然后可以看到10.0.0.13这台主机的状态
     
     
    4)然后点击监控项,可以看到里面有一个Agent ping
     
     
    5)然后找到这个监控项对应的触发器
     
      
    点进去,看他的具体设置:
     
     
    这里表达式的具体的意思(可以看官网):5分钟都没有收到ping的数据,就触发
     
     
    为了实验能够快一点,把这里可以修改成为1分钟,要不然得等5分钟,刚开始的时候,不知道,然后一直以为是没成功,这里修改得从模版那里进去修改,从主机这里点进修改是修改不了的
     
     
     
     
    点进去,然后修改为1分钟 
     
     
     
    四:测试
     
    把客户端的网卡停掉,ifdown eth0,然后过一分钟就可以收到邮件(这里的格式还没做处理,弄成竖的好看一些):
     
     
    这里的邮件格式有问题,把脚本改一下就可以了,把html格式去掉:
        #!/bin/bash
        to=$1
        subject=$2
        body=$3
        sendEmail -f le.li@xxxxx -t "$to" -s smtp.exmail.qq.com -u "$subject" -o message-charset=utf-8 -xu le.li@xxxxx -xp 密码 -m "$body"
    就是这样了:

     
     
  • 相关阅读:
    在Ubuntu1804上使用Apache2的部署Django配置
    UbuntuServer1804设置uwsgi自启动服务
    ubuntu 安装k8s 1.22.3 (VirtualBox虚拟机)
    启动keepalived 报错
    wasm-pack 编译错误 unexpected character 'u{0}'
    mariadb-安装
    K8S1.18 安装教程
    Ubuntu共享文件权限问题
    docker 安装consul
    Ubuntu 安装 MySQL 和远程连接
  • 原文地址:https://www.cnblogs.com/lemon-le/p/7198937.html
Copyright © 2011-2022 走看看