微信报警 zabbix实现详解_其它综合

现实生产环境中,我们通常使用邮件和短信接受zabbix报警信息,但是邮件经常被工作人员搁置在角落中甚至被设置为垃圾邮件被过滤掉。公司的短信接口又太贵,复杂环境中使用短息报警会使运维成本增加很多。微信提供了很好的第三方接口,我们可以利用微信报警以求降低运维成本。

       微信的第三方接口要求我们先申请一个企业号——传送门:https://qy.weixin.qq.com/

如何操作企业号?    

1.通讯录添加企业成员

           我们要提前把成员信息添加进组织部门,必填项+手机号或者微信号,这样别人扫描二维码的时候才能成功关注企业号。

           注意:这里有两个我们要用到信息,一个组织部门的ID,一个部门成员的账号(账号是自己手动指定的,不同于微信号,最好是字母加数字)

2.应用中心创建应用

           我们要在这里创建应用,因为要通过应用发送消息给部门成员

           注意:这里要记住一个值,应用ID

3.给部门设置管理员

          设置--->功能设置---->权限管理---->新建管理组

          管理员必须事先已经关注了企业号,并且已经设置好邮箱地址

         确定管理员可以读取通讯录,可以使用应用发消息。

         注意:我们需要管理员的CorpID和Secret

我们要准备这些东西:

    一个微信企业号

    企业号已经被部门成员关注

    企业号里有一个可以发消息的应用

    一个授权管理员,可以使用该应用给成员发消息

我们要取到这些信息:

    成员账号

    组织部门ID

    应用ID

    CropID

    Secret

如何调用微信接口?

       调用微信接口需要一个调用接口的凭证:access_token

       通过 :CropID 、Secret  才能获取到access_token,但是获取到的token有效期为两分钟

        微信企业号接口调试工具传送门:http://qydev.weixin.qq.com/debug

Shell脚本原理

        使用:

        curl -s -G  url           获取 AccessToken

        使用:

        curl --data  url     传送凭证调用企业号接口

        zabbix会传递三个参数给脚本,$1是消息接收账号,$2报警标题,$3报警内容


#!/bin/bash
###SCRIPT_NAME:weixin.sh###
###send message from weixin for zabbix monitor###
###wuhf###
###V1-2015-08-25###

CropID=‘xxxxxx‘
Secret=‘xxxxxx‘
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" ‘{print $4}‘)

PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"

function body() {
    local int AppID=3            企业号中的应用id
    local UserID=$1             部门成员id,zabbix中定义的微信接收者
    local PartyID=1             部门id,定义了范围,组内成员都可接收到消息
    local Msg=$(echo "$@" | cut -d" " -f3-) 过滤出zabbix中传递的第三个参数
    printf ‘{\n‘
    printf ‘\t"touser": "‘"$User"\"",\n"
    printf ‘\t"toparty": "‘"$PartyID"\"",\n"
    printf ‘\t"msgtype": "text",\n‘
    printf ‘\t"agentid": "‘" $AppID "\"",\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 "$(body $1 $2 $3)" $PURL

为什么要这样写脚本?

      因为微信企业号开放的端口有固定的格式限制

      企业号支持的格式:http://qydev.weixin.qq.com/wiki/index.php?title=消息类型及数据格式

将脚本放入zabbix默认执行路径下

mv weixin.sh /usr/local/zabbix/share/zabbix/alertscripts
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh

        服务器端

       1.创建媒介

        2.创建用户

        3.创建触发器动作发送内容

        4.设置触发器动作发送方式

收到的微信消息:

 

本文出自 “铜锣湾” 博客,请务必保留此出处http://wuhf2015.blog.51cto.com/8213008/1688614

以上就是微信报警 zabbix 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索微信
, zabbix
, 微信报警
微信开发报警
zabbix实现微信报警、cacti实现微信报警、nagios实现微信报警、linux 实现微信报警、电脑报警声详解,以便于您获取更多的相关知识。

时间: 2024-10-24 12:08:10

微信报警 zabbix实现详解_其它综合的相关文章

微信小程序开发实例详解_其它综合

"小程序"破解IDE + Demo:https://github.com/gavinkwoe/weapp-ide-crack.git 资源汇总:https://github.com/Aufree/awesome-wechat-weapp 官方简易教程·MINA:http://wxopen.notedown.cn/ Hello小程序 - 非官方:http://www.helloxcx.com 微信应用号开发教程:https://my.oschina.net/wwnick/blog/750

Git远程操作详解_其它综合

Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作. git clone git remote git fetch git pull git push 本文针对初级用户,从最简单的讲起,但是需要读者对Git的基本用法有所了解.同时,本文覆盖了上面5个命令的几乎所有的常用用法,所以对于熟练用户也有参考价值. 一.git clone 远程操作

微信小程序应用号开发教程详解_其它综合

微信应用号(微信公众平台小程序,「应用号」的新称呼)终于来了!开源中国社区的博卡君通宵吐血赶稿写出的微信公众平台应用号开发教程!大家赶紧来学习一下吧 微信公众平台小程序目前还处于内测阶段,微信只邀请了部分企业参与封测.想必大家都关心应用号的最终形态到底是什么样子?怎样将一个「服务号」改造成为「小程序」? 我们暂时以一款简单的第三方工具的实例,来演示一下开发过程吧.(公司的项目保密还不能分享代码和截图.博卡君是边加班边偷偷给大家写教程.感谢「名片盒」团队提供他们的服务号来动这个手术,所以博卡君的教

Web Jmeter–接口测试工具详解_其它综合

关于Jmeter性能测试工具不再过多介绍.如果你要学习软件性能测试,那么多少应该会对它有所耳闻. 强烈建议阅读官方文档学习:http://jmeter.apache.org/index.html 还有比这个更权威更全面的介绍Jmeter工具使用的么? 不过,此处要介绍是用它来做接口测试. 一.安装Jmeter                                                        Jmeter官方首页:http://jmeter.apache.org/ 关于

GitHub Eclipse配置使用教程详解_其它综合

1.下载egit插件 打开Eclipse,git需要eclipse授权,通过网页是无法下载egit的安装包的.在菜单栏依次打开eclipse→help→install new software→add,Name栏中输入egit,location栏中输入 http://download.eclipse.org/egit/updates/ ,点击ok进行下载.下载完成后会提示重启eclipse:如果已经有了就不需要了.   2.在Eclipse中生public key, 并添加到GitHub Rep

OAuth 2.0授权协议详解_其它综合

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749. 一.应用场景 为了理解OAuth的适用场合,让我举一个假设的例子. 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来.用户为了使用该服务,必须让"云冲印"读取自己储存在Google上的照片. 问题是只有得到用户的授权,Google才

RPC、RMI、SOAP的区别详解_其它综合

============================================================================RPC与RMI的区别 ============================================================================RPC:(Remote Procedure Call) 被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异. 支持多语言. RMI:(Remot

微信和qq时间格式模板实例详解_基础知识

        直接上代码,代码中有注释,大家好好看! /** * 将一个时间戳转换成提示性时间字符串,如 * 2分钟内 无显示 * 2分钟-24小时 HH:mm * 昨天 昨天 HH:mm * 前天 前天 HH:mm * 一年内 MM:DD HH:mm * 去年 去年 MM:DD HH:mm * 前年 前年 MM:DD HH:mm * 更远 yyyy:MM:DD HH:mm * 毫秒计算 * @param charttime * @return */ public static String

php 面向对象详解_对象的串行化和反串行化

  第七章(11)面向对象详解_对象的串行化和反串行化 串行化就是把对象转化成二进制的字符串 (要串行化的对象名称). 反串行化就是把二进制化字化为对象 unserilize(要反串行化的对象名称). 符串转串行化标准: $r1=new Ren("张三",20,"男"); $str=($r1<要串行化的对象>); $file=fopen("tmp.txt"<串行化保存到的文件地址>,"w"<写&g