微信报警 zabbix实现详解

 更新时间:2016年09月13日 17:19:50   投稿:lqh  
这篇文章主要介绍了微信报警 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 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

相关文章

  • 分享Win10 1903过TP的双机调试问题

    分享Win10 1903过TP的双机调试问题

    本文给大家分享的是Win10 1903过TP的双机调试问题,通过实例代码截图的形式给大家展示的非常详细,需要的朋友参考下
    2019-11-11
  • Typora使用方法

    Typora使用方法

    今天用Typora因为升级了一下,所以需要激活虽然勉强能用,但是老是弹出激活页面,很是苦恼,只能通过百度找方法进行解决一下了,下面跟随小编看下Typora使用方法,需要的朋友可以参考下
    2022-04-04
  • vscode通过Remote SSH远程连接及离线配置的方法

    vscode通过Remote SSH远程连接及离线配置的方法

    这篇文章主要介绍了vscode通过Remote SSH远程连接及离线配置的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Visual Studio中文注释乱码两种解决方案

    Visual Studio中文注释乱码两种解决方案

    这篇文章主要给大家介绍了关于Visual Studio中文注释乱码两种解决方案,如果在Visual Studio Code中注释出现乱码,可能是因为文件编码格式不正确,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • ASCII控制字符的介绍小结

    ASCII控制字符的介绍小结

    ASCII编码中第0-31个字符以及第127个字符都是不可见的,,但是它们都具有一些特殊功能,所以称为控制字符,本文主要介绍了ASCII控制字符的介绍小结
    2024-06-06
  • CommonLisp中解析命令行参数示例

    CommonLisp中解析命令行参数示例

    这篇文章主要为大家介绍了CommonLisp中解析命令行参数示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • vs2019+cmake实现Linux远程开发的方法步骤

    vs2019+cmake实现Linux远程开发的方法步骤

    这篇文章主要介绍了vs2019+cmake实现Linux远程开发的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 软件测试面试如何测试一个杯子

    软件测试面试如何测试一个杯子

    本文主要介绍软件测试面试如何测试一个杯子,这里帮大家整理了详细的面试资料,和面试需要准备的知识点,有兴趣的小伙伴可以参考下
    2016-08-08
  • chrome扩展学习 右键菜单实现代码

    chrome扩展学习 右键菜单实现代码

    chrome扩展学习 右键菜单实现代码,需要的朋友可以参考下
    2012-11-11
  • idea2023连接gitee远程仓库的实现方法

    idea2023连接gitee远程仓库的实现方法

    在我们平时做项目的过程中,经常会遇到分工合作,一起完成一个项目,就会借助其它的一些项目管理工具,来帮助我们更方便的开发,本文主要介绍了idea2023连接gitee远程仓库的实现方法,感兴趣的可以了解一下
    2024-01-01

最新评论