zabbix如何配置微信报警
zabbix支持多种报警机制,比如:邮件、短信、微信等等。下面就介绍如何使用微信报警。
使用微信报警必须得有企业微信账号,个人微信账号不行。
申请企业微信
注册地址:https://work.weixin.qq.com/
注册企业微信,根据提示填写自己的信息就行,注册完成后会有提示进入管理后台。根据自己需要设置即可。
需要记住的几个信息。
成员账号:添加的成员账号。
组织部门ID:可以在通讯录中部门名称右侧竖着的三个点处查看。
Agentid:企业应用中选中对应的应用点击进去后就可以看到。
Secret:跟Agentid在一起。
CorpID:我的企业里面可以查看。
zabbix配置
修改zabbix-server配置文件,指定报警脚本的位置,我的在/usr/lib/zabbix/alertscripts
目录下。
# grep alertscripts /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
脚本配置
安装simplejson
# yum install python-simplejson -y
上传脚本,并根据注释修改成自己的信息。
#!/usr/bin/python
#_*_coding:utf-8 _*_import urllib,urllib2
import json
import sys
import simplejsonreload(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_urltry:token_file = urllib2.urlopen(gettoken_url)except urllib2.HTTPError as e:print e.codeprint 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_tokensend_values = {"touser":"XXX", #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。"toparty":"X", #企业号中的部门id。"msgtype":"text", #消息类型。"agentid":"1000005", #企业号中的应用id。"text":{"content":subject + '\n\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 = simplejson.loads(urllib2.urlopen(send_request).read())print str(response)if __name__ == '__main__':user = str(sys.argv[1]) #zabbix传过来的第一个参数subject = str(sys.argv[2]) #zabbix传过来的第二个参数content = str(sys.argv[3]) #zabbix传过来的第三个参数corpid = '1111111111111111' #CorpID是企业号的标识corpsecret = '111111111111111111111111' #corpsecretSecret是管理组凭证密钥accesstoken = gettoken(corpid,corpsecret)senddata(accesstoken,user,subject,content)
修改脚本权限:
# cd /usr/lib/zabbix/alertscripts/
# chmod +x wechat.py && chown zabbix:zabbix wechat.py
可以做测试,看看能否发出信息
# python wechat_alert.py test test test
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwe302dd7e2757ca1c&corpsecret=o5W2pH9Bo4nOtJBi8yNzPeQ2j-T7KypPcRJ8Hu_E0HU
{'invalidparty': '2', 'invaliduser': u'', 'errcode': 0, 'errmsg': 'ok'}
证明能够收到消息。
zabbix web界面配置
创建报警媒介。
Script parameters对应脚本内的三个参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
创建报警用户
可以创建新的用户,也可以使用admin 账户,我是直接使用admin账户的。
sent to对应部门id。
设置报警动作
使用邮件报警动作就行,在此不再过多介绍了。
报警标题:
故障: {TRIGGER.STATUS},服务器: {HOSTNAME1} 发生: {TRIGGER.NAME} 故障!
报警信息:
告警主机: {HOST.NAME}
主机地址: {HOST.IP}
告警时间: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
告警详情: {ITEM.NAME}: {ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件代码: {EVENT.ID}
恢复标题:
恢复: {TRIGGER.STATUS},服务器: {HOSTNAME1} 发生: {TRIGGER.NAME} 恢复!
恢复信息:
恢复主机: {HOST.NAME}
主机地址: {HOST.IP}
恢复时间: {EVENT.DATE} {EVENT.TIME}
恢复等级: {TRIGGER.SEVERITY}
恢复信息: {TRIGGER.NAME}
恢复项目: {TRIGGER.KEY1}
恢复详情: {ITEM.NAME}: {ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件代码: {EVENT.ID}
测试:停止一个服务查看是否能收到报警信息。
在服务器上停止grafana服务查看。
# systemctl stop grafana-server
遇到的问题
web界面Action log显示已成功发送,但是收不到消息,经过查询是wechat_alert.py属主属组不是zabbix,也没有执行权限,修改后能够正常接收信息。
转载于:https://www.cnblogs.com/ebay/p/8963500.html
zabbix如何配置微信报警相关推荐
- zabbix配置微信报警
前言:zabbix一般可以通过邮件以及脚本的方式进行告警,zabbix通过微信报警的方式也是通过脚本来实现 企业微信号内配置 自行申请企业号 在企业号内添加新应用 应用创建完之后查看并启用应用,同时会 ...
- 使用docker部署zabbix,自定义微信报警
docker部署zabbix #使用的相关镜像:docker pull mysql:5.7docker pull zabbix/zabbix-server-mysql:centos-latest # ...
- zabbix如何实现微信报警
关于zabbix如何实现微信报警,这篇博客写的非常详细 [全网首发]zabbix如何实现微信报警 - 铜锣湾 - 51CTO技术博客 http://wuhf2015.blog.51cto.com/82 ...
- Zabbix实现企业微信报警
zabbix实现企业微信报警 1.下载安装手机版企业微信 2.注册账户,并创建一个企业,之后向企业中添加员工 3.找到我的企业->记录企业ID:ww1d1845f4b25a12fb 4.在企业下 ...
- Zabbix配置微信报警通知
Zabbix告警可以通过邮件,微信,电话,短信等方式发送告警消息. 电话和短信需要向运营商购买相应的网关,需要付费: 邮件和微信是免费的,可以根据业务需要选择相应的告警模式 Zabbix版本:3.2 ...
- zabbix分布式应用和微信报警
分布式监控: zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压 ...
- Zabbix4配置微信报警及消息群发
报警模块下载地址为:wget https://github.com/OneOaaS/weixin-alert/archive/master.zip 一. 企业微信号申请 地址: http://work ...
- zabbix监控设置微信报警
首先申请一个企业号:企业微信 添加部门通讯录: 创建子部门添加成员: 先创建部门再创建应用,创建应用的时候就可以选择部门成员,一定要选部门,选择应用的时候必须要上传头像: 要准备的东西: 1.一个微信 ...
- zabbix邮件报警和微信报警
文章目录 配置zabbix邮件报警和微信报警. 一.邮件报警 1. 配置报警媒介类型 2. 创建用户 创建用户组并设置权限 创建用户 添加报警媒介 设置权限 3. 配置动作 1.创建主机组 2.创建模 ...
最新文章
- 使用CSS隐藏HTML元素的4种常用方法
- 2109春第一次课程设计实验报告
- Bitmap too larget to be uploaded into a texture的解决方法
- 在当当买了python怎么下载源代码-Python爬取当当网APP数据
- Chrome开发者工具使用console.trace的一个小技巧
- Hibernate merge和update的区别
- MessagePack简介及使用:一种有效的二进制序列化格式
- mysql外连接基准表_4.mysql数据库创建,表创建模等模板脚本,mysql_SQL99标准的连接查询(内连接,外连接,满外连接,交叉连接)...
- javaScript 计算两个日期的天数相差~~~
- 大数据系列2-liunx基础-1操作系统介绍
- 当心路径层次太深,名字太长造成解压失败
- 数字图像处理(2): 颜色空间/模型—— RGB, CMY/CMYK, HSI, HSV, YUV
- Tomcat多层容器的设计
- LF-YOLO: A Lighter and Faster YOLO for Weld Defect Detection of X-ray Image
- linu重置root密码(CentOS7)
- Mac 安装 nvm
- 4.2 期货每日早盘操作建议
- 顺序表如何插入元素? 看这里!!
- 计算机动画基础 吴,chap3计算机动画的图形基础-1(2学时)-2010.9.16.ppt
- 接口自动化场景用例——对象嵌套对象
热门文章
- Qt的Android应用消除启动黑屏
- “卖我一枝笔”:如何史蒂夫·乔布斯将这一经典问题作出回应?
- linux shell命令设置内存大小运行jar文件
- 聚焦与发散——浅谈编程的发展方向
- DSP的GEL文件介绍
- modelsim-win64-10.1c的安装和基本使用
- smc数显压力表设定方法_SMC压力表使用注意与调试方法
- hbuilder能断点吗_知乎点赞破4万!这些PPT小秘密你知道吗?
- selenium webdriver你使用的是不受支持的命令行标记
- keras网络变为pytorch网络的一些参考