摘要:在互联网信息爆炸式疾速倒退的明天,各类简单多样的平台零碎相继涌出。如何抉择最佳的监控产品以更好地保护这些平台和零碎是每个 IT 人员都需面临的难题。本文将从开源监控产品的起源和倒退,具体解析各个时代热门监控产品的劣势和劣势,并联合各个监控产品的应用场景,帮你抉择出最适宜本人的开源监控产品。因篇幅和工夫起因,上面介绍的材料和了解可能和理论状况有所偏差,欢送大家留言或者退出微信群批评指正。
作者:Ethan Chen,云智慧解决方案架构师,领有丰盛的运维实践及实战经验。致力于将客户需要无效地转化为公司产品场景,让客户更有效率地了解公司产品并为其提供优质的技术撑持。
开源监控软件的前世今生
如上面谷歌趋势图所示(因有些单词有二义性,具体数值可疏忽,只看趋势),与其余开源监控产品相比,2004 年的 Nagios 仍处在较高地位,但因为 Nagios 没有紧跟容器脚步、且配置简单等毛病导致热度直线式降落。反观 Zabbix,从 2004 年至今,因为其监控的全面性,使得其热度始终处于安稳回升阶段。此外,基于 RRD 存储开发的 Ganglia 与 Cacti 因为产品本身的一些毛病,热度也在逐步降落。下文咱们将具体介绍各个产品的具体情况。
现代(2000-2010)
Zabbix(2004)
Zabbix 于 1998 年开发,2004 年正式 Release。较于其余开源监控产品,Zabbix 领有弱小的指标数据存储性能、画图性能,并且真正地做到了 All in One 全面监控,解决了运维人力和工夫老本上的问题。
基于以上性能长处,以及大量欠缺的教程文档,Zabbix 在国内迅速流传倒退。现如今,Zabbix 曾经进入了 5.X 时代,前端界面的优化、ES 及 TimescaleDB 等时序数据库的反对,使得 Zabbix 又步入了一个的新的时代。
劣势
- 丰盛的插件。Zabbix 领有丰盛的 MiB 库资源以及模版等 850 多个插件;
- 易用性、依赖少。基于 PHP 与 MySQL 搭建,可用性比拟强;
- 可进行肯定颗粒度的权限管制;
- 文档欠缺。Zabbix 自身定位为企业级分布式监控零碎,故领有欠缺的文档,沉闷的官网社区,且自身也更新得比拟频繁,开发比拟踊跃;
- 国内市场有相干的商业反对。
劣势
- MySQL 数据量问题。当 MySQL 数据量比拟大时,存储性能容易呈现问题;
- 可视化问题。本身可视化灵活性较差,需用 Grafana 等进行补救;
- 性能使用率低,80% 的用户应用的仍为监控、看图、告警等根底性能,大部分高级性能未能被应用。
应用场景剖析
- 监控基础设施。主机、网络设备监控等;
- 中小规模监控;
- 对于大型场景的监控来说仍需注意数据问题。
Nagios(2002)
Nagios 是一个次要用于监控零碎运行状态和网络信息的监控零碎。Nagios 能监控所指定的本地或近程主机以及服务,同时提供异样告诉等性能。
Nagios 领有 4000 多个插件,且在很早之前就开始领有本人的官网插件社区。这外面包含很多利用级别的监控插件。此外,Nagios 的告诉尽管简略但能笼罩所有场景,以及自身领有弱小的监控任务调度的能力。
劣势
- 性能简略易用,次要的性能是被动检测。
劣势
- 性能过于繁多,只能通过被动检测告知后果是否匹配,被动检测性能原生性能较弱;
- 配置简单,配置批改主机、报警、阈值等时,在原生 Nagios 中只能通过批改配置文件来实现,操作较为简单。
应用场景
- 小场景简略监控。对于一些网站、端口等可进行简略监控;
- 大型场景须要各种花式 Hack,须要借助很多第三方的插件进行效率的晋升和分布式的扩大。
Centreon(2005)
Centreon 是一款开源的软件,次要用于对 Nagios 的一些性能加强。可通过页面治理 Nagios,通过第三方插件实现对网络,操作系统,应用程序的监控。
劣势
- 界面敌对
- 保护不便
- 对立治理
- 性能数据可追溯
劣势
- 批改配置须要重启或者重载 Nagios 主过程
- MySQL 仍然存在数据问题
- 文档资料较少
应用场景剖析
- 实用于百台规模的中等监控
- 仍须要解决原生 Nagios 的一些弊病
Check_MK
Check_MK 是一款通用的 Nagios/Icinga 加强工具集。其插件有着相当成熟的检测机制和对硬件服务器的检测伎俩。非常适合对硬件服务器进行“体检”。
劣势
- 界面敌对
- 保护不便
- 对立治理
- 性能数据可追溯
劣势
- 减少变更须要重启 Nagios 主过程。
- 因后端存储应用 RRD,导致分布式扩大较为艰难。
- 文档资料较少。
应用场景剖析
- 实用于百台到千台以内中等规模监控
- 须要解决 Nagios 的一些弊病
Cacti(2001)
Cacti 是用 PHP 语言实现的一个监控软件,它的次要性能是用 SNMP 服务获取数据,而后用 RRD 贮存和更新数据,当用户须要查看数据的时候用 RRD 生成图表出现给用户。
劣势
- 网络设备反对好
- 有权限管制
- 有汉化版
- 晚期在 IDC 笼罩广
劣势
- SNMP 依赖只适宜个性场景
- 材料老旧
应用场景剖析
- 简略的 IDC 托管
- 网络运维
Ganglia(2001)
Ganglia 是 UC Berkeley 发动的一个开源集群监督我的项目,设计用于测量数以千计的节点。次要是用来监控零碎性能,如:CPU、内存、硬盘利用率,I/ O 负载、网络流量状况等。
劣势
- 数据集中,部署分布式
- 适宜大规模部署
- 对集群热点观测性反对较好
劣势
- 无告警
- 集群内 UDP 播送问题多
应用场景剖析
- 大数据利用
- 集群较多,关注整体资源使用率
近代(2010-2015)
监控宝(2010)
监控宝是云智慧推出的新一代用户体验监控工具,从寰球节点被动模仿实在用户拜访,提供网站性能监控、API 监控等服务,继续监测应用程序、网站、网络和数字化服务的可用性和性能,提前诊断,实时告警,帮忙客户晋升网络应用效力。
劣势
- 寰球分布式监测网络。200+ 分布式监测节点笼罩寰球 112 个城市以及次要运营商网络,网络规模继续扩充中。
- 被动监测。监测节点依照预设规定模仿实在用户发动被动监测,实时掌控网络性能,聚焦用户体验。
- 立体化笼罩。HTTP/HTTPS/TCP/UDP/TR/DNS/PING 等多种协定类型,全面问诊网络、业务衰弱。
- 面向业务。通过蕴含多步申请的事物监控实现业务流程的监测,保障业务的稳定性和可用性。
- 继续监控。24/ 7 小时全天候监测网站和网络性能,多渠道服务反对,缩小可能产生的中断。
- 快照 +MTR。先进的问题诊断与剖析机制,问题产生之前和问题复原之后的数据尽在把握,疾速定位故障。
- 灵便告警。短信、邮件、微信、语音、API 等多种告警形式,确保告警可能被即时送达。
- 业余的剖析报告。提供综合排名、竞品剖析、同比 / 环比、日 / 周报等多维度的数据报告,满足专业化定制需要。
应用场景剖析
- 网络链路品质监控与评估。通过采集不同地区、不同运营商链路的时延、丢包、网络抖动状况,从工夫、地区、运营商等维度综合剖析网络链路品质及可用率,疾速发现和精确定位网络问题,便于及时进行链路调整,保障全网用户的体验。
- CDN 监控。通过海量的分布式节点模拟实在用户拜访,监控 CDN 性能,评估 CDN 的减速状况,确保最佳的用户体验,可用于 CDN 选型评估、CDN 减速成果评估、CDN 故障排查与定位等应用场景。
- API 接口监测。通过监控 API 接口的响应工夫、可用性和正确性并及时告警来保障 API 服务的可靠性,可用于 API 接口性能优化、第三方 API 接口监控等应用场景。
Graphite(2008)
Graphite 是一个开源实时的、显示工夫序列度量数据的图形系统,通过其后端接管度量数据,而后以实时形式查问、转换、组合这些度量数据。
劣势
- 指标点分概念引入
- Grafana 反对较早的协定之一
- 统计函数反对(140+)
劣势
- 指标无 Label 反对
应用场景剖析
- 在做好数据归并时可用于大规模场景
古代(2015-2021)
Prometheus(2016)
Prometheus 是由 SoundCloud 开源的监控告警解决方案。存储的是时序数据,即按雷同时序 (雷同名称和标签),以工夫维度存储间断的数据的汇合。
劣势
- 时序型存储、查问效率高。
- 反对集群模式,扩展性强。
- CNCF 我的项目,社区沉闷。
劣势
- 一些 Exporter 采集的指标泛滥,需进行适当裁剪。
- 自定义采集脚本须要脚本开发能力(Golang、Python),相比 Shell 脚本来说学习老本更高一些。
应用场景剖析
- 对于云计算、容器化场景更适宜
夜莺(2018)
夜莺是一套分布式高可用的运维监控零碎,前身是国内赫赫有名的 open-falcon。基于一些国内非凡的运维场景和习惯,在运维圈中有着不俗的场景了解和用户体验。
劣势
社区沉闷,有 open-falcon 大众根底。
产品设计灵便,人性化。
v4 版本自带小型 CMDB 和自动化。
v5 版本全面拥抱开源体系(Prometheus Telegraf)。
劣势
v5 刚公布,依然须要肯定的工夫积攒
后端存储的选型多样,须要依据场景进行抉择
短少日志类和 Tracing 类的监控场景
应用场景剖析
所有指标类的监控
将来(2022-)
云原生的呈现导致在 k8s 环境下的可观测性难度极具减少,因而呈现了 eBPF 等新技术,但无奈市场上大部分的客户 Linux 内核还不足以反对相干的技术。但能够看到的是 DataDog skywalking 云杉等目前都在向 eBPF 进行布局。
除了加强程序本身的可观测性之外,能够预感在不久的未来,随着 Linux 内核的一直的欠缺以及客户环境逐步的成熟。在运维角度能够发力的可观测性的抉择肯定会越来越多。也心愿各位运维的同仁们时刻关注咱们的公众号,关注前沿的可观测性的信息。最初给大家介绍一些相干书籍:
优质监控书籍举荐
【Nagios 系统监控实际(原书第 2 版)】Nagios 系统监控实际(原书第 2 版)(豆瓣)”)
【Cacti 实战】Cacti 实战 (豆瓣)”)
【Ganglia 系统监控】Ganglia 系统监控 (豆瓣)”)
【Graphite 监控】Graphite 监控 (豆瓣)”)
【监控的艺术:云原生时代的监控框架】监控的艺术:云原生时代的监控框架 (豆瓣)”)
【监控运维实际:准则与策略】监控运维实际:准则与策略 (豆瓣)”)
【Prometheus 云原生监控:运维与开发实战】Prometheus 云原生监控:运维与开发实战 (豆瓣)”)
更多福利
微信扫描辨认下方二维码,备注 【运维】 退出 AIOps 社区运维治理平台 OMP 开发者交换群,与更多行业大佬一起交流学习~