若是你受困于 Nagios 的告警洪潮中不能自拔,那么这两篇连载博客就是为你而生的。让咱们来详细的阐述下这个问题!ios
运维人员都有着独立的监控工具,所以会常常受到 Nagios 告警吵闹的影响。不少运维人员对 Nagios 都是爱恨交加的,Nagios 给了你实时的可见性,能够了解你的 IT 基础设施的内部运做。用 Naigos,你能够辨认出哪一台主机内存不足,哪台服务器会占用太多 CPU 周期,哪个应用因为访问时间太长而跳转离开。你也可以足够早的获得告警信息,在他们影响最终用户以前解决掉问题,最大限度的让 Nagios 为你而战。服务器
######埋在干草堆里的针运维
然而这些都是理论上的,不难发现,Nagios 最终致使的问题跟它解决掉的问题实际上是同样多的。让咱们退一小步来说,Nagios 实际上并不会引发问题,只是它会使运维团队鉴别出真正的问题时更加困难。举个例子,当小孩子哭闹时,并不必定是真的作错了什么,他们只是想被关注,或是由于他们经验有限,没法处理一件微不足道的小事,而在他们看来这倒是一个大大的问题,因此会使劲儿的哭。做为父母,咱们知道摔伤的膝盖只须要一个创可贴,但在疼痛来临的那一刻,你的孩子会认为他可能永远没法再走路了。jsp
处理 Nagios 告警就像哄一个哭泣的孩子同样,从外观上看,咱们并无什么好的方法可以轻松区分一个摔伤的膝盖和一个折断的腿。由于 Nagios(实际上也是大多数监控系统的通病)的每个告警都看起来像即将到来的重大问题,又或者只是一个日常的小事而已。所以即使父母近乎一瞬间就会知道,他们手上有一个亟需处理的问题须要解决,但关键是咱们并不能区分这鳄鱼的眼泪是真是假。工具
######自动化监控 这里我须要问两个重要的问题:为何洪水警惕会一直发生?而且为何会愈演愈烈?人工智能
问题的根源实际上是基于告警监控的积极一面:自动化。没有任何一个运维人员,甚至是整个运维团队,可以手动解析成千上万个数据,用来查明问题。没有人会要求运营团队时刻盯着图表去指出随时出现的问题所在。事件
因此,咱们对 Nagios 配置好阈值,并把这项艰巨的工做委派给它。而后 Nagios 会经过咱们设定好的全部的监控去寻找超过阈值的事件,并向咱们报告。内存
说到这里,发现问题了吗?开发
纯自动化终归不如人工智能,窗户打开了,新鲜空气伴随着苍蝇蚊子都会进来。最终的结果会比你想象的直接得多:设定的这种配置,会把咱们埋葬在浪潮般的告警洪流中,这就是 Nagios 所作的事情。get
那么如何解决这个左右为难的问题呢?首先咱们先列出问题点都有哪些:
一、没法辨认 现代的应用已经再也不是单单独立的个体了,它再也不依赖于一个强大的服务器,相反它能够从防火墙、服务器直接上升到云层共享,它可能依赖于数10、甚至成百上千个服务器支持着。因此当应用程序遇到问题时,咱们获得的是数以百计的警报,而且每每都指向同一个原因,即便它们看起来像一个单独的问题。
二、关联性 在过去的十年中,单一的应用之间由于许多共同的服务而彼此互通着,这一问题将随着时间的推移而变得更加明显,愈来愈多的开发者会创造更多的应用程序。这使得公司发展的很快,而对应的扩展性,关联稳定性和可维护性却日趋上演成了主角。
这也就意味着,一个单一的问题可能会影响到多个服务器,在一个服务器上的问题,也可能会逐步升级到邻近的应用层面,逐渐从几十个服务器中创造一系列告警。
然而,哪个服务器是根源?在一个巨大的告警洪流中,它是不可能区分出来的。
三、快节奏的时代 在这个快节奏的时代,工程师团队必须调整他们的目标与顶层的业务相结合。这种转变意味着,咱们如今会愈来愈少的看到长达几年之久的,在学术上很是靓丽的研发。开发人员经过吸取客户的反馈指导,会选择短平快的项目。不幸的是,这影响了咱们保持准确和最新监控配置的能力。当咱们完成配置的阈值和分类的时候,咱们的应用已经变了。随着时间的推移,咱们积累了大量无心义的监测或者过期的阈值数据。
而后,你可以区分出这些遗留的噪音哪些是应该被忽视的,哪些是能够制止的,哪些又是会致使宕机的亟需待解决的问题吗?
的确,配置实时的监控阈值是一项很是重要的工做,但不幸的是,咱们的监控告警系统压根儿跟不上时代的变迁。
######那么,是时候引出新概念了。用科学的数据,驯服 Nagios。 Onealert 智能告警监控能够把你的 Nagios 告警关联到任一高层事件,所以你能更快的辨认出关联性的问题,而不是人工去涉足数以千计的 Nagios 告警洪流,你如今可以以统一的标准来检阅它们,清晰的从噪音中分离出有意义的信号。这就是运维团队所须要的辨认关键性信息的能力,关联告警的能力,跟上快节奏时代的能力。
离开 Onealert 会让你受到威胁,配置错误,宕机等一系列问题,由于真正的解决方案已经埋葬在了告警浪潮之中。