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. scala基础学习(一)

    scala学习 scala与java的不同之处: 1.scala中任何一个操作符都是一个方法. s = 1+2;    可以写作:s=(1).+(2) 2.异常捕获采用模式匹配的方式. try { v ...

  2. HashMap 和 HashTable差别

    代码版本 JDK每一版本都在改进.本文讨论的HashMap和HashTable基于JDK 1.7.0_67.源码见这里 1. 时间 HashTable产生于JDK 1.1,而HashMap产生于JDK ...

  3. [数据结构]P1.3 栈 Stack

    * 注: 本文/本系列谢绝转载,如有转载,本人有权利追究相应责任. 栈是一种先进后出的结构(FILO),常见的操作有:push 入栈.pop删除栈顶元素并返回.peek 查看栈顶元素 与其他线性结构一 ...

  4. linux存储管理之基本分区

    基本分区管理 ====================================================================================基本分区(MBR| ...

  5. You Dream. We Test.

      https://www.keysight.com/us/en/home.html https://www.ixiacom.com/ IXIA 被收,才发现她

  6. 多个Activity之间共享数据的方式

    现在要做一个项目,多个Activity之间要共享数据,所以要考虑共享数据的方式. 其实有如下5种方式: 1.基于消息的通信机制  Intent ---bundle ,extra 数据类型有限,比如遇到 ...

  7. Python—迭代器与生成器

    迭代器与生成器 生成器(generator) 先来了解一下列表生成器: list = [i*2 for i in range(10)] print(list)>>>>[0, 2 ...

  8. ORA-12638: 身份证明检索失败的解决方法

    本地oracle客户端用PLSQL Developer连接远程数据库,每次登录都会在很久之后,出现 ORA-12638: 身份证明检索失败,tnsping 表明TNS配置没有问题. 解决方案: D:\ ...

  9. 2.5 定义FTP工具的各种方法

    用class定义ftp工具的各种方法 import os,sys from ftplib import FTP from mimetypes import guess_type,add_type fr ...

  10. LeetCode 46 全排列

    题目: 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3 ...