zoukankan      html  css  js  c++  java
  • zabbix使用微信报警(四)

    https://qy.weixin.qq.com/  企业号注册
    http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5    微信调用接口说明
    http://qydev.weixin.qq.com/debug 微信企业号接口调试地址
     
    一、首先申请企业公众号
     
    二、获取AccessToken
     
    使用微信,应该最重要的就是这个了,下面是如何获取他,在他的接口文档中,有说明:
     
     
    首先测试一下,看通过接口调试工具,如何获取Access_Token: 根据自己的corpid和corpsecret获取AccessToken

     
    会返回一个结果:

    那么如何通过命令行获取呢,那就是根据上面文档的get请求的地址: 执行这条命令就可以获得

    /usr/bin/curl -s -G https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxx&corpsecret=xxxx |awk -F":'{print $4}'|awk -F" '{print $2}'

    获得这个值,然后就可以通过他发送消息了,发送接口说明:把刚刚上面获得的AccessToken传给下面这个红色框框的ACCESS_TOKEN地方
     

     三、编写脚本,实现微信的发送

     部门ID,应用ID,CorpID,Secret,然后根据CorpID和Secret获得access_token,然后根据微信提供的接口文档进行获取就可以了
     
        #!/bin/bash
        #set -x
        CorpID="xxxxx"
        Secret="xxxxx"
        GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"
        Token=$(/usr/bin/curl -s -G $GURL |awk -F":'{print $4}'|awk -F" '{print $2}')
        echo $Token
        PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token"
        UserID=$1
        PartyID=2
        agentid=1
        Msg=$(echo "$@"|cut -d" "-f1-)
        
    message(){ printf '{ ' printf ' "touser": "'"$UserID""", " printf ' "toparty": "'"$PartyID""", " printf ' "msgtype": "text", ' printf ' "agentid": "'"$agentid""", " printf ' "text": { ' printf ' "content": "'"$Msg""" " printf ' }, ' printf ' "safe":"0" ' printf '} ' } /usr/bin/curl --data-ascii "$(message $1 $2 $3)" $PURL

    这个脚本可以先sh webcat.sh 001 aa bb 先测试一下,看是否成功

    这里的message是有格式说明的:

    他的发送消息格式一定要按照他的文档要求来
    touser:成员ID列表,多个用|分开
    toparty:部门ID列表
    msgtype:消息的类型text(支持消息型应用跟主页型应用)
    agentid:企业应用ID号
    content:消息内容
    safe:是否保密消息,0表示否,1表示是,默认为0
     
    通俗的话理解:
               1)通过get请求地址,根据自己的corid和secret获取Access Token
               2)把获取的Access Token传递给post地址的ACCESS_TOKEN参数
               3)然后使用规定的文本格式通过curl 发送出去
             
     
    四:zabbix设置,和添加邮件一样,有几点注意事项
     
    1:添加报警媒介类型,这里的参数是要传递到脚本里去的
     
     
    2:用户添加微信报警  收件人写
     
     
    3:添加动作,在操作细节的时候选择微信报警
     
     
     
    获得的结果:

    若发送不成功,首先可以通过zabbix的动作日志看他是否成功

    若这里显示的是发送成功,然后又没有收到微信消息,那么很有可能是微信的Access Token的问题,我的办法是重新获取secret

     
  • 相关阅读:
    爬虫——网页解析利器--re & xpath
    机器学习——决策树
    爬虫——控制台抓包和requests.post()发送请求
    爬虫——爬取Ajax动态加载网页
    爬虫——urllib爬虫模块
    从零搭建一个SpringCloud项目之Zuul(四)
    从零搭建一个SpringCloud项目之hystrix(三)
    从零搭建一个SpringCloud项目之Eureka(一)
    SpringBoot内置Tomcat启动的源码分析
    初始化Bean的扩展InitializingBean和BeanPostProcessor
  • 原文地址:https://www.cnblogs.com/lemon-le/p/7204944.html
Copyright © 2011-2022 走看看