开发者社区> 科技小能手> 正文

Zabbix分布式监控微信报警实战

简介:
+关注继续查看

作为运维工程师,最重要的事情就是保证该网站正常稳定的运行,需要实时监控网站、服务器的运行状态,并且有故障及时去处理。

     监控网站无需人工时刻去访问WEB网站或者登陆服务器去检查, 可以借助开源监控软件例如Zabbix、Cacti、Nagios、Ganglia等监控来实现对网站的7x24小时的监控,并且可以做到有故障及时报警通知SA解决。

     Zabbix除了可以使用邮件报警之外,还可以通过多种方式把告警信息发送到指定人,例如短信报警方式,越来越多的企业开始使用Zabbix结合微信作为主要的告警方式,因为每个人每天都在使用微信,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。

    本文以Zabbix最新版本3.2.6为蓝本,演练Zabbix监控实现微信报警,设置的步骤有哪些呢,具体方法步骤如下:

(1)    微信企业号注册

企业号注册地址:https://qy.weixin.qq.com/填写企业注册信息,等待审核完,并且微信扫描登录企业公众号,如图6-91(a)、6-91(b)所示:

wKioL1kmT42jWSOVAAA8VhM3xxM823.png

图6-91(a) 微信企业公众号注册wKioL1kmT73T3zmUAABXDYjeQrs872.png

图6-91(b) 微信企业公众号登录

(2)    通讯录添加运维部门及人员

登录新建的企业号,通过提前把企业成员信息添加到组织或者部门,需要填写手机号、微信号或邮箱,通过这样方式让别人扫码关注企业公众号,为了后面企业号推送消息给企业成员,如图6-92(a)、6-92(b)所示:

wKiom1kmT-SBXC4NAABjKIucokk847.png

图6-92(a) 微信企业公众号通讯录

wKiom1kmT_fhgUj1AABooYbN2nY381.png

图6-92(b) 微信企业公众号通讯录

(3)    企业应用-创建应用

除了对个人添加微信报警之外,还可以添加不同管理组,接受同一个应用推送的消息, 成员账号,组织部门ID,应用Agent ID,CorpID和Secret,调用API接口需要用到这些信息,如图6-93(a)、6-93(b)、6-94(c)所示:

wKiom1kmUKrC0HwOAAAyrBuxZTQ402.png

图6-93(a) 微信企业公众号创建应用

wKiom1kmUMPgiooJAABf1MaH5L0609.png

图6-93(b) 微信企业公众号创建应用

wKioL1kmUNyQzmBqAABv98sLNH4229.png

图6-93(c) 微信企业公众号创建应用

4)    获取企业CorpID

     单击企业公众号首页“我的企业”,即可看到,如图6-94所示:

wKiom1kmUPrCxs4UAAA5D0JvQv0282.png

图6-94 微信企业公众号CorpID

(5)    微信接口调试

    调用微信接口需要一个调用接口的凭证:Access_token通过CorpID和Secret可以获得Access_token,微信企业号接口调试地址: http://qydev.weixin.qq.com/debug,如图 6-95(a)、6-95(b)所示:

wKioL1kmUUSyemOrAABEbj2iOVE268.png

图6-95(a)微信企业公众号调试

wKioL1kmUVzh7vcuAABnfy7eHr8176.png

图6-95(b)微信企业公众号调试

(6)    获取微信报警工具

mkdir  –p /usr/local/zabbix/alertscripts

cd  /usr/local/zabbix/alertscripts

wget http://dl.cactifans.org/tools/zabbix_weixin.x86_64.tar.gz

tar  zxvf  zabbix_weixin.x86_64.tar.gz

mv  zabbix_weixin/weixin  .

chmod o+x weixin

mv zabbix_weixin/weixincfg.json /etc/

rm -rf zxvf zabbix_weixin.x86_64.tar.gz

rm -rf zabbix_weixin/

    修改/etc/ weixincfg.json配置文件中corpid、secret、agentid,并测试脚本发送信息,如图6-96(a)、6-96(b)所示:

cd  /usr/local/zabbix/alertscripts

./weixin  wuguangke 京峰教育报警测试   Zabbix故障报警

./weixin  contact   subject   body

标准信息格式:

Contact,为你的微信账号,注意不是微信号,不是微信昵称,可以把用户账号设置成微信号或微信昵称,Subject 告警主题,Body   告警详情。

wKioL1kmUZrDqZRYAABNuksNvPM004.png

图6-96(a) Zabbix Server端微信配置文件

wKiom1kmUa_BUPrQAAGzwky85fU432.png

图6-96(b) Zabbix Server端微信配置文件

(7)    脚本调用设置

     Zabbix_Server端设置脚本执行路径,编辑zabbix_server.conf文件,添加如下内容:

AlertScriptsPath=/usr/local/zabbix/alertscripts

(8)    Zabbix Server报警配置

 设置Actions动作,并设置触发微信报警,如图6-97(a)、6-97(b)、7-97(c)所示:

wKioL1kmUcTi4ItjAAA5zilSurI661.png

图6-97(a) Zabbix Server Action动作配置

wKiom1kmUeTwyVouAABX0IqSXtA834.png

图6-97(b) Zabbix Server Action动作配置wKioL1kmUfrS8z8aAAA5FlUOats795.png

图6-97(c) Zabbix Server Action动作配置

(9)    配置Media Type 微信脚本

AdministrationàMedia TypesàCreate Media Type如图6-98(a)、6-98(b)所示:

wKiom1kmUiHD17EnAAA7piYATHw535.png

图6-98(a) Zabbix Server Media Types配置

(10) 配置接收微信信息的用户

AdministrationàUsersàAdminàMedia如图6-99所示:

wKiom1kmUjvBj5yZAAA0RuqpePs767.png

图6-99 Zabbix Server Users Media

(11)微信报警信息测试

磁盘容量剩余不足20%,会触发微信报警,如图6-100(a)、6-100(b)、6-100(c)所示:

wKiom1kmUlLiiwWwAABZ03TRJr8724.png

图6-100(a)Zabbix 微信报警信息

wKioL1kmUmzj6d_SAAJJNXuIT4o355.png

图6-100(b)Zabbix 微信报警故障信息

wKiom1kmUoTjs6TbAAHp3pnsMqA441.png

图6-100(c)Zabbix 微信报警恢复信息

你若觉得作者的文章写得不错,请奖励作者几锭银子,让作者感受到来自你满满的鼓励和继续创作的动力!我们支持原创!鼓励原创!

打赏之后,文章底部显示参与打赏者的记录,可以直接通过微信扫描打赏哟,直接按打赏根据提示操作。

自定义打赏金额,友情提示打赏金额不要超过50元哦,土豪可以随意哦,51CTO谢谢您对作者的支持!谢谢你的慷慨大方!

wKioL1lDsc3i7hEqAAAfoPude7I249.png


本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1929280


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Kafka 2.5.0发布——弃用对Scala2.11的支持
Kafka 2.5.0发布——弃用对Scala2.11的支持
6 0
通过脚本实现 SSL 证书到期监控
通过脚本实现 SSL 证书到期监控
8 0
推荐一款全能测试开发神器!1分钟快速上手!
推荐一款全能测试开发神器!1分钟快速上手!
4 0
Docker 入门终极指南,总结的很全面,值得收藏!
本节我们就来探索一下 Docker 的神秘世界,从零到一掌握 Docker 的基本原理与实践操作。
4 0
Kubernetes 服务发现使用介绍
Kubernetes 中 Pod 是有生命周期的,每个 Pod 都有属于自己的 IP 地址。 但是当我们创建和删除 Pod 时,它的 IP 地址并不是固定的。那么也就是说,当我们把 Pod 的 IP 提供给前端应用时,服务不可用的几率相当较大。官方说明
7 0
接口自动化测试,一键快速校验接口返回值全部字段
在日常开展自动化测试工作时,为了保证接口测试的有效性,少不了要对接口返回的响应字段进行校验、断言等操作。当接口返回的字段数量本身就很少时,接口断言操作一般都很容易就能实现,但当接口的返回字段特别多,结构特别复杂时,例如响应字段数量达到了成百上千时,如何快速实现全部返回字段的校验?
3 0
红帽linux之进程监控
进程是已启动的可执行程序的运行中实例
7 0
使用 Ingress 实现金丝雀发布
Service 是基于四层协议来实现的路由转发,常用于 NodePort 方式来对外提供服务,但是 当我们的业务模块较多时,使用 NodePort 的方式便不利于管理。 所以,我们可以使用 Ingress Controller 来通过匹配 URL 的方式实现 HTTP/HTTPS 代理。
8 0
iOS开发:UML在项目开发中的规范应用
统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。
5 0
23705
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载