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=$
PartyID=
agentid=
Msg=$(echo "$@"|cut -d" "-f1-)

message(){
printf '{\n'
printf '\t"touser": "'"$UserID"\"",\n"
printf '\t"toparty": "'"$PartyID"\"",\n"
printf '\t"msgtype": "text",\n'
printf '\t"agentid": "'"$agentid"\"",\n"
printf '\t"text": {\n'
printf '\t\t"content": "'"$Msg"\""\n"
printf '\t},\n'
printf '\t"safe":"0"\n'
printf '}\n'
}
/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

 

zabbix使用微信报警(四)的更多相关文章

  1. Zabbbix之十二------Zabbix实现微信报警通知及创建聚合图形

    实战一:实现zabbix监控微信报警 1.在企业微信上注册账号 1.注册企业微信,管理员需要写上自己的真实姓名,扫描以下的二维码,与微信关联真实姓名. 2.登陆企业微信,然后创建一个微信故障通知应用 ...

  2. zabbix设置微信报警的配置过程

    zabbix设置微信报警的配置过程 转发:https://blog.csdn.net/qq_31613055/article/details/78831607 微信企业号的申请 注册的地址https: ...

  3. zabbix配置微信报警

    首先我们先目睹下微信报警的效果 接下来我们正式开始操作. 一:注册企业微信. 打开企业微信注册:http://work.weixin.qq.com 根据以上提示填入相应的内容,然后注册即可. 二:登录 ...

  4. Zabbix配置微信报警通知

    Zabbix告警可以通过邮件,微信,电话,短信等方式发送告警消息. 电话和短信需要向运营商购买相应的网关,需要付费: 邮件和微信是免费的,可以根据业务需要选择相应的告警模式 Zabbix版本:3.2 ...

  5. CentOS 7 zabbix实现微信报警

    环境 : LAMP  CentOS7  192.168.94.11 首先搭建LAMP环境 , 安装zabbix [root@zabbix-server ~]# wget http://repo.zab ...

  6. 配置zabbix通过微信报警企业微信报警

    如今势态: 报警的方式可谓是八仙过海各显神通,如电话报警,短信报警,邮件报警,QQ报警,微信报警等等. 电话报警:一般都是使用别的平台的工具,平台给你提供一个接口供你使用,大多数为限量收费款 短信报警 ...

  7. zabbix利用微信报警

    一.背景介绍 报警的方式有很多种,比如常用的邮件报警,短信,微信等.那这篇文章主要是实现微信报警. 值得注意的是,之前使用微信企业公众号,现在微信企业公众号更新成企业微信了.所以直接注册企业微信,进入 ...

  8. zabbix企业微信报警实现

    企业微信配置 # 注册 企业微信注册地址:https://work.weixin.qq.com 笔者注册的企业微信名称为 5iik # 配置 # 在主干5iik(企业名称)下添加子部门(监控组),并将 ...

  9. Zabbix实现微信报警

    一.  申请企业微信账号,申请地址 https://qy.weixin.qq.com/ 二. 登陆企业微信账 图一 图二 2.添加微信账号 图一 图二 完成以上步骤后 就完成了微信账号的添加 三.新建 ...

随机推荐

  1. 激活Pychram

    最近更新了Intellij IDEA到2018.1.5之后,使用之前的授权服务器(http://idea.imsxm.com)会提示Outdated License Server Detected,大 ...

  2. js 数组元素排序

    字母排序 <html> <body> <script type="text/javascript"> ) arr[] = "Georg ...

  3. leecode第二百零六题(反转链表)

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  4. JVM ——知识总结(面试)

    1)JAVA语言是一种强语言 2)JAVA不允许使用指针访问内存,不允许使用指针数组访问内存 3)有自动收集垃圾的作用 4)方法调用时,会创建栈帧在栈中,调用完是程序自动出栈释放,而不是gc释放 5) ...

  5. node常用模块---path

    path---用来提供文件路径和文件之间的处理的函数 node常用模块之path

  6. xlwt 写sheet xls 文件

    import xlwtworkbook = xlwt.Workbook()#创建bookworksheet = workbook.add_sheet('My Sheet') #添加sheet#背景色的 ...

  7. 2015-10-21 C#1

    C#(一) 一.C#的数值类型 byte----字节型 short---短整型 int------整型 long----长整型 char----字符型 float----单精度型 double--双精 ...

  8. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example 1.4 Labeling the Map

    MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example 1.4 Labeling the Map 一.前言 MapServer拥有非常灵活的标签 ...

  9. Go used as value问题

    练习Go变参时遇到一个报错:used as value 代码如下: // 错误代码 func myfunc(arg ...int) { for _, n := range arg { fmt.Prin ...

  10. java课堂笔记2