zabbix之企业微信告警
Posted rmㅤ-rf *
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix之企业微信告警相关的知识,希望对你有一定的参考价值。
文章目录
zabbix之企业微信告警
二进制安装python
下载并安装python3.6
[root@zabbix ~]# wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
[root@zabbix ~]# tar xf Python-3.6.5.tgz
[root@zabbix ~]# cd Python-3.6.5
[root@zabbix Python-3.6.5]# ./configure --prefix=/usr/local/python3
[root@zabbix Python-3.6.5]# make
[root@zabbix Python-3.6.5]# make install
做软链接
[root@zabbix Python-3.6.5]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
[root@zabbix Python-3.6.5]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
安装requests库
[root@zabbix Python-3.6.5]# /usr/local/python3/bin/pip3 install requests
查看python版本
若能看到版本则说明安装没有问题
[root@zabbix Python-3.6.5]# pip3 -V
pip 9.0.3 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)
[root@zabbix Python-3.6.5]# python3 -V
Python 3.6.5
微信告警的配置方式
修改zabbix_server配置文件
将zabbix_server配置文件中的脚本存放地址取消注释
[root@zabbix /]# vim /usr/local/etc/zabbix_server.conf
……
AlertScriptsPath=/usr/local/share/zabbix/alertscripts
……
通过企业ID和secret来获取token
[root@zabbix /]# curl https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=你的企业ID&corpsecret=你的secret
{"errcode":0,"errmsg":"ok","access_token":"此处为你的token值","expires_in":7200}
测试你的token值是否可用
将你自己的信息复制到对应的地址上,复制链接到浏览器若可以查看到程序、用户等信息表示可用
curl https://qyapi.weixin.qq.com/cgi-bin/agent/get?access_token=你的token值&agentid=你的agentid
编写通过企业微信告警脚本
[root@zabbix /]# vim /usr/local/share/zabbix/alertscripts/weixin.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import requests
import json
import sys
import urllib3
class weChat:
def __init__(self,Corpid,Secret):
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%
s' % (Corpid,Secret)
res = self.url_req(url)
self.token = res["access_token"]
def url_req(self,url):
requests.packages.urllib3.disable_warnings()
req = requests.get(url, verify=False)
res = json.loads(req.text)
return res
def send_message(self,user,content):
url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" %
self.token
data = {
"touser": user,
"msgtype": "text",
"agentid": 1000002,
"text": {
"content": content
},
"safe":"0"
}
requests.packages.urllib3.disable_warnings()
res = requests.post(url,json=data, verify=False)
if json.loads(res.content)['errmsg'] == 'ok':
return "send message sucessed"
else:
return res
if __name__ == '__main__':
user = sys.argv[1]
content = sys.argv[2]
get_token = weChat('你自己的企业微信的ID','你自己的secert值')
print (get_token.send_message(user, content))
测试脚本是否可用
成功则会出现send message sucessend并且向企业微信中的HanAo用户发送test
[root@zabbix /]# python3 /usr/local/share/zabbix/alertscripts/weixin.py 'HanAo' 'test'
send message sucessed
修改脚本属组和属主并添加执行权限
[root@zabbix share]# chown zabbix.zabbix zabbix
[root@zabbix /]# chmod +x /usr/local/share/zabbix/alertscripts/weixin.py
定义企业微信的脚本告警媒介
添加各类信息发布格式
为用户添加企业微信的告警媒介
配置动作
配置动作名
手动触发警告
[root@client ~]# echo '123' >> /etc/test
验证
以上是关于zabbix之企业微信告警的主要内容,如果未能解决你的问题,请参考以下文章