一、报警脚本放到服务端的 /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

最新文章

  1. [原]一个针对LVS的压力测试报告
  2. ViewPager 重新加载 及 PagerAdapter 使用
  3. JS: How to detect my browser version and operating system using JavaScript?
  4. 转 Linux日志文件系统及性能分析
  5. SaltStack与ZeroMQ(二)
  6. HDU 2825 Wireless Password(AC自动机+DP)
  7. iOS-项目打包为ipa文件
  8. Nosql之Redis篇
  9. 一个好用的Log管理类
  10. [原]Unity3D深入浅出 - 认识开发环境中的Project面板
  11. html5 高级动画精灵
  12. HDU4003 Find Metal Mineral
  13. 一篇非常适合git入门的文章
  14. [51nod1310]Chandrima and XOR
  15. 使用HTML5拍照
  16. SQL注入渗透实战
  17. centos7下搜狗输入法的安装教程
  18. C# - Span 全面介绍:探索 .NET 新增的重要组成部分
  19. 【转】STL中vector、list、deque和map的区别
  20. MYSQL中的int(11)到底代表什么意思?

热门文章

  1. ES+open-falcon之报警自动发送请求信息
  2. RenderMonkey基本使用方法
  3. [转]两种高性能I/O设计模式(Reactor/Proactor)的比较
  4. long long 与__int64使用总结
  5. java.util Properties使用记录
  6. POJ2528(离散化+线段树区间更新)
  7. Python:collections的deque()方法
  8. Redis IRedisTypedClient
  9. CSS3新增的伪类
  10. C语言入门题