为什么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是一款开源的电脑系统和网络监视工具,能有 ...
随机推荐
- c# winform动态生成控件与获取动态控件输入的值
差不多有2年没有写winform程序,一直都是写bs.最近项目需要,又开始着手写一个小功能的winform程序,需要动态获取xml文件的节点个数,生成跟节点个数一样的textbox, 最后还要获取操作 ...
- Hudson的安装配置
Hudson的安装配置 目录 一.正文... 2 1.安装配置jdk. 2 2.安装配置tomcat7. 2 3.安装Hudson. 2 4.启动tomcat. 2 5.初识Hudson. 3 6 ...
- 2016.7.2this的应用
this有三个应用: 1.就是在类的方法中参数与成员参数重名了,那么用this.参数名=参数名来区分它们: 2.当一个引用对象要调用另一个已经有具体实例的引用对象,那么通过在类的定义中后面加publi ...
- [leetcode] 403. Frog Jump
https://leetcode.com/contest/5/problems/frog-jump/ 这个题目,还是有套路的,之前做过一道题,好像是贪心性质,就是每次可以跳多远,最后问能不能跳到最右边 ...
- 九度OJ 1442 A sequence of numbers
题目地址:http://ac.jobdu.com/problem.php?pid=1442 题目描述: Xinlv wrote some sequences on the paper a long t ...
- Sublime Text 3插件安装方法
安装Sublime Tex 3t插件的方法: 按快捷键Ctrl + ~ 调出console 粘贴以下代码到console并回车: import urllib.request,os; pf = 'Pac ...
- ASP.NET MVC5 PagedList分页示例
ASP.NET MVC是目前ASP.NET开发当中轻量级的Web开发解决方案,在ASP.NET MVC概述这篇译文当中,已经详细的介绍了ASP.NET MVC与Web Forms的区别以及各自的适用场 ...
- php四种基础排序算法的运行时间比较
/** * php四种基础排序算法的运行时间比较 * @authors Jesse (jesse152@163.com) * @date 2016-08-11 07:12:14 */ //冒泡排序法 ...
- 《C和指针》读书笔记——第三章 数据
1.typedef:为各种数据类型定义新名字 typedef char *ptr_to_char; ptr_to_char a;//声明a是一个指向字符的指针. 2.链接属性:extern;stat ...
- hdu 2079 选课时间
hdu 2079 选课时间 题意:选的学分总和为n,并且学分为a的课有b种,总共有K(1<=k<=8)种学分不同的课,并且要选的学分最多为40:问选课方案有多少种?(学分相同的课即认为相同 ...