为什么Nagios会那么吵?你又能做些什么呢?(1)
如果你受困于 Nagios 的告警洪潮中不能自拔,那么这两篇连载博客就是为你而生的。让我们来详细的阐述下这个问题!

运维人员都有着独立的监控工具,因此会经常受到 Nagios 告警吵闹的影响。很多运维人员对 Nagios 都是爱恨交加的,Nagios 给了你实时的可见性,可以了解你的 IT 基础设施的内部运作。用 Naigos,你可以辨认出哪一台主机内存不足,哪台服务器会占用太多 CPU 周期,哪一个应用由于访问时间太长而跳转离开。你也能够足够早的得到告警信息,在他们影响最终用户之前解决掉问题,最大限度的让 Nagios 为你而战。
埋在干草堆里的针
然而这些都是理论上的,不难发现,Nagios 最终导致的问题跟它解决掉的问题其实是一样多的。让我们退一小步来讲,Nagios 实际上并不会引起问题,只是它会使运维团队鉴别出真正的问题时更加困难。举个例子,当小孩子哭闹时,并不一定是真的做错了什么,他们只是想被关注,或是因为他们经验有限,无法处理一件微不足道的小事,而在他们看来这却是一个大大的问题,所以会使劲儿的哭。作为父母,我们知道摔伤的膝盖只需要一个创可贴,但在疼痛来临的那一刻,你的孩子会认为他可能永远无法再走路了。
处理 Nagios 告警就像哄一个哭泣的孩子一样,从外观上看,我们并没有什么好的方法能够轻松区分一个摔伤的膝盖和一个折断的腿。因为 Nagios(实际上也是大多数监控系统的通病)的每一个告警都看起来像即将到来的重大问题,又或者只是一个平常的小事而已。因此即便父母近乎一瞬间就会知道,他们手上有一个亟需处理的问题需要解决,但关键是我们并不能区分这鳄鱼的眼泪是真是假。
自动化监控
这里我需要问两个重要的问题:为什么洪水警戒会一直发生?并且为什么会愈演愈烈?
问题的根源其实是基于告警监控的积极一面:自动化。没有任何一个运维人员,甚至是整个运维团队,能够手动解析成千上万个数据,用来查明问题。没有人会要求运营团队时刻盯着图表去指出随时出现的问题所在。
所以,我们对 Nagios 配置好阈值,并把这项艰巨的工作委派给它。然后 Nagios 会通过我们设定好的所有的监控去寻找超过阈值的事件,并向我们报告。
说到这里,发现问题了吗?
纯自动化终归不如人工智能,窗户打开了,新鲜空气伴随着苍蝇蚊子都会进来。最终的结果会比你想象的直接得多:设定的这种配置,会把我们埋葬在浪潮般的告警洪流中,这就是 Nagios 所做的事情。
那么如何解决这个左右为难的问题呢?首先我们先列出问题点都有哪些:
1、无法辨认
现代的应用已经不再是单单独立的个体了,它不再依赖于一个强大的服务器,相反它可以从防火墙、服务器直接上升到云层共享,它可能依赖于数十、甚至成百上千个服务器支持着。所以当应用程序遇到问题时,我们得到的是数以百计的警报,并且往往都指向同一个缘由,即使它们看起来像一个单独的问题。
2、关联性
在过去的十年中,单一的应用之间因为许多共同的服务而彼此互通着,这一问题将随着时间的推移而变得更加明显,越来越多的开发者会创造更多的应用程序。这使得公司发展的很快,而对应的扩展性,关联稳定性和可维护性却日趋上演成了主角。
这也就意味着,一个单一的问题可能会影响到多个服务器,在一个服务器上的问题,也可能会逐步升级到邻近的应用层面,逐渐从几十个服务器中创造一系列告警。
然而,哪一个服务器是根源?在一个巨大的告警洪流中,它是不可能区分出来的。
3、快节奏的时代
在这个快节奏的时代,工程师团队必须调整他们的目标与顶层的业务相结合。这种转变意味着,我们现在会越来越少的看到长达几年之久的,在学术上非常靓丽的研发。开发人员通过吸收客户的反馈指导,会选择短平快的项目。不幸的是,这影响了我们保持准确和最新监控配置的能力。当我们完成配置的阈值和分类的时候,我们的应用已经变了。随着时间的推移,我们积累了大量无意义的监测或者过时的阈值数据。
然后,你能够区分出这些遗留的噪音哪些是应该被忽视的,哪些是可以制止的,哪些又是会导致宕机的亟需待解决的问题吗?
的确,配置实时的监控阈值是一项非常重要的工作,但不幸的是,我们的监控告警系统压根儿跟不上时代的变迁。
那么,是时候引出新概念了。用科学的数据,驯服 Nagios。
Onealert 智能告警监控可以把你的 Nagios 告警关联到任一高层事件,因此你能更快的辨认出关联性的问题,而不是人工去涉足数以千计的 Nagios 告警洪流,你现在能够以统一的标准来检阅它们,清晰的从噪音中分离出有意义的信号。这就是运维团队所需要的辨认关键性信息的能力,关联告警的能力,跟上快节奏时代的能力。
离开 Onealert 会让你受到威胁,配置错误,宕机等一系列问题,因为真正的解决方案已经埋葬在了告警浪潮之中。
敬请期待下一节,我将更深入的探讨,通过 Onealert 告警信息关联,如何智能的添加进你的 Naigos 告警中。
为什么Nagios会那么吵?你又能做些什么呢?(1)的更多相关文章
- Nagios安装
在做安装之前确认要对该机器拥有root权限. 确认你安装好的Fedora系统上已经安装如下软件包再继续: Apache GCC编译器 GD库与开发库 可以用yum命令来安装这些软件包: yum ins ...
- 利用nagios搭建打印机监控服务器
实验背景:公司有很多台HP惠普打印机,管理起来比较麻烦.于是想着能否做个打印机监控服务器,能够快速响应打印机所出现的所有问题.之后上网查了相关资料搭建了一台,使用也没任何问题,于是便拿出来跟大家分享. ...
- Linux下Nagios的安装与配置[转]
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...
- 烂泥:学习Nagios(三): NRPE安装及配置
本文由秀依林枫提供友情赞助,首发于烂泥行天下 在前两篇文章中,我们介绍了有关nagios的安装与配置,文章为<烂泥:学习Nagios(一):Nagios安装>.<烂泥:学习Nagio ...
- Linux下Nagios的安装与配置
一.本文说明 本文是在参考:http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html David_Tang文章以及网上的一些资料完 ...
- Nagios:企业级系统监控方案
在大多数情况下Cacti + RRDtool已经实现对系统各种参数的监测.但很多企业可能不满足于仅仅监测系统基本参数的需求,而是需要监测除基本参数之外的各种应用程序的运行状况.很显然在这种情况下对于一 ...
- nagios架构及windows,linux客户端配置
Linux下Nagios的安装与配置 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等. ...
- linux上nagios安装完整版
监控server端的安装部署一.apache的安装下载httpd-2.2.15.tar.gz gunzip httpd-2.2.15.tar.gztar xvf httpd-2.2.15.tarcd ...
- [转]Linux下Nagios的安装与配置
转自:http://blog.chinaunix.net/uid-29539073-id-4149856.html 月色书香 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有 ...
随机推荐
- JAVA构造器、this、super
构造器是为了创建一个类的实例.这个过程也可以在创建一个对象的时候用到: Platypus p1 = new Platypus(); 相反,方法的作用是为了执行java代码. 修饰符,返回值和命名的不同 ...
- c# 远程监控(1) 大纲
此篇文章主要讲了如何使用C# Winform程序模拟一个远程监控系统,并使用RTP实时传输协议传输数据. 应用场景:远程监控.局域网视频会议.客户端流式缓冲播放 这方面的资料还是有一些,但是都需要整合 ...
- 暑假集训(3)第二弹 -----Jungle Roads(Hdu1301)
问题梗概:自从上次某个acmer来设计了拉格瑞圣岛的交通路线后,岛上的酋长就相当苦恼,他发现,虽然这些修好的公路便利了岛上的 交通,并且让拉格瑞圣岛的旅游业更加兴旺,甚至他们还收到了一笔不小的国际资金 ...
- c++ 继承学习笔记
三大继承原则(由我杜撰) 基类的私有成员被继承后不可见(优先级最高) 公有继承不改变基类成员属性 保护继承(私有继承)把基类成员变为保护成员(私有成员)
- LNK1169 和 LNK2005
错误重现: 1> vs2010创建 C++ win32 project, Application type: DLL. 2>为了在工程中使用 CString, 在 stdafx.h 中 I ...
- 九度OJ 1442 A sequence of numbers
题目地址:http://ac.jobdu.com/problem.php?pid=1442 题目描述: Xinlv wrote some sequences on the paper a long t ...
- ThinkPHP3.2 加载过程(三)
上次回顾: IS_CGI ,IS_WIN,IS_CLI,MAGIC_QUOTES_GPC干嘛用 IS_WIN 看了一下后面的代码 基本上就是为了保证在不同环境下运行时,由于有些操作系统会对文件路径大 ...
- css3动画--超级基础知识
这么乱的笔记....供自己阅读!
- javascript之变量、作用域、作用域链
一.变量 javascript的变量是松散类型的,所谓松散类型就是说定义的变量可以用来保存任何类型的数据.定义变量时要使用var操作符后面跟变量名.这里的var是一个关键字,如果定义变量时省略了var ...
- html5在手机端关于 map area中的自适应
https://github.com/stowball/jQuery-rwdImageMaps用这一个插件可自适应!!!