zabbix告警系统--文末彩蛋
Posted 大数据架构师专家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix告警系统--文末彩蛋相关的知识,希望对你有一定的参考价值。
zabbix安装和配置非常简单,学习成本低,但是zabbix告警却是很烦人的,而且关于告警的中文翻译资料非常少.
在zabbix里面,告警通道配置太繁琐,我们分别来分析下:
邮件报警: 如需配置邮件报警,就得在Zabbix里配置邮件调用接口。并且Zabbix邮件报警经常发生延迟(Zabbix自身延迟+邮件服务商延迟),更悲催的是,报警邮件往往没人看.既然看邮件不方便,我们就考虑短信报警
短信报警: 如果配置短信报警,就需要向服务商购买短信服务.确实有很多短信服务都很便宜.而且如果我们用的是阿里云这样的云服务,短信服务可以随时开通(13年时候).
需要设定短信末班,在zabbix配置短信调用接口,而且还要避免某个短信服务商延迟和漏发
微信报警,是不是又升级了,跟的商形式嘛,配置微信报警,需要申请开通微信的相关服务,然后排期进行针对性开发
首先,微信的订阅号、服务号、企业号,其消息推送限制、消息内容限制、认证前后的人数限制都是不同的 ,真的能分的那么清楚?
其次,如果发生报警风暴,确定你的小心脏接受得了微信里突然多出来的成百上千条报警提示,反正我是已经习惯了.
不过我也是被虐千遍后才想起来可以搞一个只要有运维人员介入维护,就不再发信息,不然老大会疯掉的
上面就是我们经常会用到的报警方案,但是对于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脚本.
另外最近有转发赠书活动,多多参与哦,中奖名单会在国庆过后公布.
以上是关于zabbix告警系统--文末彩蛋的主要内容,如果未能解决你的问题,请参考以下文章
zabbix4.0-告警:配置邮件告警(bash脚本:Linux系统mail命令)
13 Zabbix4.4.0系统告警“More than 75% used in the configuration cache”