章节
1.配置企业微信应用
1.1.配置企业微信应用
- 告警应用创建
- 告警应用信息查看
- 配置应用接口调用可用IP
1.2.获取用户信息的URL
功能 | API接口信息 |
---|---|
获取access_token | https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid= |
获取部门成员 | https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=<access_token>&department_id=<department_id> |
获取部门成员信息 | https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token=<access_token>&department_id=<department_id> |
读取成员信息 | https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=<access_token>&userid= |
2.企业微信告警脚本
2.1 企业微信告警脚本
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
# import的三方库
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='corpid'
# 企业微信zabbix的key
appsecret='appsecret'
# 企业微信zabbix用于ID
agentid=agentid
#获取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]
# 发送告警的messages信息
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)
2.2 zabbix服务器配置
- 安装python库
pip3 install requests
- 放置企业微信告警脚本
mv weixin.py /usr/lib/zabbix/alertscripts/
- 授权脚本
chmod +x /usr/lib/zabbix/alertscripts/weixin.py
- 测试脚本
/usr/lib/zabbix/alertscripts/weixin.py <告警接收人> '<告警标题>' '<告警内容>'
- 授权日志所有权
chown zabbix.zabbix /tmp/weixin.log
3.配置告警推送至企业微信
3.1.添加weixin.py告警媒介
Script parameters:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
3.2.企业微信告警联系人添加
3.3.配置告警推送至企业微信
- 配置故障告警通知
- 配置故障恢复通知
4.企业微信告警结果
- zabbix故障告警显示
- zabbix故障恢复告警显示