zabbix告警系统--文末彩蛋

zabbix安装和配置非常简单,学习成本低,但是zabbix告警却是很烦人的,而且关于告警的中文翻译资料非常少.

在zabbix里面,告警通道配置太繁琐,我们分别来分析下:

  1. 邮件报警: 如需配置邮件报警,就得在Zabbix里配置邮件调用接口。并且Zabbix邮件报警经常发生延迟(Zabbix自身延迟+邮件服务商延迟),更悲催的是,报警邮件往往没人看.既然看邮件不方便,我们就考虑短信报警
  2. 短信报警: 如果配置短信报警,就需要向服务商购买短信服务.确实有很多短信服务都很便宜.而且如果我们用的是阿里云这样的云服务,短信服务可以随时开通(13年时候). 需要设定短信末班,在zabbix配置短信调用接口,而且还要避免某个短信服务商延迟和漏发
  3. 电话报警: 这个是最坑的,在半夜三更把运维人员从睡梦中弄醒,及时解决紧急故障,比起短信来,电话的提醒效果会更好.但是电话报警用不好真是一种骚扰,爱爱到一半电话来了,接还是不接是个问题.我们之前公司,使用电话报警,都需要做二次开发.这时候python就有用了,当然以前脑袋短路,用的java.
  4. 微信报警,是不是又升级了,跟的商形式嘛,配置微信报警,需要申请开通微信的相关服务,然后排期进行针对性开发
  • 首先,微信的订阅号、服务号、企业号,其消息推送限制、消息内容限制、认证前后的人数限制都是不同的 ,真的能分的那么清楚?
  • 其次,如果发生报警风暴,确定你的小心脏接受得了微信里突然多出来的成百上千条报警提示,反正我是已经习惯了.
  • 不过我也是被虐千遍后才想起来可以搞一个只要有运维人员介入维护,就不再发信息,不然老大会疯掉的

上面就是我们经常会用到的报警方案,但是对于zabbix来讲,无论哪种方案的配置都特别复杂,而且没有中文参考资料.我增加新到一家公司,他们的运维就是配置一个User组,配置一个Trigger就了事.

无论是邮件报警、短信报警或微信报警,都会存在告警风暴的问题:如果发现类似断网等大面积故障,而且没有告警保护和收敛机制的话,那电话响一个小时的事情是常有的,更不用说说不清的报警邮件,以及让人疯掉的短信.

后来对于监控系统管理上,我们做了调整,解决了一旦发生报警,立即全员通知的弊端,报警级别严格划分.严重级别轮询升级通知处理,使用java做二次开发,后来做自动化运维平台的时候用zabbix做了重构.

这期间,我们也换过监控宝,New Relic,等收费工具,收费工具虽然好用,但是基于企业信息安全的保障性比较差,当然这些可能作为监控服务提供商不会承认,但我们对自己的企业成本,人力成本,信息安全做综合考虑.

说到安全还有一件很低级可笑的事情,之前服务的一家公司测试服务用的是腾讯云,我介入的时候,腾讯云还处在公测阶段,服务器快要到期的时候我一再强调腾讯云是到期立即回收资源,不像阿里云有一周的缓冲起,不过最终很不幸,还是到期了,而且没有立即充值,所有的努力都化为乌有.好在是测试机,也可能是测试机所以引不起公司的重视吧. 当然这是腾讯云公测时候的事情了,现在貌似也不会到期立即释放资源这一说法了.

彩蛋:

在这里共享一个微信报警---企业号(shell)版本:

#!/bin/bash

###SCRIPT_NAME:TFedu###

###send message from weixin for zabbix monitor###

###develop###

###V7-2014-05-12###

CropID='wx4a5706c1941562f0'

Secret='wWddGauAGusDEkETib9PEwnDacTQ9Ie-w-Fh6HhSUD3rmsQ_ro980vun4jbOAVrS'

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=1 # 企业号中的应用id

local UserID=$1 # 部门成员id,zabbix中定义的微信接收者

local PartyID=2 # 部门id,定义了范围,组内成员都可接收到消息

local Msg=$(echo "$@" | cut -d" " -f3-)

# 过滤出zabbix中传递的第三个参数

printf '{'

printf ' "touser": "'"$User""","

printf ' "toparty": "'"$PartyID""","

printf ' "msgtype": "text",'

printf ' "agentid": "'" $AppID ""","

printf ' "text": {'

printf ' "content":"'"$Msg""""

printf ' },'

printf ' "safe":"0"'

printf '}'

}

/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

当然这个脚本并不是唯一的答案,你可以改写成python脚本.

原文发布于微信公众号 - 大数据架构师专家(xinsz08)

原文发表时间:2017-10-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏镁客网

微软Edge浏览器支持WebVR,小举动背后的“大阴谋”

12830
来自专栏Java后端技术

分布式架构之美~

​  我们都知道,当今无论在BAT这样的大公司,还是各种各样的小公司,甚至是传统行业刚转互联网的企业都开始使用分布式架构,那么什么叫分布式架构呢?分布式架构有什...

28210
来自专栏架构师小秘圈

揭秘大型网站架构进化之路

丁浪,非著名架构师。关注高并发、高可用的架构设计,对系统服务化、分库分表、性能调优等方面有深入研究和丰富实践经验。热衷于技术研究和分享。 声明:版权归丁浪作者本...

47150
来自专栏企鹅号快讯

后端程序员都做些什么?

这个问题来自于QQ网友,一句两句说不清楚,索性写个文章。 我刚开始做Web开发的时候,根本没有前端,后端之说。 原因很简单,那个时候服务器端的代码就是一切:接受...

678170
来自专栏北京马哥教育

Linux 与 Unix 到底有什么不同?

如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中。数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场...

20600
来自专栏IT派

【大数据分析必备】超全国内常用API接口汇总

下面列举了100多个国内常用API接口,并按照 笔记、出行、词典、电商、地图、电影、即时通讯、开发者网站、快递查询、旅游、社交、视频、天气、团队协作、图片与图像...

3K10
来自专栏BIT泽清

2018年【开发者必看】金融p2p无资质上架app store已过审经历教程

自从国内上架金融理财贷款P2P类型的App必须要具备金融资质后,现在想要上架到App Store已经很难了,就算你有了资质还不一定能够。下面就给大家分享一下关于...

1.1K150
来自专栏杨建荣的学习笔记

swingbench压测Oracle小记(r12笔记第20天)

今天抽时间在整理一个关于MySQL和Oracle共同面临的问题,但是它们有着不同的解决方案,就是经典的partial write问题,我也看到网上有很多D...

38570
来自专栏技术博文

大型网站架构体系的演变

文章出处来源 摘自 微信--IT搬运工 地址:http://mp.weixin.qq.com/s?__biz=MzAxNTI4NDAzNA==&mid=205...

34670
来自专栏FreeBuf

解密BadUSB:世界上最邪恶的USB外设

作者 Rabbit_Run 概述‍‍ 在2014年美国黑帽大会上,柏林SRLabs的安全研究人员JakobLell和独立安全研究人员Karsten Nohl展示...

19280

扫码关注云+社区

领取腾讯云代金券