美文网首页
zabbix监控实现消息提醒(邮箱,钉钉机器人)

zabbix监控实现消息提醒(邮箱,钉钉机器人)

作者: 夜醉梦紅尘 | 来源:发表于2019-11-29 21:16 被阅读0次

    基本思路就是:

    • 1、先设置一个触发器
    • 2、在设置一个动作,发送到邮箱、钉钉、企业微信、短信
    • 2.1 设置一个动作,绑定一个监控项
    • 2.1 操作,收集那些监控项的服务的信息,发送给那些用户,然后执行另外的操作,比如尝试恢复服务,尝试三次失败后再次发送一个更加严重的信息给用户,使用户加快解决的脚步
    • 2.2 恢复操作,在收集到服务被恢复的信息后继续发一份服务运行正常的信息给用户
    • 3、设置一些报警媒介
    • 3.1 发送到邮箱 需要一个收件邮箱和这个邮箱的授权码
    • 3.2 编写一个脚本 发送给能够使用token的软件 比如钉钉、企业微信等
    • 3.3 发送短信给用户

    设置触发器 配置--->主机--->触发器

    image

    查看设置完成后的信息 监测--->最新数据

    image

    添加动作 配置--->动作--->右上角创建动作

    image image

    操作内容信息

    告警主机: {HOSTNAME1}
    告警时间: {EVENT.DATE} {EVENT.TIME}
    告警等级: {TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警项目: {TRIGGER.KEY1}
    问题详情: {ITEM.NAME} : {ITEM.VALUE}
    当前状态: {TRIGGER.STATUS} : {ITEM.VALUE1}
    事件ID: {EVENT.ID}
    
    
    image

    添加用户报警媒介 管理--->用户--->右上角创建用户

    image image image image

    查看邮箱中的邮件

    image image image

    设置可以在钉钉机器人和邮箱同时发送 并在报警后恢复服务

    编写报警媒介

    image

    ding_msg.sh脚本详细

    #!/bin/sh
    if [ -z $1  ];then
        echo "ding_msg:
               $0 msg_content"
        exit
    fi                      ----设置帮助信息
    
    msg_content=$1    ---从外面获取变量
    
    web_hook='https://oapi.dingtalk.com/robot/send?access_token=0bc28ec73b870e692e4e25384d55f3896c2a80e03461fc2d877ce7023d079522
    curl "${web_hook}" \
       -H 'Content-Type: application/json' \
       -d "{'msgtype': 'text',
            'text': {
                 'content': 'zabbix.........${msg_content}'
            }
           }"
    ---hook是在钉钉机器人中获取到的
    ---content的信息是从外面获取到的信息
    
    

    ding_msg.py

    import requests
    
    import sys
    
    try:
       msg_conment=sys.argv[1]
    except Exception as e:
       sys.exit("bye")
    
    content = {
        "msgtype": "text",
        "text": {
            "content": "zabbix...... {}".format(msg_conment)
        },
        "at": {
            "atMobiles": [
    #
           ],
           "isAtAll": True     ----设置艾特所有人
    
        }
    }
    
    headers = {"Content-Type": "application/json;charset=utf-8"}
    
    url="https://oapi.dingtalk.com/robot/send?access_token=0bc28ec73b870e692e4e25384d55f3896c2a80e03461fc2d877ce7023d079522"
    r = requests.post(url=url,headers=headers,json=content)
    print(r.content)
    
    
    image

    在这执行恢复操作时候需要将zabbix这个用户加入到sudo 容器中需要yum安装一个sudo
    visudo进入后 将zabbix加进去
    执行远程命令的时候需要在客户端修改一下配置文件

    vi /etc/zabbix/zabbix_agentd.conf
    
    EnableRemoteCommands=1
    将这个注释打开并置为1  意思是允许执行远程命令 就可以执行远程命令
    
    
    image image

    在客户端将服务给停掉会发触发发消息
    首先钉钉会收到,其次是邮箱

    image

    查看发送信息 监测--->问题

    image

    会看到没有报红说明已经报警后执行恢复操作了 那么你就可以看一下钉钉和邮箱,但是邮箱有可能进去后看不到,别着急,邮箱会有个时间间隔才能够收到

    image

    现在服务已经被恢复了

    image

    相关文章

      网友评论

          本文标题:zabbix监控实现消息提醒(邮箱,钉钉机器人)

          本文链接:https://www.haomeiwen.com/subject/fgzvwctx.html