zabbix实现微信报警
zabbix基于微信报警
[root@zabbix-server ~]# yum install python-pip -y
[root@zabbix-server ~]# pip install requests
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# wget http://fj.xuliangwei.com/public/weixin.py
1.选择企业微信进行登录
2.进行部门创建提取secrite、agentd、企业ID
weixin.py脚本
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# cat weixin.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#author: bgx
#date: 2018
#comment: zabbix接入微信报警脚本
import requests
import sys
import os
import json
import logging
logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
datefmt = '%a, %d %b %Y %H:%M:%S',
filename = os.path.join('/tmp','weixin.log'),
filemode = 'a')
corpid='wwabc724323d435e09'
appsecret='wyKxAj7dpAEESnm5Vg9PenvyDikytl3iKEcZtuIFdaw'
agentid=1000002
#获取accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']
#发送消息
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
touser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=sys.argv[2] + "\n\n" +sys.argv[3]
params={
"touser": touser,
# "toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe":0
}
req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)
#脚本需要修改提取企业微信上述信息
[root@zabbix-server alertscripts]# vim weixin.py
......
corpid='wwabc724323d435e09'
appsecret='wyKxAj7dpAEESnm5Vg9PenvyDikytl3iKEcZtuIFdaw'
agentid=1000002
#获取accesstoken
#脚本授权
[root@zabbix-server alertscripts]# chmod +x weixin.py
#测试是否成功 WangYongQiang 为企业微信账号
[root@zabbix-server alertscripts]# ./weixin.py WangYongQiang 监控测试 "123456"
#手机登录企业微信查看消息发送成功
#注意:切记一定要删除,否则会导致权限问题--->因为前面测试步骤产生了日志,但是不是zabbix运行的
[root@zabbix-server alertscripts]# rm -f /tmp/weixin.log
填写微信报警名称以及需要传入的参数
{ALERT.SENDTO} #发送的用户
{ALERT.SUBJECT} #发送的主题
{ALERT.MESSAGE} #发送的内容*
微信报警添加成功--->添加报警信息---->配置--->报警媒介--->所有(更新)
#压力测试进行信息查看
[root@zabbix-server alertscripts]# dd if=/dev/zero of=/dev/null bs=1000M count=200
技术是没有终点的,也是学不完的,最重要的是活着、不秃。 学习看书还是看视频,都不重要,重要的是学会,欢迎关注,我们的目标---不秃。
---更多运维开发交流及软件包免费获取请加V: Linuxlaowang