Zabbix达成微信报警功效,python利用微信公众号完

作者: 韦德国际1946手机版  发布:2019-05-28

微信公众号共有两种,服务号、订阅号、公司号。它们在获得AccessToken上各有分裂。

微信公众号共有二种,服务号、订阅号、公司号。它们在获取AccessToken上各有不一样。

Zabbix完成微信报告警察方功用,zabbix达成报告警察方

一、 申请集团微信账号,申请地址 

图片 1

贰、 登入集团微信账

图片 2

图一

图片 3

图二

二、增添微信账号

图片 4

 图一

图片 5

图二

成就上述步骤后 就成功了微信账号的拉长

三、新建应用

图片 6

图一

图片 7

图二

图片 8

图三

图片 9

图四

如上肆幅图成功后就动用创造实现

4、设置权限处理

图片 10

图一

图片 11

图二

图片 12

图三

姣好上述三幅图的操作,权限管理设置完毕;到此微信设置已经形成!

五、Zabbix Server配置

图片 13

图一

图片 14

图二

图片 15

图三

成就上述三幅图中的配置,则zabbix server的布署已经成功。

Zabbix达成微信报警功效,python利用微信公众号完成报告警察方功效。七、weixin.py程序内容

#!/usr/bin/env python
# encoding: utf-8
# Create time 2016-10-08
#Auth chenpeng
import urllib2
import json
import sys
import time
class WebChat(object):
def __init__(self,CropID,Secret):
self.CropID = CropID
self.Secret = Secret
def Get_Token(self,info):
'''
:param info: 存储执行结果和执行程序状态码code (0代表执行成功,非零表示不成功)
:return:
'''
self.info = info
gurl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s" % (self.CropID,self.Secret)
try:
#通过Get方式获取token
req = urllib2.Request(gurl)
response = urllib2.urlopen(req)
g_result = json.loads(response.read(),"UTF-8")
if g_result .has_key('access_token'):
self.info['result']= g_result ['access_token']
self.info['code'] = 0
else:
self.info['result'] = g_result
self.info['code'] = 1
except Exception,e:
self.info['code'] = 1
self.info['result'] = e
def Send_Msg(self,touser,toparty,agentid,access_token,content,info,*args,**kwargs):
'''
发送信息到微信
:param touser: 部门成员id,zabbix中定义的微信接收者,
成员ID列表(消息接收者,多个接收者用‘|'分隔,最多支持1000个)。
特殊情况:指定为@all,则向关注该企业应用的全部成员发送
:param toparty: 部门id,定义了范围,组内成员都可接收到消息,
部门ID列表,多个接收者用‘|'分隔,最多支持100个。当touser为@all时忽略本参数
:param agentid: 企业应用的id,整型。可在应用的设置页面查看
:param access_token: 根据CropID,Secret获取的访问token值
:param content: 滤出zabbix传递的第三个参数,
表示发送微信消息的内容消息内容,最长不超过2048个字节,
注意:主页型应用推送的文本消息在微信端最多只显示20个字(包含中英文)
:param info: 返回执行结果信息{'result':None,'code':None};'code':0或者非零 ;0表示成功 非零表示失败
:param args:
:param kwargs:
:return:
'''
self.touser = touser
self.toparty = toparty
self.agentid = agentid
self.conntent = content
self.access_token = access_token
self.info = info
purl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % (access_token)
data = {
"touser": "",
"toparty": "",
"totag": "", #标签ID列表,多个接收者用‘|'分隔,最多支持100个。当touser为@all时忽略本参数,非必须
"msgtype": "text", #必须
"agentid": "", #必须
"text": {
"content": "" #必须
},
"safe": "0" # 表示是否是保密消息,0表示否,1表示是,默认0
}
data['touser'] = self.touser
data['agentid'] = self.agentid
data['toparty'] = self.toparty
data['text']['content']=self.conntent
data = json.dumps(data,ensure_ascii=False)
try:
#通过PUT方式获取发送数据
req = urllib2.Request(purl, data)
response = urllib2.urlopen(req)
res = json.loads(response.read())
self.info['code'] = res['errcode']
self.info['result'] = res['errmsg']
except Exception,e:
self.info['result'] = e
self.info['code'] = 1
if __name__ == '__main__':
reload(sys)
sys.setdefaultencoding('utf-8')
def log(date, touser, content,info):
'''
发送的日志打印日志
:param date: 时间
:param touser: 发送给谁
:param content: 发送的信息内容
:param info: 发送执行的结果
:return:
'''
msg = '%s %s %s 发送结果 - %sn' % (date, touser, content, info)
with open('msg.log', 'a') as f:
f.write(msg)
agentid = sys.argv[1]
#agentid = 1
touser = '[email protected]'
toparty = ''
content = sys.argv[2:]
content = 'n'.join(content)
#content = '测试'
CropID = 'xxxxxxxxxxxxxxxxxxx'
Secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
info={'result':None,'code':None}
date = time.strftime('%Y-%m-%d %H:%M:%S')
res=WebChat(CropID,Secret)
res.Get_Token(info)
if info['code'] == 0:
access_token = info['result']
res.Send_Msg(touser=touser, toparty=toparty, agentid=agentid, access_token=access_token,
content=content,info=info)
if info['code'] == 0:
content = eval(content)
log(date, touser, content,info)
else:
log(date, touser, content, info)
else:
log(date,touser,content,info)

其间代码11肆、115行中的CropID 和 Secret对应的是第陆步《设置权限处理》中图三对应的CropID 和 Secret

代码六三行中的data数据,请参见微信接口文档

地址:

如上所述是小编给大家介绍的Zabbix达成微信报警功效,希望对我们有着扶助,假使大家有其它疑问请给本人留言,笔者会及时过来我们的。在此也特别多谢大家对帮客之家网站的扶助!

一、 申请集团微信账号 ,申请地址 2、 登录公司微信账 图壹 图贰 二、增加微信...

行使场景

当交易生之后一段时间内,由于购买者大概商户的原故须要退款时,商行能够透过退款接口将支付款退还给买家,微信支付将要接受退款请求并且证实成功现在,遵照退款规则将支付款按原路退到买家帐号上。

个中订阅号相比较坑,它的AccessToken是需定时刷新,重复获取将招致上次获得的AccessToken失效。

内部订阅号相比较坑,它的AccessToken是需定期刷新,重复获取将促成上次到手的AccessToken失效。

退款形式

  • 方方面面退款

注意:

  1. 贸易时间当先一年的订单不可能提交退款;
  2. 一笔退款战败后的再一次提交, 需采用原本的退款单号.
  • 1部分退款

注意:

  1. 贸易时间当先1年的订单无法提交退款;
  2. 微信支付退款扶助数十一次退款, 数次退款供给付出原开支订单的商家订单号和安装 [不同的] 退款单号;
  3. 一笔退款败北后的再一次提交, 需采纳原本的退款单号.

而公司号就相比较好,AccessToken限期同样为7200秒,但限制期限内再也获取重返一样结果。

而公司号就相比较好,AccessToken限制期限同样为7200秒,但限制期限内再次获取重返同样结果。

接口相关

为合营那三种办法,因而依据订阅号的方法管理。

为同盟那二种办法,由此依据订阅号的点子管理。

接口地址

https://api.mch.weixin.qq.com/secapi/pay/refund

 管理办法与接口文书档案中的要求一律:

 管理方法与接口文书档案中的必要一律:

是或不是供给申明(文书档案)

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3

为了保密appsecrect,第一方须要叁个access_token获取和刷新的中控服务器。

为了保密appsecrect,第2方要求三个access_token获取和刷新的中央调节伏务器。

呼吁参数

字段名 变量名 必填 类型
公众账号ID appid String(32)
商户号 mch_id String(32)
设备号 device_info String(32)
随机字符串 nonce_str String(32)
签名 sign String(32)
商户订单号 out_refund_no String(32)
商户退款单号 out_refund_no String(32)
总金额 total_fee Int
退款金额 refund_fee Int
货币种类 refund_fee_type String(8)
操作员 op_user_id String(32)

而别的职业逻辑服务器所选拔的access_token均出自于该中控服务器,不应该分别去刷新,不然会导致access_token覆盖而影响专门的学问。

而其他作业逻辑服务器所利用的access_token均出自于该中央控战胜务器,不应该分别去刷新,不然会招致access_token覆盖而影响专门的学问。

回到结果

字段名 变量名 必填 类型 示例值 描述

:|:------:|:----------:|:------:|:-------:|
|再次回到状态码 | return_code|是 |String(16)|SUCCESS|SUCCESS/FAIL|
|重临新闻|return_msg|否| String(12八)|具名失利| 重返音信为空, 则为错误原因|

 上面包车型地铁代码以店堂号为例,将access_token积累在sqlite三数据库中,相比较积累在文本中,放在数

 下边包车型大巴代码以商城号为例,将access_token积存在sqlite3数据库中,相比较储存在文本中,放在数

据Curry,可以为最后阶段存放别的数据提供向后非凡。要是身处文本中,则比不上位于数据库中灵活。

据Curry,可以为后期存放别的数据提供向后卓殊。假诺身处文本中,则不及投身数据库中灵活。

计划思路和使用办法:

统一筹算思路和利用办法:

活动创造sqlite3数据库,包罗表结构和数目,并能在数额库表结构不设有或许数额不存在或遭删除的情况下,创立新的可用的数额

活动创造sqlite三数据库,包涵表结议和多少,并能在多少库表结构不存在恐怕数额不存在或遭删除的场所下,成立新的可用的数码

尽只怕的担保Class中每2个可实践的函数单独调用都能学有所成。

尽心竭力的保险Class中每三个可施行的函数单独调用都能不负众望。

Class中只将真正能被用到的办法和变量设置为public的。

Class中只将真正能被用到的秘诀和变量设置为public的。

应用时只须要修改此文件中的weixin_qy_CorpID和weixin_qy_Secret改成自个儿的,并import此文件,使

动用时只要求修改此文件中的weixin_qy_CorpID和weixin_qy_Secret改成团结的,并import此文件,使

本文由韦德国际1946发布于韦德国际1946手机版,转载请注明出处:Zabbix达成微信报警功效,python利用微信公众号完

关键词: 韦德国际官网