监控服务调用微信API如何给自己发告警信息

今天心血来潮,想试试用微信公众号给自己发消息。主要是想如何运维监控的设备故障时可以通过微信告警。

查了一下开发者文档,发现普通未认证订阅号不能通过API群发,认证订阅号每天只能群一条信号,而认证的服务号每月发给每个月户也只有4条。瞬间心凉了一半,于是网上又搜了一下,发现有个“WeiXin-Private-API-master”的东东说是可以单独给每个关注的用户发送,于是下载试了一下,失败。再去查查官方文档,已找不到这个“single send”接口,官方的FAQ里回答也是没有这个功能。

最后使用公众平台测试账号,最后总算成功了。具体的步骤如下:

注:测试账号每天可以发送100条分组群发信息和100条openid列表群发信息。

1.注册公众平台订阅号(个人的未认证订阅号即可)

2.开通开发者中心功能,注册公众平台测试账号。获取到appID和appsecret

3.通过appID和appsecret获取access_token。(也即是临时凭证,有效时间为两小时,需要在到期前去更新)。获取的url为 
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
(将上面的APPID和APPSECRET替换成第2步获取到的ID和密码)

4.使用个人微信号关注这个测试账号,关注后在右方会出现加密后的微信号(也就是OpenID)

5.通过脚本调用API,这里用PHP,以OpenID列表群发为例

<?php
$post_data = array( "touser"=>array('OpenID1', 'OpenID2'),
//把OpenID替换成第4步获取到的加密微信号注意这里至少要两个OpenID,否则会返回错误信息。如果只有一个账号关注了的话,可以自己再随便造一个,或两个OpenID写成一样
          "msgtype"=> "text",
          "text" => array( "content" => "I am msg.")
      );
$post_data = json_encode($post_data) ;

//因为API只接受json的格式的数据,所以要进行json encode,当然,以上的代码也可直接写成下面这样:
//$postdata = '{"touser":["OpenID1","OpenID2"],"msgtype":"text","text":{"content":"I am msg."}}';

$url='https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=ACCESS_TOKEN';
//把ACCESS_TOKEN替换成第3步获取到的token

$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $p);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//上面两行是为了解决https证书问题,不加的话会报错,所以直接信任证书了。
$result=curl_exec($ch); echo curl_error($ch);curl_close($ch);
print_r($result);

6.用浏览器打开这个页面,显示成功:

7.在手机上查看订阅号发来的信息。(有一些延迟,所以对于需要紧急处理的监控不适合用微信订阅号来发)

最后再强调一下,为了腾讯了为安全,使用access_token,两小时就超时,所以要在超时前重新获取,可以直接在代码里进行刷新获取。测试账号每天可获取最大次数为2000次。

以上内容就是监控服务调用微信API如何给自己发告警信息的全部内容,希望大家喜欢。

(0)

相关推荐

  • 监控服务调用微信API如何给自己发告警信息

    今天心血来潮,想试试用微信公众号给自己发消息.主要是想如何运维监控的设备故障时可以通过微信告警. 查了一下开发者文档,发现普通未认证订阅号不能通过API群发,认证订阅号每天只能群一条信号,而认证的服务号每月发给每个月户也只有4条.瞬间心凉了一半,于是网上又搜了一下,发现有个"WeiXin-Private-API-master"的东东说是可以单独给每个关注的用户发送,于是下载试了一下,失败.再去查查官方文档,已找不到这个"single send"接口,官方的FAQ里回

  • JS通过调用微信API实现微信支付功能的方法示例

    本文实例讲述了JS通过调用微信API实现微信支付功能的方法.分享给大家供大家参考,具体如下: 最近在做微信公众号开发,在微信支付上遇到一些问题,困惑了3天,今天终于搞定.期间要感谢一些大神的帮助,趁热下面分享一下我的经验. 在实现微信支付之前,需要到微信开发平台认证,这些认证和配置信息我就不多说了,这里主要从代码层面实现支付. function onBridgeReady(){ WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId&quo

  • javascript使用call调用微信API

    代码很简单,只是给大家一个思路的,这里就不多废话了,奉上源码: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <title>微信Js API Demo</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="dns-prefet

  • Zabbix自定义脚本监控nginx以及微信告警的全过程

    目录 项目描述 项目步骤 项目心得 详细步骤 zabbix-agent客户端nginx配置监控 zabbix-server-web配置监控 注册企业微信接口 zabbix-server接口脚本配置告警 zabbix-server-web配置告警 zabbix-agent关停nginx服务测试 总结 项目描述 本项目的目的是构建一个能实现微信告警的zabbix监控系统,方便的监控整个NGINX集群,同时能批量的去部署和管理整个集群. 项目步骤 zabbix服务端(192.168.2.138)安装好

  • 微信小程序调用微信登陆获取openid及java做为服务端示例

    一.微信小程序 第一步:调用 wx.login获取code 文档地址 第二步:判断用户是否授权读取用户信息 文档地址 第三步:调用wx.getUserInfo读取用户数据 文档地址 第四步:由于小程序后台授权域名无法授权微信的域名,所以我们只能通过我们自己的服务器去调用微信服务器去获取用户信息,故我们将wx.login获取code 和 wx.getUserInfo 获取的encryptedData与iv 通过wx.request 请求传入后台 服务器返回的数据: 小程序代码: //调用登录接口,

  • Python3调用微信企业号API发送文本消息代码示例

    本文主要向大家分享了Python3调用微信企业号API发送文本消息示例的有关代码,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- import urllib.request import json import sys import logging touser = '@all' agentid = 0 corpid = 'wx5aef2da956514535' corpsecret = 'Co17m_OPlvE8Q4P2RKKwtq5oIA

  • skywalking分布式服务调用链路追踪APM应用监控

    目录 前言 skywalking是什么,有什么用? skywalaking总体架构分为三部分 如何快速开始? 第一步:进入官方release地址 第二步:配置需要监控的应用的agent探针 系统使用图例 其他 前言 当企业应用进入分布式微服务时代,应用服务依赖会越来越多,skywalking可以很好的解决服务调用链路追踪的问题,而且基于java探针技术,基本对应用零侵入零耦合. skywalking是什么,有什么用? Skywalking 是一个APM系统,即应用性能监控系统,为微服务架构和云原

  • 使用微信小程序API,调用微信的各种内置能力。

    目录 一.WXML 渲染语法 二.客户端数据储存 三.远程数据请求 四.<open-data>组件 五.获取用户个人信息 六.多页面的跳转 七.wx.navigateTo() 微信小程序如何使用小程序API,去调用微信提供的各种内置能力(即微信API).小程序开发框架提供丰富的微信原生API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等. 一.WXML 渲染语法 前面说过,小程序的页面结构使用 WXML 语言进行描述. WXML 的全称是微信页面标签语言(Weixin M

  • 详解如何调用zabbix API获取主机

    前言 zabbix 作为企业级的系统和网络监控方案,对于中小型公司来说基本可以很好的满足对机器的监控需求,因为其部署方便,操作简单深受现在各个互联网公司喜爱,所以现在基本的互联网公司监控用zabbix的非常多,当你安装好zabbix服务端 后,如果启动自动注册功能,在所有客户机安装后会自动在zabbix平台上被监控到,但这里有个问题,如果你机器数量非常少,如果还能数的过来那基本没什么问题,但如果你机器上千台了,这个时候那些机器被监控中,那些没被监控,查起来就没那么方便了,所以日常运维中经常发现的

  • eaglephp使用微信api接口开发微信框架

    适用平台:window/Linux依赖项目:EaglePHP框架 包含微信5.0 API基础接口.自定义菜单.高级接口,具体如下:1.接收用户消息.2.向用户回复消息.3.接受事件推送.4.会话界面自定义菜单.5.语音识别.6.客服接口.7.OAuth2.0网页授权.8.生成带参数二维码.9.获取用户地理位置.10.获取用户基本信息.11.获取关注者列表.12.用户分组. 复制代码 代码如下: <?php/** * 微信公众平台API */class WeixinChat{ private $t

随机推荐