zabbix-微信报警

缥帙各舒散,前后互相逾。这篇文章主要讲述zabbix-微信报警相关的知识,希望能为你提供帮助。
1.企业微信1.1.企业微信注册地址
??https://work.weixin.qq.com/wework_admin/register_wx?from=loginpage??

注册企业微信,管理员需要写上自己的真实姓名,扫描以下的二维码,与微信关联真实姓名


1.2.企业微信登录
??https://work.weixin.qq.com/wework_admin/loginpage_wx?from=myhome??
登陆企业微信,然后到应用管理创建一个zabbix告警机器人


1.3.查看应用的相关信息


1.4.添加成员

1.5.查看此时的管理员账号
姓名全拼,首字母都是大写

2.在zabbix server服务器端配置weixin.py脚本2.1.安装python依赖模块
apt-getinstall python-pip -y
pip install requests

2.2.weixin.py脚本
脚本存放到以下位置:/usr/local/zabbix/share/zabbix/alertscripts
#!/usr/bin/env python
#coding:utf-8
#Author:Zhang ShiJie
import requests
import sys
import os
import json
import logging
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), # 指定临时weixin的日志路径
filemode = a)

corpid=企业ID# 需要修改企业ID
appsecret="SCRET"# 企业的secret秘钥
agentid="Agent ID"# 修改agentid
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]
message=sys.argv[2] + "\\n\\n" +sys.argv[3]


params=
"touser": touser,
"msgtype": "text",
"agentid": agentid,
"text":
"content": message
,
"safe":0



req=requests.post(msgsend_url, data=https://www.songbingjia.com/android/json.dumps(params))
logging.info(sendto: + touser + ; ; subject: + subject + ; ; message: + message)

chmod +x weixin.py
chown zabbix. weixin.py

#需要注意/tmp/weixin.log权限
chown zabbix. /tmp/weixin.log
下图就是因为权限问题,无法发送消息


2.3.脚本测试

root@ubuntu:/usr/local/zabbix/share/zabbix/alertscripts# python weixin.py TaoWenWu "测试" "人生苦短,我学Python!"
root@ubuntu:/usr/local/zabbix/share/zabbix/alertscripts# python weixin.py TaoWenWu "感悟" "人生无偿,大肠包小肠"


2.4.创建媒体类型
变量:
ALERT.SENDTO
ALERT.SUBJECT
ALERT.MESSAGE


2.5.配置收件人
这里的收件人,配置的是一个成员名称


2.6.创建动作

2.7.测试
以之前做的nginx80端口监测为例,停止nginx看是能发送消息,如下图所示:





【zabbix-微信报警】


    推荐阅读