谁会是 Zabbix 和 Nagios 的继任者?
【编者按】本文根据 Dataloop.IO 的创始人兼 CEO David Gildeh 对监控工具市场的现状分析以及对未来发展趋势的展望,展开拓展讨论。
为什么监控还是一塌糊涂?
为了调研市场,从而做出更好的监控工具,David Gildeh 曾采访了超过60家欧美在线服务提供厂商,大到英国广播公司(BBC)这类在线服务巨擘,小到伦敦和美国的小型创业公司。发现大多数服务都是运行在公共云基础设施之上(像 AWS),并且采取 DevOps 实践方案。
越来越多的企业使用云服务,和尝试建立 DevOps 环境,云监控已经成为一种刚需。
想开发出更好的监控工具,我们必须先回答俩个问题:
- 企业目前在用的监控工具是什么,他们有多少服务器;
- 这些监控工具为他们解决了什么问题,与服务器数量和部署环境有何关系。
在 David Gildeh 的调查结果中,我们了解到两件事。
- 首先,在某些方面,监测仍然很糟糕,这一点将在下文进行更详细的解释。
- 第二个方面,由于越来越多的公司开始转向微服务(microservices),监控仍然是个难题。
企业正在使用哪些监控工具?
虽然自 2011 年以来,市场上也涌现了很多新工具,但是很多「老牌」的开源工具,比如 Nagios、Zabbix 等仍然在市场中占据主导地位。采访发现,70%的公司仍在使用这些传统工具进行核心系统监控和告警(见图1)。来自 DZone 的数据显示,该网站的企业级开发用户中,43%都使用过 Nagios、Zabbix 或者 Ichinga。此外,Nagios 是最受欢迎的监控工具之一,甚至占据了29%的市场份额[1]。
数据统计,大约 70% 的公司会同时使用多个监控工具,很多公司都是使用两个或两个以上的产品。当然,在欧美市场中,Nagios 和 Graphite 配置是最常见的。据小编了解,国内拥有大量使用 Zabbix+Grafana 的用户。而对于一些付费的性能监控工具,如 New Relic,出于价格因素考虑,大多数用户都不愿意从免费版升级到付费版本。
不过,市场上还存在很多「新潮」的监控工具 ,面向的用户主要是创业公司,这类工具包括一些较新的 SaaS 监控工具,比如 Cloud Insight(系统监控平台)、Application Insight(应用性能监控平台) 和 Browser Insight(前端性能监控平台)。老式的开源工具,例如 Cacti 和 Munin,也这个群体的杰出代表。这类工具成本更低,例如免费版本基本可以满足要求的 Cloud Insight,对于创业公司和中小型团队来说十分适用,可以极大地节省运维的人力和时间成本,因为部署和学习容易,相较 Zabbix 来说更灵活,又因为可视化效果出众,在 10-40 台服务器的中小型团队中很受欢迎。
上图为 Cloud Insight Hostmap 功能的效果图。
企业有多少服务器被监控?
如果查看工具使用情况和公司管理的服务器数量(规模从少于20台服务器的初创公司的服务,到多于1000台服务器的大型在线服务),会发现老式的开源工具(比如 Nagios)以及付费的本地化工具,往往在服务规模较大的公司占据较大比重,而服务规模较小的公司则更愿意使用以开发为重点的工具,例如 Graphite,LogStash 和 OneAPM 等。
另一方面,小型团队往往没有践行 DevOps,公司也没有专门的运维人员,所以开发者倾向于使用简单、安装方便的 SaaS 监视工具或在开发者社区较为流行的工具,例如 [Cloud Insight](http://docs-ci.oneapm.com)(中国)、Datadog(欧美) 和 LogStash 等。当公司的服务器数量达到 50 到 100 之间的某个临界点时,他们往往会有能力引进 DevOps/运维人员或团队,继而开始使用历经时间考验、拥有广泛用户基础的监视工具,像 Nagios 和 Zabbix。
主要趋势
基于接受采访的60多个在线服务公司对监控策略的意见,David Gildeh 总结了如下四个主要趋势。
1. 构建和扩张
78%的在线服务运行着自己的开源监控解决方案,许多公司会花4到6个月时间,使用开源的组件构建监控解决方案,然后调优到相应的工作环境。关键问题是许多工具最初是在10到15年前设计的,远远早于云架构、DevOps 和微服务(microservices)的出现。所以,企业需要耗费大量的时间调整这些老式工具,使它们兼容于当今的动态环境(十分累人)。
企业完成构建并优化监测体系之后,随着业务的增长,他们需要更多的时间来修改监测系统,以使其处理日益增长的数据量。例如,一个大型的在线服务,在 AWS 上有超过1000个实例,后台 MySQL 数据库 2Tb 的数据填满后,Zabbix 服务器不幸宕机。最终,他们只是不断重启数据库,却不尝试为 Zabbix 扩容。
2. 垃圾警报
接受采访的公司都在抱怨同一个问题——过度的告警提醒。很明显,所有工具,即便是声称具备先进的机器学习算法的监控工具,却无法解决告警疲劳问题。由于企业不断增加服务器,在持续变化的云环境上运行微服务,该问题只会进一步恶化。尽管许多企业在营销时大放厥词,但在实践中,这些用于异常检测或告警预测的机器学习算法并没有真的如人们所愿。这意味着,想要这些工具在监测中自动过滤掉告警噪声,还有很长的路要走。
在某个公司,他们每天会收到大约5000封邮件提醒。这样庞大的邮件数量使得告警逐渐沦为噪音,大多数团队只会把这些告警过滤到一个文件夹中或者干脆自动删除告警。
3. 数据孤岛
我们采访的很多公司都在收集实时数据。这些数据源包括业务指标,如注册、付款的数量,或收入数据,团队用这些数据来进一步了解公司的服务情况。然而,他们所使用的大多数监视工具,都有可用性差、UI 过时等问题,所以所收集的数据是孤立的,不能为运营团队所用。所以对其他利益相关者来说,也不太容易了解这些实时数据的价值。
但也有一些服务通过建立自定义仪表板,在办公室的电视中进行展示或通过 URL 进行共享,来解决数据孤岛问题。比如 Cloud Insight,采取「DevOps +协作」的理念,拥有 API 和 SDK 功能,可以自定义仪表盘上传包括性能数据、业务数据、运营数据在内的种种数据,通过多种形式(折现图、柱图、饼图…)进行一体化实时展示。而即将推出的仪表盘分享功能将支持仪表盘实时共享。这几乎是一个共识,如果公司里的监测数据很容易共享,在不同团队的协作过程中,监控工具就能体现其价值,譬如确定亟待改进的区域,实现跨业务间的实时性能可见性等。
这会不会是系统监控的下一个趋势?我们拭目以待。
4. 微服务
在线服务的关键趋势是微服务部署模型,其中包括独立的跨职能的开发团队在生产过程中部署并支持自己的服务。这一战略使一个大型的复杂应用程序具备高度的可伸缩性。然而,这大大增加了 DevOps/运维团队需要支持的服务器和服务数量,所以只有在出现问题时,开发团队即变为一线支持,这种部署模型才管用。
在本模型中,运维人员成为一个「平台」团队,为开发团队提供通用的工具和流程。这一运维提供的平台包括自助监测,即开发者必须能够自主添加监测,并创建自己的仪表板和告警。
对于那些易于共享监测数据的公司,监控工具变成了更具价值的工具。
跟上微服务模型中的高速部署以及瞬息万变的实例,对于老式的监视工具来说是一项巨大的挑战。同时,对 Zabbix 和 Nagios 本身来说,实现各种服务间复杂任务流的可视化并处理高度动态的扩展,也非易事。雪上加霜的是,显然,目前的监控工具并不是围绕微服务模型设计的,并且大多数的可用性都比较差,在运维团队之外的采用率也较低。
因此,新的监控模式和工具成为需求,需要新的专门针对微服务的监控工具,以便运维和开发团队围绕同一性能数据源开展合作,而不是开发人员使用自己的工具(比如 New Relic 或 OneAPM),而运维也用自己的工具(比如 Nagios 和 Zabbix),互为孤岛。
结论
在「#monitoringsucks」事件之后的这四年,出现了种类繁多的监视工具。但 David Gildeh 的研究和我们自己的调研通通表明,许多公司仍在监控领域苦苦挣扎。我们认为,主要原因在于很多新的监控工具往往只重视技术方面的监控,还不足以推动在运维团队以外的采用。而我们相信,连接开发、运维甚至其他部门,通过可靠的监控让企业中的每个人都可以基于数据做出决策,是未来 IT 团队选择监控产品的趋势。
[1] 2015 DZone Performance & Monitoring Survey
[2] [http://www.slideshare.net/adriancockcroft/software-architecture-monitoring-microservices-a-challenge](http://www.slideshare.net/adriancockcroft/software-architecture-monitoring-microservices-a-challenge)
Cloud Insight 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司尤其中小型团队,减少在系统监控上的人力和时间成本投入,更简单的部署、更全面的数据、更好的可视化,让运维工作更加高效、简单。
本文转自 OneAPM 官方博客
谁会是 Zabbix 和 Nagios 的继任者?的更多相关文章
- 服务监控Zabbix和Nagios的继任者
本文转载自:https://blog.csdn.net/moonpure/article/details/78633668 为了调研市场,从而做出更好的监控工具,David Gildeh 曾采访了超过 ...
- 监控系统对比 Ganglia vs Open-falcon vs Prometheus vs Zabbix vs Nagios vs PandoraFMS
Zabbix vs Nagios vs PandoraFMS: an in depth comparison - Pandora FMS - The Monitoring Bloghttps://bl ...
- Zabbix,Nagios,OneAPM Servers 安装部署大比拼
怎样高速实现对 Linux server的监控? 做过server监控的开发人员差点儿都知道 Zabbix 和 Nagios ,他们都是提供系统监控以及网络监控功能的开源解决方式.资历比較老.在不久前 ...
- zabbix与nagios八项重要对比 结论根据业务环境需求决定
1.web功能: Nagios简单直观,报警与数据都在同一页面,***.红色即为问题项.Nagios web端不要做任何配置. Zabbix监控数据与报警是分开的,查看问题项需要看触发器,查看数据在最 ...
- 建设DevOps统一运维监控平台,全面的系统监控 Zabbix VS Nagios VS Open-Falcon OR Prometheus
前言 随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容 ...
- cacti,zabbix,nagios各自原理及区别
cacti,zabbix,nagios各自原理及区别 Taxing祥 0人评论 19462人阅读 2017-09-24 00:23:54 cacti原理: 1,构件(步骤): net_snmp:负 ...
- 开源监控系统中 Zabbix 和 Nagios 哪个更好?
监控平台的话,各有优劣,但基本都可以满足需求.等达到一定监控指标后,发现,最困难的是监控项目的管理. CMDB中小规模(服务器<=1k):Zabbix大规模(1k>=服务器<=10k ...
- 三大开源运维监控工具zabbix、nagios、open-falcon优缺点比较
借鉴一下别人的,自己做个记录,我觉得推荐还是使用open-falcon,最重要的一点是有完善的中文帮助文档. 帮助文档地址:https://book.open-falcon.org/zh/index. ...
- 【运维监控】四款云服务监控工具介绍:Nagios 、 ganglia、zabbix、onealert
在我们日常的工作中,有时候需要监控和管理平台的运行状况,而服务运行是否存在异常,是否有软硬件bug等,均需要第一时间知道.对服务状态了如指掌,是一个很重要的事情.那么这个如何做到呢,我们之前在进行私有 ...
随机推荐
- JS学习笔记 -- 定时器,提示框的应用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 10款基于HTML5+CSS3实现的超酷源码动画
1.基于Bootstrap的jQuery登录表单 这是一款基于Bootstrap的登录表单,表单的外观自然不用说,沿用了Bootstrap的风格,非常漂亮.这款登录表单有一个经过CSS3处理过的头像图 ...
- Linux C 程序 线程(18)
线程控制 1.线程与进程的关系 线程:计算机中独立运行的最小单位. 在用户角度:多个线程是同时执行的. 操作系统角度:各个线程交替执行 以上只针对单核CPU的情况 在多核CPU主机上,多个线程可以同时 ...
- 【Qt】Qt之启动外部程序【转】
简述 QProcess可以用来启动外部程序,并与它们交互. 要启动一个进程,通过调用start()来进行,参数包含程序的名称和命令行参数,参数作为一个QStringList的单个字符串. 另外,也可以 ...
- Oracle 表的连接方式(1)-----Nested loop join和 Sort merge join
关系数据库技术的精髓就是通过关系表进行规范化的数据存储,并通过各种表连接技术和各种类型的索引技术来进行信息的检索和处理. 表的三种关联方式: nested loop:从A表抽一条记录,遍历B表查找匹配 ...
- Python-Day3 Python基础进阶之集和/文件读写/函数
一.集和 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 1.创建集合 >>> s ...
- 1093. Count PAT's (25)
The string APPAPT contains two PAT's as substrings. The first one is formed by the 2nd, the 4th, and ...
- 机器学习实战——k-邻近算法:约会网站
1.kNN 算法 算法说明: set<X1,X2……Xn> 为已知类别数据集,预测 点Xt 的类别: (1)计算中的set中每一个点与Xt的距离 (2)按距离增序排列 (3)选择距离最小的 ...
- c语言知识点总结(摘自head first c)
gcc name.c -o name; ./name或者gcc name.c -o name && ./name;同时执行关键字:void sizeof(运算符,它能告诉你某样东 ...
- FastLoad错误 — SELECT Failed. 2652
SELECT * FROM teradata_education. emp_fl; 在做查询时碰到2652错误. SELECT Failed. 2652: Operation not ...