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. Hive常用操作命令

    创建数据库>create database db_name;>create database if not exists db_name;//创建一个不存在的数据库final查看数据库&g ...

  2. pytest文档14-函数传参和firture传参数request

    前言 为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数. 比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登陆函数就行. ...

  3. 封装axios在vue-cli项目中便捷使用

    首先创建一个vue-cli搭建起来的vue项目这个不用多说了. 安装axios,使用npm install axios --save命令安装依赖,这时候项目的package.json文件中的" ...

  4. jTimer

      很多时候我们需要按时间间隔执行一个任务,当满足一定条件时停止执行.此插件旨在解决这一经常遇到的问题. jTimer: (function ($) { $.extend({ timer: funct ...

  5. querySelector() 方法

    返回文档中匹配指定 CSS 选择器的一个元素. 虽然IE8中没有getElementsByClassName()但可以用querySelector()代替 注意: querySelector() 方法 ...

  6. 基于Python——实现远程下载sftp文件(只下载.zip文件)

    [背景]远程下载发布包等文件时,总是要使用WinSCP等工具登陆拖动.今天就介绍一种使用python下载文件到本地的方法. [代码实现] import paramiko # paramiko模块,基于 ...

  7. Python 总结一

    '''形式参数不占内存,在调用时开辟内存,在函数结束时释放内存默认参数 调用方式:位置参数.关键字参数 *args (元组) **kwargs(字典) 局部变量:在子程序中使用的变量全局变量:glob ...

  8. FileWriter向文件中写入内容

    1.创建fileWriter对象 2.写入文件信息 3.关闭流 必须关闭流,否则将不能写入文件中 /** * * @author Administrator * 文件写入对象的使用 * */ publ ...

  9. JavaScript(ES6)学习笔记-Set和Map数据结构(一)

    一.Set 1.ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. , , , , ']); s; // ...

  10. react 表单获取多个input

    react  表单this.handleChange(key,e){ [key]:e.target.value} submit=()=>{ const {userName,age,status} ...