Zabbix / 监控平台

Zabbix企业微信机器人实时告警

温馨提示:本文最后更新于2021-03-02 18:36:35,某些文章具有时效性,若有错误或已失效,请在下方留言或提交工单提交工单
浅时光 · 2月23日 · 2020年 本文1699个字,预计阅读5分钟 76830次已读

1、配置脚本执行目录

  • 进入zabbix自定义脚本目录,在zabbix server安装目录定义的
  • conf配置文件在zabbix安装目录下的zabbix_server.conf里面定义的脚本执行目录
  • AlertScriptsPath=/usr/lib/zabbix/alertscripts
[[email protected] ~]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf | grep ^A
AlertScriptsPath=/usr/lib/zabbix/alertscripts

2、创建告警推送脚本

  • 说明:以下脚本是基于Python2环境执行的
[[email protected] ~]# cd /usr/lib/zabbix/alertscripts
[[email protected] alertscripts]# vim wechat.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = " https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx"   #这个是webhook地址,修改为你的即可。

def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)

3、赋予脚本执行权限

[[email protected] alertscripts]# chmod +x wechat.py
  • 测试脚本
[[email protected] alertscripts]# python wechat.py 您好,监控测试

4、企业微信查看

Zabbix企业微信机器人实时告警-浅时光博客

5、zabbix server页面定义报警

5.1:创建报警媒介 

  • 管理–>报警媒介类型–>创建媒介类型
  • 新建一个企业微信的报警,脚本名称就是我们脚本名wechat.py
Zabbix企业微信机器人实时告警-浅时光博客
Zabbix企业微信机器人实时告警-浅时光博客
Zabbix企业微信机器人实时告警-浅时光博客

5.2:创建动作

Zabbix企业微信机器人实时告警-浅时光博客
Zabbix企业微信机器人实时告警-浅时光博客
Zabbix企业微信机器人实时告警-浅时光博客
Zabbix企业微信机器人实时告警-浅时光博客
Zabbix企业微信机器人实时告警-浅时光博客

5.2.1: 动作【操作】

Zabbix企业微信机器人实时告警-浅时光博客
Zabbix企业微信机器人实时告警-浅时光博客
  • 操作内容信息如下:
  • 默认标题:
    • 故障{TRIGGER.STATUS},服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
  • 消息内容:
    • 告警主机:{HOST.NAME}
    • 告警地址:{HOST.IP}
    • 监控项目:{ITEM.NAME}
    • 监控取值:{ITEM.LASTVALUE}
    • 告警等级:{TRIGGER.SEVERITY}
    • 当前状态:{TRIGGER.STATUS}
    • 告警信息:{TRIGGER.NAME}
    • 告警时间:{EVENT.DATE} {EVENT.TIME}
    • 事件ID:{EVENT.ID}

5.2.2:动作【恢复操作】

Zabbix企业微信机器人实时告警-浅时光博客
Zabbix企业微信机器人实时告警-浅时光博客
  • 恢复操作内容信息如下:
  • 默认标题:
    • 恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
  • 消息内容:
    • 告警主机:{HOST.NAME}
    • 告警地址:{HOST.IP}
    • 监控项目:{ITEM.NAME}
    • 监控取值:{ITEM.LASTVALUE}
    • 告警等级:{TRIGGER.SEVERITY}
    • 当前状态:{TRIGGER.STATUS}
    • 告警信息:{TRIGGER.NAME}
    • 告警时间:{EVENT.DATE} {EVENT.TIME}
    • 恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
    • 持续时间:{EVENT.AGE}
    • 事件ID:{EVENT.ID}
  • 最后点击添加

5.3:测试发送告警

  • 可以将被监控端的agent停止(首先保证该被监控主机有对应的监控项和触发器)
[[email protected] ~]# systemctl stop zabbix-agent
Zabbix企业微信机器人实时告警-浅时光博客
Zabbix企业微信机器人实时告警-浅时光博客



本文作者:浅时光
原文链接:https://www.dqzboy.com/1112.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可
转载时请以超链接形式标明文章原始出处和作者信息

3 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!

  1. %@#$%&*.......上海2021-5-28 · 18:12

    请问webhook地址在哪查看?

    • 浅时光
      浅时光上海2021-5-28 · 18:59

      创建了机器人就自动生成了,点击机器人配置里看

  2. 凡人多烦事未知2020-8-2 · 23:34

    谢谢分享

本站已稳定运行: | 耗时 0.405 秒 | 查询 14 次 | 内存 38.32 MB