Zabbix配置企业微信群(机器人)警告

企业微信机器人告警

企业微信群聊里面增加机器人,机器人会提供发送信息的URL

 python 脚本进行实现的

1、创建企业微信机器人

没有企业微信的可以自己在企业微信官网申请注册个企业,创建企业微信群至少 3 个人以上

这个 webhook 后面需要使用到

2、配置 zabbix server

2.1:配置脚本执行目录

定义脚本目录,我这里就选择了默认的目录

[root@zabbix-master ~]#  grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf | grep ^A
AlertScriptsPath=/usr/lib/zabbix/alertscripts

2.2:创建脚本

进入该定义的脚本存放路径下创建用来推送告警消息的脚本

[root@zabbix-master ~]# 
[root@zabbix-master ~]# cd /usr/lib/zabbix/alertscripts

[root@zabbix-master 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=36d51b45-162f6c9d13909" #这就是先前的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)
~            

2.3:赋予脚本执行权限

[root@zabbix-master alertscripts]# chmod +x wechat.py
[root@zabbix-master alertscripts]# python wechat.py 你好
{"errcode":0,"errmsg":"ok"}
[root@zabbix-master alertscripts]# 

3、zabbix Web 页面配置

3.1:创建报警媒介

管理--> 报警媒介类型--> 创建媒介类型
新建一个企业微信的报警,脚本名称就是我们脚本名 wechat.py

3.2:创建动作

默认标题:

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{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}已恢复!


恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

4、测试发送告警

 

posted @   南宫乘风  阅读(2249)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示