用企业微信发送告警

1.遇到的坑

 {"errcode":40001,"errmsg":"invalid credential, hint: [1507881186_cb1093c9bcaedaf108b7ce2ea10f2d38]"}
40001 不合法的secret参数  secret在应用详情/通讯录管理助手可查看
排查secret的取值也没有错啊。就郁闷了。

最后发现问题:是corpid写错了。把企业id写成了应用id。
因为“全局错误码”里没有提到corpid错误了会造成40001错误,所以一直以为是scerent的错。

参考:https://www.cnblogs.com/luoahong/articles/9018223.html

2.实用Python脚本

[[email protected] ~]# cat test_jj.py
#!python3
# -*- coding: utf-8 -*-

import json
import requests

class WeChat(object):
    def __init__(self, corpid, secret, agentid):
        self.url = "https://qyapi.weixin.qq.com"
        self.corpid = corpid
        self.secret = secret
        self.agentid = agentid

    # 获取企业微信的 access_token
    def access_token(self):
        url_arg = ‘/cgi-bin/gettoken?corpid={id}&corpsecret={crt}‘.format(
            id=self.corpid, crt=self.secret)
        url = self.url + url_arg
        response = requests.get(url=url)
        print(‘i am here‘)
        text = response.text
        print(text)
        self.token = json.loads(text)[‘access_token‘]

    # 构建消息格式
    def messages(self, msg):
        values = {
            "touser": ‘@all‘,
            "msgtype": ‘text‘,
            "agentid": self.agentid,
            "text": {‘content‘: msg},
            "safe": 0
        }
        # python 3
        # self.msg = (bytes(json.dumps(values), ‘utf-8‘))
        # python 2
        self.msg = json.dumps(values)

    # 发送信息
    def send_message(self, msg):
        self.access_token()
        self.messages(msg)

        send_url = ‘{url}/cgi-bin/message/send?access_token={token}‘.format(
            url=self.url, token=self.token)
        response = requests.post(url=send_url, data=self.msg)
        errcode = json.loads(response.text)[‘errcode‘]

        if errcode == 0:
            print(‘Succesfully‘)
        else:
            print(‘Failed‘)
#使用示例:
corpid = "wwdbe2bhaha48965a3012"
secret = "-rLV8ahtMIcYlRZMhahaik7y5ikASozwjjppx8ZPaBXyk"
agentid = ‘10200237‘
msg = "supply high quolity and low price product......"

wechat = WeChat(corpid, secret, agentid)
wechat.access_token()
wechat.send_message(msg)

原文地址:https://www.cnblogs.com/hixiaowei/p/10804516.html

时间: 2024-08-29 17:34:29

用企业微信发送告警的相关文章

python实现通过企业微信发送消息

实现了通过企业微信发送消息,平时用于运维的告警还是不错的,相对于邮件来说,实时性更高,不过就是企业微信比较麻烦,此处不做过多解释. 企业微信api的详细请看:http://work.weixin.qq.com/api/doc#10167 话不多说,直接代码 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 # @Time : 2018/4/25 17:06 5 # @Author : zms 6 # @Site : 7 # @File :

使用python3给企业微信发送消息

一.概述 本文将介绍如何使用python3给企业微信发送消息.我的环境是linux + python3.6.10. 二.python脚本 #!/root/.virtualenvs/wechat/bin/python # usage: send message via wechat import requests, sys, json import urllib3 urllib3.disable_warnings() ###填写参数### # Corpid是企业号的标识 Corpid = "ww3

prometheus 通过企业微信接收告警

准备工作 step 1: 访问网站 注册企业微信账号(不需要企业认证). step 2: 访问apps 创建第三方应用,点击创建应用按钮 -> 填写应用信息: prometheus 配置: # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: - localhost:9093 rule_files: - "rules.yml" scrape_configs: - job

ZABBIX企业微信新版告警

企业微信注册地址https://work.weixin.qq.com/第一步企业微信注册 第二步配置企业微信记录好企业ID 点击通讯录添加一个部门和成员 添加完管理员需要记录管理员账号我们添加成员需要记录成员ID 创建应用 创建完成后记录好AgentId 和 Secret的数值 第三步配置ZABBIX.CONF配置文件 [[email protected] ~]# grep alertscripts /etc/zabbix/zabbix_server.conf **# AlertScriptsP

配置 ZABBIX 使用企业微信发送 Alert 消息

成功的从企业微信中收到的 Alert 消息的样子: Oracle 日志 Alert: 网络专线 Alert: 服务器 Alert: Linux 命令行使用方法: ./workweixin_send.php Usage: workweixin_send.php.php <username> <title> <content> ./workweixin_send.php <这里填写企业个人微信ID> hi 这是一条测试的企业微信消息 Windows 命令行使用方

微信企业号升级企业微信后zabbix告警发不出去

微信企业号升级企业微信后便没有zabbix告警发出,单独运行脚本报错: 进入接口调试页面http://qydev.weixin.qq.com/debug,输入CorpID和Secret,得到access_token: 之前的格式是: 于是修改告警脚本,之前获取access_token的语句是: 由于现在格式变了(由第四列变成了第10列),于是将$4改为$10,再次运行脚本还有错误: 提示"Invalid input",单独运行输出格式: 发现唯一有异常的地方是agentid列有空格,试

zabbix实现企业微信告警,亲测可用~~

Zabbix 新版微信告警 date 2017-06-14 标签(空格分隔): zabbix Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理. 关于邮件报警可以参考: Zabbix 使用脚本发送邮件 Zabbix Web 邮件报警 一.微信企业号申请 地址: http://work.weixin.qq.com/ 第一步注册 因为我们没有企

企业微信应用发送消息接口调用次数超过限制

2019年12月19日应用发消息接口失败提醒: 应用:监控系统报警 调用接口:/cgi-bin/message/send(影响人数:17) 错误码: 45009:接口调用超过限制(错误次数:5164) 为避免影响正常使用,请你或相关的IT负责人尽快排查修复.如有疑问,可咨询企业微信客服团队. 垃圾告警信息多,导致接口调用次数耗光,需要修改触发器的阈值,或者修改表达式, 当前微信的应用发送告警数量的限制是 企业微信人数上限*30 原文地址:https://www.cnblogs.com/0916m

Zabbix通过网易邮箱、企业微信、钉钉整合实现实时告警

Zabbix可以通过多种方式将告警信息发送到指定人,常用的报警方式有邮件.微信.钉钉等.本次博文主要介绍这三种报警方式. 一.配置网易邮箱实现报警 本篇博文采用网易邮箱的方式实现报警!操作如下: zabbix server需进行以下配置: [[email protected] ~]# yum -y install perl-Net-SSLeay perl-IO-Socket-SSL //安装所需依赖 [[email protected] ~]# wget http://caspian.dotco