CentOS7.3下Zabbix3.5之微信报警配置

一、报警脚本放到服务端的 /usr/lib/zabbix/alertscripts/下
      属组属主为zabbix zabbix
      有执行权限
vim weixinbaojing.py

#!/usr/bin/python
#_*_coding:utf-8 _*_

import urllib,urllib2
import json
import sys
import simplejson

reload(sys)
sys.setdefaultencoding('utf-8')

def gettoken(corpid,corpsecret):
gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
print gettoken_url
try:
token_file = urllib2.urlopen(gettoken_url)
except urllib2.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.keys()
token = token_json['access_token']
return token

def senddata(access_token,subject,content):

send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
send_values = {
"totag":"3", #企业号中的部门id。
"msgtype":"text", #消息类型。
"agentid":"1000010", #企业号中的应用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 = urllib2.Request(send_url, send_data)
response = json.loads(urllib2.urlopen(send_request).read())
print str(response)

if __name__ == '__main__':
subject = str(sys.argv[1]) #zabbix传过来的第二个参数
content = str(sys.argv[2]) #zabbix传过来的第三个参数

corpid = 'xxxxxxxxxxxxx' #CorpID是企业号的标识
corpsecret = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' #corpsecretSecret是管理组凭证密钥
accesstoken = gettoken(corpid,corpsecret)
senddata(accesstoken,subject,content)

二、web界面操作
创建触发器Triggers--->创建action-->action中指定Conditions-->opreations中设置报警格式(格式如下)-->Recovery opreations中设格式(格式如下(通知类型为Recovery))
Default operation step duration 1h
Default subject 通知类型:WARNING
Default message

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

operations中设置发送那个组,使用哪种方式方式发送

3、在administration中配置Media types,配置格式如下

Name test
Type script
Script name test.py
Script parameters
{ALERT.SUBJECT}
{ALERT.MESSAGE}
{ALERT.SENDTO}

4、在administration中配置user中添加media

转载于:https://www.cnblogs.com/wclwcw/p/8329675.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值