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

 更新时间:2015年09月12日 15:31:46   作者:orzzz  
本文是脚本之家的小编给大家介绍监控服务调用微信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如何给自己发告警信息的全部内容,希望大家喜欢。

相关文章

  • rsync ssh 数据同步分析

    rsync ssh 数据同步分析

    可通过ssh进行网络加密传输,也可以利用ssh客户端密钥建立信任关系。当在两台计算机之间保持大型、复杂目录结构的同步时候,比tar或wget等方式都要快。而且可以做到精确同步
    2012-08-08
  • PHP 木马攻击的防御设置方法

    PHP 木马攻击的防御设置方法

    本文通过介绍一些技巧介绍了针对PHP木马攻击的防御之道,通过这些方面您能够更好的防范木马程式。
    2009-10-10
  • linux使用dd命令查看服务器磁盘IO性能

    linux使用dd命令查看服务器磁盘IO性能

    dd命令是Linux系统中的一个非常强大的工具,它可以用于复制文件、转换文件格式、备份数据等,这篇文章主要介绍了linux查看服务器磁盘IO性能,需要的朋友可以参考下
    2024-02-02
  • Git客户端TortoiseGit(Windows系统)的使用方法

    Git客户端TortoiseGit(Windows系统)的使用方法

    这篇文章主要介绍了Git客户端TortoiseGit(Windows系统)的使用方法,需要的朋友可以参考下
    2014-09-09
  • ElasticSearch事件查询语言EQL操作

    ElasticSearch事件查询语言EQL操作

    这篇文章主要为大家介绍了ElasticSearch事件查询语言EQL操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Fluentd搭建日志收集服务

    Fluentd搭建日志收集服务

    这篇文章主要为大家介绍了Fluentd搭建日志收集服务,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 利用Ansible实现批量服务器自动化管理详解

    利用Ansible实现批量服务器自动化管理详解

    Ansible是基于Python开发的,采用YAML语言编写自动化脚本playbook, 可以在Linux、Unix等系统上运行, 本文主要介绍了如何利用Ansible实现批量服务器自动化管理,需要的可以参考下
    2024-01-01
  • windows2008系统中rsync计划任务返回0x1问题处理

    windows2008系统中rsync计划任务返回0x1问题处理

    本文给大家分享的是小编在给windows2008配置rsync同步的过程中遇到的一个问题,在win03系统下可以正常返回0x0,结果到了win08系统中就变成了0x1,虽然也同步成功了,但是作为一个完美主义强迫症患者,坚决不能忍,经过一番查证,找到了解决办法,分享给大家
    2017-04-04
  • 基于epoll实现 Reactor服务器的详细过程

    基于epoll实现 Reactor服务器的详细过程

    在我们调用epoll_create的时候会创建出epoll模型,这个模型也是利用文件描述类似文件系统的方式控制该结构,这篇文章主要介绍了基于epoll实现 Reactor服务器的详细过程,需要的朋友可以参考下
    2023-12-12
  • 搭建本地的idea激活服务器的详细教程

    搭建本地的idea激活服务器的详细教程

    这篇文章主要介绍了搭建本地的idea激活服务器的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09

最新评论