Zabbix对接企业微信通知

news/2024/11/7 23:56:01/
  • 检查Zabbix服务器的python环境,默认安装系统会自动安装python
python -V #检查python版本

  • 安装pip环境,以便下载python库
yum install python-pip -y

  • 部署脚本所需的python库
yum install python-simplejson -y
pip install requests -y

  • 在已经安装Zabbix的服务器的Server端,进入Zabbix默认脚本目录
cd /usr/lib/zabbix/alertscripts

  • 创建脚本文件,并且修改脚本的权限
touch zabbix_weixin.py
chomd 777 zabbix_weixin.py

  • 编写脚本文件
#!/usr/bin/python
#-*-coding:utf-8 -*-
#Zabbix5.0以上新版本企业微信警告通知
#作者jerry.cf.li
#创建时间:2021-6-18
#修改时间:2022-12-12
#corpid,appsecret,agentid需要修改成自己的企业微信
#tourse需要在zabbix配置,如不配置按照部门发送,msgtype消息类型
import requests #安装请求库
import json
import sys
import simplejson#reload(sys)
#sys.setdefaultencoding('utf-8')#获取企业微信的access_token
def gettoken(corpid,corpsecret):gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret#print(gettoken_url)try:token_file=requests.get(gettoken_url)#token_file = urllib3.urlopen(gettoken_url)except requests.HTTPError as e:#print(e.code)#print(e.read().decode("utf8"))sys.exit()#token_data = token_file.read().decode('utf-8')#token_json = json.loads(token_data)token_json=json.loads(token_file.text)token_json.keys()token=token_json['access_token']return token#使用企业微信的acces_token进行发送消息
def senddata(access_token,user,subject,content):send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_tokensend_values = {"touser":user, #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。#"toparty":"2",    #企业号中的部门id。"msgtype":"text", #消息类型。"agentid":"1000072",    #企业微信中的应用id。"text":{"content":subject + '\n' + content},"safe":"0"}
#    send_data = json.dumps(send_values, ensure_ascii=False)send_data = simplejson.dumps(send_values, ensure_ascii=False).encode('utf-8')send_request = requests.post(send_url, send_data)#response = requests.get(send_request)#print(str(response))if __name__ == '__main__':#Zabbix 需要填写脚本参数# 第一个参数{ALERT.SENDTO}# 第二个参数{ALERT.SUBJECT}# 第三个参数{ALERT.MESSAGE}user = str(sys.argv[1])     #zabbix传过来的第一个参数subject = str(sys.argv[2])  #zabbix传过来的第二个参数content = str(sys.argv[3])  #zabbix传过来的第三个参数corpid =  'wwcfbb3043e8eed1f6****'   #CorpID是企业号的标识corpsecret = 'IWNffvSuQll-OE_uVJm9AcHc3-4njfcfehxAiyHqZ5o***'  #corpsecretSecret是管理组凭证密钥,企业微信应用的密钥。accesstoken = gettoken(corpid,corpsecret)senddata(accesstoken,user,subject,content)
  • Zabbix Web端企业微信通知配置截图

1.报警媒介类型设置脚本名称和脚本参数。

2.选择用户添加企业微信报警媒介。

3.配置动作触发报警通知,选择对应需要通知用户和群组。


http://www.ppmy.cn/news/764525.html

相关文章

Java 微信支付通知处理思路

Java 微信支付通知处理思路 一、前言 在做微信支付时,根据微信文档可知,支付完成后,微信会把相关支付结果及用户信息通过数据流的形式发送给商户,商户需要接收处理,并按文档规范返回应答。那么该如何处理微信支付通知…

企业微信邀请通知在哪里设置?如何关闭?

企业微信会给相关的个人微信发邀请通知,如果不需要可以关闭,减少不必要的打扰。 您是不是经常收到企业微信邀请通知? 企业微信有邀请通知的功能,会自动对通讯录内的微信发送邀请加入的通知。然后,当员工离职后&#x…

java微信支付通知接口_java实现微信支付结果通知

支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。 对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知&…

使用企业微信做微信消息通知

前言:有时候运行脚本的时候希望定期或者触发某个事件的时候往我微信推送通知,这个时候可以选择企业微信推送,原理是创建一个企业然后把要通知的账号都加进去。 一.前期准备 1.扫码进入企业微信后台,获取企业id https://work.weix…

微信服务通知消息找回_微信鲜为人知的4个冷知识,小技巧却有大用处

微信发展到现在已经走过了快9个年头,大版本已经升级到了7.0,陆陆续续推出的各种功能可以用“不计其数”来形容。在微信拥有的超过10亿用户当中,很多用户除了常用的聊天、朋友圈、微信支付等,可能很少用到微信的其他功能&#xff0…

微信小程序——服务通知,发送订阅消息

一、什么是消息推送 二、整体效果 三、实现步骤 1 小程序开通订阅消息 2 postApi测试效果 三、uniapp配置 这里有个需要特别注意的点,我们要给用户发送消息,就必须引导用户授权,如下 因为用户不点击允许,你是没有办法给用户推送…

服务器发送 微信通知,方糖,使用微信通知的小接口

最近碰到一个好玩的通知接口,可以使用接口来触发微信通知,特别适合一些需要触发通知的任务。 比如说最近很多服务器都被墙了,什么时候解封是个问题,总不能每天去看一下吧……这个时候就可以在国内的没被强的服务器上定时一个脚本&…

java实现微信订阅消息(服务通知)

1. 首先定义自己小程序中APPID以及SECRET public static final String APPID "自己的appid"; public static final String SECRET "自己的secret"; 2. 获得session_key public static String getAccessToken() throws Exception {String accessTokenUr…