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

posted @ 2020-04-14 15:48  老王教你学Linux  阅读(286)  评论(2编辑  收藏  举报