您的位置 首页 zabbix

zabbix 配置企业微信报警详细步骤

zabbix 配置企业微信报警详细步骤

首先这里白眉大叔准备了一个 weixin.py 的脚本文件。

下载地址在这里;

weixin.py: https://url69.ctfile.com/f/253469-855035022-e6dfaa?p=2206 (访问密码: 2206)

 

我们需要 获取这3个 信息。接下来我们操作一下 ,需要用到企业微信

 

第一步: 注册企业微信

https://mp.weixin.qq.com/

 

然后填写响应的信息

 

找到我的企业, 然后底部有已给 企业的 id

把这ID 记录一下,我们需要在 weixin.py 中填写

然后我们创建一个应用:

然后我们用 手机的企业微信登录 我们刚才创建 的 白眉大叔的企业微信 ,可以查看 secret 信息

这样我们需要的3个信息都有了,

我们上传  weixin.py脚本:

在我们 的服务端安装  71上

安装pip需要epel仓库
[root@zabbix ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@zabbix ~]# yum install python-pip -y &>/dev/null
[root@zabbix ~]# pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple


[root@zabbix ~]# mv weixin.py /usr/lib/zabbix/alertscripts/
[root@zabbix ~]# chmod +x /usr/lib/zabbix/alertscripts/weixin.py

测试一下:这里注意, ZhaoBaiMei  必须是你自己真是姓名的全拼,

python weixin.py 'ZhaoBaimei' '下雨了!' '回家收衣服'

[root@zabbix /usr/lib/zabbix/alertscripts]#cat /tmp/weixin.log
Tue, 09 May 2023 22:26:40, connectionpool.py, INFO, Starting new HTTPS connection (1): qyapi.weixin.qq.com
Tue, 09 May 2023 22:26:41, connectionpool.py, DEBUG, "GET /cgi-bin/gettoken?corpid=ww7ff204aa8d29d59e&corpsecret=SXJE88_LHcriNrfixF-hARryFzBzqNw9yc7ujqfavCI HTTP/1.1" 200 277
Tue, 09 May 2023 22:26:41, connectionpool.py, INFO, Starting new HTTPS connection (1): qyapi.weixin.qq.com
Tue, 09 May 2023 22:26:41, connectionpool.py, DEBUG, "POST /cgi-bin/message/send?access_token=FGUTvTXwU2EbIaJ54OLpEja5946Is3bUAabLY4zMuVjT0FjKgbd_9syuY9B2505-r6d4-2IP6PLKuQ8fkwLcghfOAuTUbXFZNrJvhniIf7_ASSytnA1XfDNts7-ZoMLStO4U1ndFnd62sDaOWtfLSwIV9O9w3dOOJMPAivIbtsYt75o00rOPJJvnQBDl8dmrofmVygBRWYpA7Oo2by4wKQ HTTP/1.1" 200 188
Tue, 09 May 2023 22:26:41, weixin.py, INFO, sendto:baimei;;subject:xiayul;;message:xiayul

 

后台日志显示 200 成功了

但是企业微信没有收到消息,我们需要在企业微信后台 配置一下 备案域名:

这个ip 我们可以在  71 服务端的服务器上输入:

curl cip.cc

我们再测试一下:

python weixin.py 'ZhaoZhiYong' 'xiayul' 'huijia111'

企业微信收到消息了,成功了

接下来我们配置一下 zabbix

 

第2步: 配置 zabbix

 

{ALERT.SENDTO} #发给谁
{ALERT.SUBJECT} #报警标题
{ALERT.MESSAGE} #报警内容

配置动作发送邮件修改为微信媒介进行告警

 

然后我们 进行测试一下:

我们把 /tmp/weixin.log 删除后重新测试

rm -rf /tmp/weixin.log

测试成功

我们在来看看正常的报警是否可以企业微信报警。

 

weixin.py内容如下:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
#author: baimeidashu
#date: 2021
#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='ww60ee0d0f023c367e'
appsecret='Juni-or-Qm9HaPN374zMtAJ8dnsqBHRAAHo-hsPGXuk'
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)                                                                              

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章