实时警报通知:微信告警通知的重要性解析
1447
2023-01-23
本文讲述了如何发送微信告警通知?微信报警平台。
想实现微信告警其实方法很多,但大部分方式都有自己的局限性。比如Zabbix 3.0版本后可以使用微信公众号配置 Zabbix 报警了,但需要申请一个微信服务号,接入复杂,要认证,周期较长!简单高效的方式有没有呢?有,最简单的方式就是接入第三方工具,比如我们睿象云智能告警平台,不仅可以简单高效的实现微信等社交软件告警,还有多种实用告警功能,比如汇集多个监控告警,对通知告警压缩降噪,如果要通知的人比较多,还可以设置通知规则,甚至还可以排班!微信告警的实现在我们这里特别简单,只需要关注我们的公众号,绑定一下账号就可以了!既不需要复杂的配置,也不需要微信服务号的注册认证,简单方便到极点。
第三方平台工具的一个优势是,匹配了多种监控和多种社交工具。告警整个流程通常是监控工具把告警信息发送给社交软件,现在的监控工具很多,社交软件也很多,这就要求监控工具和接收端的匹配。如果一个一个的匹配其实是非常麻烦的,而且一个公司也不需要所有的监控和接收端。最好的解决方案就是第三方平台,汇集多种监控工具,打通多种社交工具,让其他公司有丰富的选择权,简单高效,省下了很多匹配工作。监控工具方面,我们接入了包括Zabbix在内的100多种监控工具:Promethues、Nagios、Open-Falcon、Grafana、Cacti、Solarwinds、Site24x7、VMWare、AWS、阿里云监控、监控宝同时还支持API集成、邮箱集成。
社交软件端,我们支持丰富的渠道通知,包括:电话、短信、微信、邮件、钉钉、原生App 等多种通知方式,还支持钉钉、企业微信、简聊、Webhook、飞书 等第三方协作工具,实现告警团队协作处理,帮助团队更快找到故障根因。
除了微信,钉钉、企业微信的设置也很简单,还有告警降噪,通知规则等功能,都是很实用的。感兴趣可以试用一下,只用微信的话免费版就可以,价格很便宜。我是睿象云智能告警平台,专注人工智能提升运维效率,码字不易,欢迎大家点赞评论收藏~
zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
下文讲述了如何通过微信实现zabbix的告警:
第一步、注册微信公众号
首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的,申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号。
就可以看到用户数了,接下来的就要使用的用户的微信ID号了。点击用户查看用户的微信ID号。在浏览器查看用户的微信ID号。
点击总用户数,点击刚刚关注的你自己的微信号的头像,在弹出的网页url中有你微信号的id 也就是下面url标红的部分。
https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=message/send&action=index&tofakeid=1415366540&token=1136922890&lang=zh_CN
第二步、下载并配置微信公众平台私有接口
下载API
# git clone https://github.com/lealife/WeiXin-Private-API
修改config文件:
# vi config.php
==============================================
// 全局配置
$G_ROOT = dirname(__FILE__);
$G_CONFIG["weiXin"] = array(
'account' => '微信公众登录号码',
'password' => '微信公众登录密码',
'cookiePath' => $G_ROOT. '/cache/cookie', // cookie缓存文件路径
'webTokenPath' => $G_ROOT. '/cache/webToken', // webToken缓存文件路径
);
==============================================
修改test.php文件
==============================================
require "config.php";
require "include/WeiXin.php";
$weiXin = new WeiXin($G_CONFIG['weiXin']);
$testFakeId = "$argv[1]";
$msg="$argv[3]";
print_r($weiXin->send($testFakeId, "$msg"));
===============================================
注意这里$msg=”$argv[3]”表示zabbix传入的第三个参数,因为在zabbix报警时会传入三个参数:一是微信好友ID,二是报警信息的主题,三是报警信息的具体内容,这里跳过了报警信息主题,直接发送报警信息内容
创建微信报警脚本weixin.sh 放到zabbix默认的脚本路径里,我的zabbix脚本路径为: /app/zabbix/share/zabbix/alertscripts
# touch /app/zabbix/share/zabbix/alertscripts/weixin.sh
===================================================
#!/bin/bash
php test.php "$1" "$2" "$3"
===================================================
# chmod +x weixin.sh 给脚本增加执行权限
# chown zabbix:zabbix weixin.sh 给zabbix用户赋予权限
测试接口是否可以使用:
# ./weixin.sh 1415366540 "" "Welcome Weixin"
若出现以下信息,则表示发送成功:
第三步、配置Zabbix告警
1、增加示警媒介类型:
2、添加用户报警媒介,这里使用administrator用户
3、添加报警动作
告警内容在本文章最下面会有文字版
测试:
停掉一台线上测试服务器的nginx,看是否收到微信的告警:如图
使用Zabbix进行微信告警配置完毕!
下面是zabbix告警模板
主 题:
故障{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}, 服务器:{HOSTNAME}: {TRIGGER.NAME}已恢复!
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
上文就是小编为大家整理的如何发送微信告警通知?微信报警平台。
国内(北京、上海、广州、深圳、成都、重庆、杭州、西安、武汉、苏州、郑州、南京、天津、长沙、东莞、宁波、佛山、合肥、青岛)睿象云智能运维平台软件分析、比较及推荐。
发表评论
暂时没有评论,来抢沙发吧~