zoukankan      html  css  js  c++  java
  • zabbix3.0 微信告警

    首先需要申请一个企业号,其实公众号也可以,不过脚本不一样。而且公众号任何人都可以关注,有泄密的风险。企业号只有指定的人可以关注,安全性较高。申请企业号,需要一个绑定你本人开户银行卡的微信号。 

    申请网址 https://qy.weixin.qq.com/

    点击“立即注册”。根据提示注册企业号,到“选择类型”时,选择最右边的企业号。注意:企业描述中:“报警”是敏感词不能使用。登录之后,可以看到如下页面 

    填写信息:

    申请完毕后,登录

    在通讯录添加成员

    注:这里的账号相当于你的企业账号,与微信号无关。必须先在此处创建用户,并且填写正确的微信号或者手机号,才可通过扫描二维码关注该企业号(知道为何安全了吧)。 

     这里扫描二维码就可以关注。

    添加应用

    填写信息

    填写完成后,出现你刚填写的应用

    点击查看详情

    记住应用ID,后面能用到!

    点击设置,管理组,权限管理, 记住  CorpID   Secret   (后面能用到)

    现在万事俱备,可以开始编写脚本了。 

    编写脚本 

    在/usr/lib/zabbix/alertscripts下编写脚本wechat.sh

     

    脚本如下:

     1 #!/bin/bash
     2 ###SCRIPT_NAME:weixin.sh###
     3 ###send message from weixin for zabbix monitor###
     4 ###wuhf###
     5 ###V1-2015-08-25###
     6 
     7 CropID='************'
     8 Secret='************' 
     9 GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
    10 Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F" '{print $4}')
    11 
    12 PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
    13 
    14 function body() {
    15         local int AppID=******
    16         local UserID=$1
    17         local PartyID=1
    18         local Msg=$(echo "$@" | cut -d" " -f3-)  
    19         printf '{
    '
    20         printf '	"touser": "'"$User""",
    "
    21         printf '	"toparty": "'"$PartyID""",
    "
    22         printf '	"msgtype": "text",
    '
    23         printf '	"agentid": "'" $AppID """,
    "
    24         printf '	"text": {
    '
    25         printf '		"content": "'"$Msg"""
    "
    26         printf '	},
    '
    27         printf '	"safe":"0"
    '
    28         printf '}
    '
    29 }
    30     /usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

    注释:更新代码(其上可能调用的URL时效)

     1 #!/bin/bash
     2 
     3 CropID='wxe46cfc45d0c07e23'
     4 Secret='takL9WW2Eo_Ww5AGENHR7mJA6nl89sz1ghbhpAE8Jus'
     5 GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
     6 Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F" '{print $10}')
     7 PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
     8 function body() {
     9         local int AppID=1
    10         local UserID=@all
    11         local Msg=$(echo "$@" | cut -d" " -f3-)
    12         printf '{
    '
    13         printf '	"touser": "'"$UserID""",
    "
    14         printf '	"msgtype": "text",
    '
    15         printf '	"agentid": "'"$AppID""",
    "
    16         printf '	"text": {
    '
    17         printf '		"content": "'"$Msg"""
    "
    18         printf '	},
    '
    19         printf '	"safe":"0"
    '
    20         printf '}
    '
    21 }
    22         /usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

    以上CropID,Secret,AppID   填写自己微信号上的正确信息,否则无效!

    chown -R zabbix:zabbix /usr/local/zabbix/alertscripts chmod 750 /usr/local/zabbix/alertscripts/wechat.sh

    执行./wechat.sh 1 1 test 看自己微信是否能收到东西。

    如果能的话,继续下一步。反之检查上面有什么问题

    然后到zabbix上添加

    点击管理---媒体类型---创建媒体类型

    管理---用户---添加用户

    组态---动作---添加动作

    名称:weixin_action 默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

    默认信息:

    告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}

    恢复信息:打钩

    恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

    恢复信息:

    告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}

    已启用:打钩 

    最后测试,是否会微信报警。停掉一台机子

    表示成功!

    附加:在搭建的过程中,我碰见了一个问题就是,

     

    在虚拟机上用命令测试,微信能收到信息。但是到zabbix上就不成功,并且zabbix上动作显示已送达!详细请看下一篇文档!

  • 相关阅读:
    异常处理器
    Controller方法返回值
    @RequestMapping定义不同的处理器映射规则
    高级参数绑定(数组和List绑定)
    跟Google学习Android开发-起始篇-用碎片构建一个动态的用户界面(3)
    跟Google学习Android开发-起始篇-用碎片构建一个动态的用户界面(4)
    XML FREESWITCH APPLICATION 实现
    【送给新手】重复代码解决示例二
    二分查找及扩展
    IE 文档模型设置 免去你IE 按F12去调文档标准的烦恼。
  • 原文地址:https://www.cnblogs.com/maxtgood/p/6233700.html
Copyright © 2011-2022 走看看