Zabbix实现企业微信报警
zabbix实现企业微信报警
1、下载安装手机版企业微信
2、注册账户,并创建一个企业,之后向企业中添加员工
3、找到我的企业—>记录企业ID:ww1d1845f4b25a12fb
4、在企业下创建部门,并记录部门ID:3
5、创建应用,并记录应用ID和secret,ID:1000003,secret:ItmpP6TjPNvx6aSlvRCYrkgK5BPWiqTrMf3xhKjUnLo
6、编写python脚本,将上面记录的信息填到对应地方(脚本在zabbix-server服务器中)
[root@zabbix-server ~]# vim /usr/lib/zabbix/alertscripts/wechat.py
脚本内容为:
#!/usr/bin/env python
# -*- coding: utf-8 -*-import urllib,urllib2,json
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
class WeChat(object):__token_id = ''# init attributedef __init__(self,url):self.__url = url.rstrip('/')self.__corpid = 'ww1d1845f4b25a12fb'self.__secret = 'ItmpP6TjPNvx6aSlvRCYrkgK5BPWiqTrMf3xhKjUnLo'# Get TokenIDdef authID(self):params = {'corpid':self.__corpid, 'corpsecret':self.__secret}data = urllib.urlencode(params)content = self.getToken(data)try:self.__token_id = content['access_token']# print content['access_token']except KeyError:raise KeyError# Establish a connectiondef getToken(self,data,url_prefix='/'):url = self.__url + url_prefix + 'gettoken?'try:response = urllib2.Request(url + data)except KeyError:raise KeyErrorresult = urllib2.urlopen(response)content = json.loads(result.read())return content# Get sendmessage urldef postData(self,data,url_prefix='/'):url = self.__url + url_prefix + 'message/send?access_token=%s' % self.__token_idrequest = urllib2.Request(url,data)try:result = urllib2.urlopen(request)except urllib2.HTTPError as e:if hasattr(e,'reason'):print 'reason',e.reasonelif hasattr(e,'code'):print 'code',e.codereturn 0else:content = json.loads(result.read())result.close()return content# send messagedef sendMessage(self,touser,message):self.authID()data = json.dumps({'touser':touser,'toparty':3,'msgtype':"text",'agentid':"1000003",'text':{'content':message},'safe':"0"},ensure_ascii=False)response = self.postData(data)print responseif __name__ == '__main__':a = WeChat('https://qyapi.weixin.qq.com/cgi-bin')a.sendMessage(sys.argv[1],sys.argv[3])
7、修改权限
[root@zabbix-server ~]# chmod 777 /usr/lib/zabbix/alertscripts/wechat.py
[root@zabbix-server ~]# chown zabbix:zabbix /usr/lib/zabbix/alertscripts/wechat.py
8、在zabbix-server端进行脚本测试
[root@zabbix-server alertscripts]# /usr/lib/zabbix/alertscripts/wechat.py ZhangYu test hellohellohello
root@zabbix-server alertscripts]# /usr/lib/zabbix/alertscripts/wechat.py ZhangYu www helphelphelp
注意:ZhangYu是在企业微信中的用户名。
机上收到信息说明脚本正常使用。
8、在zabbix-server的web界面中创建报警媒介
9、为用户添加告警媒介(可以新建用户,也可以直接使用管理员账户admin),让这个用户关联告警媒介,并添加收件人
注意:类型(创建的告警媒介)、收件人(企业微信中的那个用户)
10、创建动作,实现企业微信告警(当有触发器被触发时,发送告警给特定用户)
定义动作:使用触发器,触发器自己定义,我这里用的是之前为了监控nginx运行状态创建的触发器。
定义操作:当动作被触发后,将会进行设置好的操作
发送消息的内容:
默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
11、验证
当触发器被触发时,企业微信收到了告警信息
Zabbix实现企业微信报警相关推荐
- 公司内服务器微信报警怎么做,Zabbix 结合企业微信实现微信报警功能
Zabbix 结合企业微信实现微信报警功能 一.Zabbix 概述 二.部署 Zabbix 结合企业微信报警 1.注册企业微信 2.配置企业微信 1)创建部门 2)添加成员 3.创建应用 4.配置监控 ...
- Zabbix 结合企业微信实现微信报警功能
Zabbix 结合企业微信实现微信报警功能 一.Zabbix 概述 二.部署 Zabbix 结合企业微信报警 1.注册企业微信 2.配置企业微信 1)创建部门 2)添加成员 3.创建应用 4.配置监控 ...
- Zabbix监控通过企业微信报警
随着网络技术的发展,作为开发人员,虽然现在运维人员的分类越来越细致,但是知道监控系统还是非常有必要的. 今天简单介绍一下我们线上环境使用的监控系统zabbix,zabbix的报警媒介支持很多种,zab ...
- zabbix4.0添加mysql报警_Zabbix 3.4.3实现企业微信报警
Zabbix 3.4.3实现企业微信报警 [日期:2017-11-08] 来源:Linux社区 作者:wzlinux [字体:大 中 小] 一.企业微信注册 微信的报警方式可以让我们随时随地接收到信 ...
- zabbix如何实现微信报警
关于zabbix如何实现微信报警,这篇博客写的非常详细 [全网首发]zabbix如何实现微信报警 - 铜锣湾 - 51CTO技术博客 http://wuhf2015.blog.51cto.com/82 ...
- zabbix监控-企业微信webhook告警并使用markdown格式
zabbix监控-企业微信webhook告警并使用markdown格式 最终告警样式: markdown格式与text格式的优点:文字排版清晰,可对不同文字标识颜色,大小等. 此方法使用zabbix提 ...
- Zabbix配置企业微信群聊机器人告警
转载来源 : Zabbix配置企业微信群聊机器人告警 : https://www.jianshu.com/p/b5b1f92b1f15 最近在给内部使用的zabbix配置告警发送,要求是使用企业微信群 ...
- AlertManager实现企业微信报警(十三)
AlertManager实现企业微信报警 1.AlertManager对接企业微信 ALertManager支持的报警方式有邮件报警.钉钉报警.微信报警,本次将实现企业微信报警 2.企业微信配置 2. ...
- Prometheus配置企业微信报警
Prometheus配置企业微信报警 更多技术博客,请关注微信公众号:运维之美 Prometheus被号称是下一代的监控,可以解决云上K8S集群的监控问题,搭配部署alertmanager,可以实现告 ...
最新文章
- 加解密基础——(对称加密、非对称加密和混合加密)
- -bash: ./demoapp: 无法执行二进制文件 问题解决
- Angular - angular2升级到angular8
- 数据库恢复相关知识笔记
- Ubuntu18.04 安装搜狗输入法后无法启动的问题
- Zedboard安装桌面系统ubuntu及opencv(2)
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
- Python 爬虫实例(10)—— 四行代码实现刷 博客园 阅读数量
- java并发-独占锁与共享锁
- Linux系统数据文件和信息
- Tortoise 账号和密码设置
- c语言中strcat函数的作用,strcat函数的作用是什么?
- iPhone预计移除SIM卡槽,用户需通过eSIM激活网络
- Python连锁药店营业额数据分析实验
- Linux命令 - who命令
- ipc4 - A 转换AV号(avtobv)
- Sixth season fifteenth and sixteenth episode,things that could have been......(没有如果)
- 网线使用指南(如何买网线?怎么接网线?怎么修网线?)
- java中的失败重试机制总结
- JS 获取某个时间距离现在时间有多少时分秒
热门文章
- 《点燃我,温暖你》爱心代码复现
- html模拟点击某个键盘按钮,如何使用JavaScript模拟按键或单击?
- xps in html5,XPS and OXPS file support in Windows 7 and Windows 8
- 在用户输入手机号或者要求输入纯数字时,输入法自动切换到数字的代码
- Android 项目必备(五)--> Android Studio 制作 App 的 logo 图标
- 什么是spring框架?spring框架的好处?
- sqlite 简明教程
- 10款iOS高效开发必备的Objective-C类库(转)
- 物体识别桌 开发系列之一
- iOS开发之Crash分析,以及收集