(五)zabbix微信报警
1、注册微信企业号
1)注册微信企业号
2)通讯录添加用户

3)记住部门id

4)创建应用


5)点击刚创建的应用,记住Agentld和secret

6)微信关注这个企业号,获取更多尺寸关注

点击关注

7)测试向关注的用户发送信息

微信能够正常接收到消息

8)获取CorpID

2、python脚本
- 获取脚本文件目录位置
 
#grep alertscripts /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
- 安装simplejson
 
wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58/simplejson-3.8.2.tar.gz
tar zxvf simplejson-3.8..tar.gz && cd simplejson-3.8.
python setup.py build
python setup.py install
- python脚本
 
#!/usr/bin/python
#_*_coding:utf- _*_
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,user,subject,content):
send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
send_values = {
"touser":user, #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
"toparty":"", #企业号中的部门id。
"msgtype":"text", #消息类型。
"agentid":"", #企业号中的应用id。
"text":{
"content":subject + '\n' + content
},
"safe":""
}
# 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__':
user = str(sys.argv[]) #zabbix传过来的第一个参数
subject = str(sys.argv[]) #zabbix传过来的第二个参数
content = str(sys.argv[]) #zabbix传过来的第三个参数
corpid = '' #CorpID是企业号的标识
corpsecret = '' #corpsecretSecret是管理组凭证密钥
accesstoken = gettoken(corpid,corpsecret)
senddata(accesstoken,user,subject,content)
- 测试python脚本
 
# python wechat.py
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwa6962ed44a38221b&corpsecret=qpyrPT4E15FhyvUujJcuyhGU5CczWrAeZAn95lorCNU
{u'invaliduser': u'', u'errcode': , u'errmsg': u'ok'}
验证微信接收到的消息

- 脚本放到目录和赋予x权限
 
cd /usr/lib/zabbix/alertscripts/
chmod +x wechat.py
chown -R zabbix.zabbix wechat.py
3、zabbix配置微信报警
1)创建报警媒介
脚本参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

2)用户添加报警媒介

4)定义动作
- 什么条件会触发动作,这里和zabbix3.0版本不同

 - 恢复操作:定义标题,内容,发送给指定的用户,通过微信发送
 
默认标题:{TRIGGER.STATUS}: {TRIGGER.NAME}
消息内容
告警主机:   {HOST.NAME}
告警    IP:    {HOST.IP}
告警时间:   {EVENT.DATE}-{EVENT.TIME}
告警等级:   {TRIGGER.SEVERITY}
告警信息:   {TRIGGER.NAME}
问题详情:   {ITEM.NAME}:{ITEM.VALUE}
事件    ID:   {EVENT.ID}


- 恢复操作
 
默认标题:{TRIGGER.STATUS}: {TRIGGER.NAME}
消息内容
告警主机:   {HOST.NAME}
告警    IP:    {HOST.IP}
告警时间:   {EVENT.DATE}-{EVENT.TIME}
告警等级:   {TRIGGER.SEVERITY}
告警信息:   {TRIGGER.NAME}
问题详情:   {ITEM.NAME}:{ITEM.VALUE}
事件    ID:   {EVENT.ID}

- 测试报警:需要提前指定好触发器
发生问题

问题恢复

 
(五)zabbix微信报警的更多相关文章
- Zabbix微信报警脚本及写触发记录
		
一.Zabbix微信报警 默认路径:/usr/lib/zabbix/scripts/weixin.py #!/usr/bin/python # -*- coding: utf-8 -*- import ...
 - Zabbix 微信报警Python版(带监控项波动图片)
		
#!/usr/bin/python # -*- coding: UTF- -*- #Function: 微信报警python版(带波动图) #Environment: python import ur ...
 - Zabbix微信报警触发
		
(1) 企业应用-创建应用 1.除了对个人添加微信报警之外,还可以添加不同管理组,接受同一个应用推送的消息, 成员账号,组织部门ID,应用Agent ID,CorpID和Secret, ...
 - 通过脚本发送zabbix微信报警
		
实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点 1.申请一个微信公众号(企业号) 申请方法不多说,如果已申请请忽略 2.在微信企业 ...
 - zabbix 微信报警
		
http://blog.csdn.net/wh211212/article/details/52735236 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越 ...
 - filebeat+logstash通过zabbix微信报警
		
一.安装软件: 1.在要收集日志的机器上安装filebeat: 1).下载安装: cd /usr/local/src wget https://artifacts.elastic.co/downloa ...
 - zabbix 微信报警脚本
		
不知道是什么原因直接用Python脚本zabbix无法执行脚本,需要一个shell来启动 #! /bin/bash userid=$ content=$ python /data/zabbix/ale ...
 - zabbix微信报警
		
[root@LinuxS04 jiaoben]# ./weixin 联系人 baojing baojingok[root@LinuxS04 jiaoben]# pwd/usr/local/zabbix ...
 - zabbix微信报警信息优化模板
		
--------------------------------告警模板1-------------------------------------- 默认标题 告警项目: {TRIGGER.NAME ...
 
随机推荐
- CentOS 部署 MongoDB(新)
			
step1.进入到/opt/下执行 下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.5.tgz ste ...
 - kindeditor 在JSP 中上传文件的配置
			
1.将kindeditor,jsp,lib目录下的jar文件放到工程的lib目录下 2.将admin-login.jsp,upload_json.jsp,复制到admin的files目录下 3.复制以 ...
 - @KafkaListener和@KafkaListeners的使用
			
2. consumer 使用了@KafkaListener注解. 2.1. pom.xml 引入以下依赖 <dependency> <groupId>org.springfra ...
 - Redis 学习笔记(篇五):对象(RedisObject)
			
Redis-对象 在以前的文章中,我们介绍了 Redis 用到的主要数据结构,比如简单动态字符串.双端链表.字典.压缩列表.整数集合. 然而 Redis 并没有直接使用这些数据结构来实现键值对的数据库 ...
 - java微信token校验
			
1.微信验证接口 package com.park.utils.wechatUtil; import org.springframework.web.bind.annotation.RequestMa ...
 - 用JavaScript写一个简单的倒计时,可以应用在发送短信验证码的“59秒后重新发送验证短信”
			
倒计时——从10倒数到0,点击按钮会还原倒计时 <body> <!-- 将textvalue值设为10,从10倒数 --> <input type="text& ...
 - python 安装virtualenv和wxPython
			
有人说 Virtualenv.Fabric 和 PIP 是 Pythoneer 的三大神器 上一节说过了怎么安装PIP,下面继续安装virtualenv 安装wxPython时比较简单 sudo pi ...
 - Python第三方库资源
			
[转载]Python第三方库资源 转自:https://weibo.com/ttarticle/p/show?id=2309404129469920071093 参考:https://github ...
 - gitlab安装指南(gitlab-ce-9.4.3-ce.0.el7.x86_64  centos7)
			
1,安装gitlab wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-9.4.3-ce.0.el7. ...
 - MySQL 聚合函数与count()函数
			
一.MySQL中的聚合函数 MySQL 5.7文档的章节:12.20.1 Aggregate (GROUP BY) Function “聚合/组合”函数(group (aggregate) funct ...