如果你受困于 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)的更多相关文章

  1. Nagios安装

    在做安装之前确认要对该机器拥有root权限. 确认你安装好的Fedora系统上已经安装如下软件包再继续: Apache GCC编译器 GD库与开发库 可以用yum命令来安装这些软件包: yum ins ...

  2. 利用nagios搭建打印机监控服务器

    实验背景:公司有很多台HP惠普打印机,管理起来比较麻烦.于是想着能否做个打印机监控服务器,能够快速响应打印机所出现的所有问题.之后上网查了相关资料搭建了一台,使用也没任何问题,于是便拿出来跟大家分享. ...

  3. Linux下Nagios的安装与配置[转]

    一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...

  4. 烂泥:学习Nagios(三): NRPE安装及配置

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 在前两篇文章中,我们介绍了有关nagios的安装与配置,文章为<烂泥:学习Nagios(一):Nagios安装>.<烂泥:学习Nagio ...

  5. Linux下Nagios的安装与配置

    一.本文说明 本文是在参考:http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html   David_Tang文章以及网上的一些资料完 ...

  6. Nagios:企业级系统监控方案

    在大多数情况下Cacti + RRDtool已经实现对系统各种参数的监测.但很多企业可能不满足于仅仅监测系统基本参数的需求,而是需要监测除基本参数之外的各种应用程序的运行状况.很显然在这种情况下对于一 ...

  7. nagios架构及windows,linux客户端配置

    Linux下Nagios的安装与配置 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等. ...

  8. linux上nagios安装完整版

    监控server端的安装部署一.apache的安装下载httpd-2.2.15.tar.gz gunzip httpd-2.2.15.tar.gztar xvf httpd-2.2.15.tarcd ...

  9. [转]Linux下Nagios的安装与配置

    转自:http://blog.chinaunix.net/uid-29539073-id-4149856.html 月色书香 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有 ...

随机推荐

  1. EXT.NET学习笔记(一) 下载配置使用

    新公司使用ext.net开发,开始学习该知识: 首先下载ext.net,目前我使用的版本为1.7,该版本免费,基本的功能也够用,使用ext.net进行开发时强烈建议使用VS2015,能便捷的提示,大大 ...

  2. Android——将图片加入到系统相册里面

    Adnroid中保存图片的方法可能有如下两种: 第一种是自己写方法,如下代码: public static File saveImage(Bitmap bmp) { File appDir = new ...

  3. sql 中条件in参数问题

    经常遇到条件为in的模糊查询,sql传参可以在service中直接传递参数,不必使用占位符 select * from ud_order where status in ("+status+ ...

  4. Java_Web_request.setAttribute("result",username);

    request.setAttribute("result",username); 在request对象中加入名为result的属性并附值为username,因为request对象是 ...

  5. Appium Android 屏幕滑动

  6. 让C# Excel导入导出,支持不同版本的Office

    问题:最近在项目中遇到,不同客户机安装不同Office版本,在导出Excel时,发生错误. 找不到Excel Com组件,错误信息如下. 未能加载文件或程序集“Microsoft.Office.Int ...

  7. C# 高精度乘法 支持小数(待优化)

    将N*N乘法转化为(N*n1)+(N*n2)....(N*nn) 乘完后在补充小数点 public static char[] Quadrature(string a, string b) { ] { ...

  8. const char*、char*、char* const、char[]、string的区别

    1.const char* p: p is a pointer to const char(char const* p 一样)   意思就是不能通过p指针来修改p指向的内容(但是内容可以修改). 2. ...

  9. 菜鸟的MySQL学习笔记(一)

    本学习笔记是照搬慕课网<与MySQL的零距离接触>内容,特此感谢! 1-1 mysql的安装与配置 Windows环境下的MSI安装: 1.安装: 双击MSI文件->用户协议-> ...

  10. debian 学习记录-5

    后裔排名 1 Debian - 1292 Fedora - 633 Knoppix - 50 (Knoppix本身是Debian后裔) Debian4 SuSE - 28 Debian,由Ian Mu ...