链接:https://my.oschina.net/yunzhihui/blog/5394924
开源监控软件的前世今生
如下面谷歌趋势图所示(因有些单词有二义性,具体数值可忽略,只看趋势),与其他开源监控产品相比,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等进行弥补;
使用场景分析
监控基础设施。主机、 络设备监控等;
中小规模监控;
Nagios(2002)
Nagios是一个主要用于监控系统运行状态和 络信息的监控系统。Nagios能监控所指定的本地或远程主机以及服务,同时提供异常通知等功能。
Nagios拥有4000多个插件,且在很早之前就开始拥有自己的官方插件社区。这里面包括很多应用级别的监控插件。此外,Nagios的通知虽然简单但能覆盖所有场景,以及本身拥有强大的监控任务调度的能力。
优势
劣势
功能过于单一,只能通过主动检测告知结果是否匹配,被动检测功能原生功能较弱;
使用场景
小场景简单监控。对于一些 站、端口等可进行简单监控;
Centreon(2005)
Centreon是一款开源的软件,主要用于对Nagios的一些功能增强。可通过页面管理Nagios,通过第三方插件实现对 络,操作系统,应用程序的监控。
优势
界面友好
维护方便
统一管理
劣势
修改配置需要重启或者重载Nagios主进程
MySQL依然存在数据问题
使用场景分析
适用于百台规模的中等监控
Check_MK
Check_MK是一款通用的Nagios/Icinga增强工具集。其插件有着相当成熟的检测机制和对硬件服务器的检测手段。非常适合对硬件服务器进行“体检”。
优势
界面友好
维护方便
统一管理
劣势
增加变更需要重启Nagios主进程。
因后端存储使用RRD,导致分布式扩展较为困难。
使用场景分析
适用于百台到千台以内中等规模监控
Cacti(2001)
Cacti是用PHP语言实现的一个监控软件,它的主要功能是用SNMP服务获取数据,然后用RRD储存和更新数据,当用户需要查看数据的时候用RRD生成图表呈现给用户。
优势
络设备支持好
有权限控制
有汉化版
劣势
SNMP依赖只适合特性场景
资料老旧
使用场景分析
简单的IDC托管
络运维
Ganglia(2001)
Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。主要是用来监控系统性能,如:CPU 、内存、硬盘利用率, I/O负载、 络流量情况等。
优势
数据集中,部署分布式
适合大规模部署
对集群热点观测性支持较好
劣势
无告警
集群内UDP广播问题多
使用场景分析
大数据应用
近代(2010-2015)
监控宝(2010)
监控宝是云智慧推出的新一代用户体验监控工具,从全球节点主动模拟真实用户访问,提供 站性能监控、API监控等服务,持续监测应用程序、 站、 络和数字化服务的可用性和性能,提前诊断,实时告警,帮助客户提升 络应用效能。
优势
专业的分析 告。提供综合排名、竞品分析、同比/环比、日/周 等多维度的数据 告,满足专业化定制需求。
使用场景分析
API接口监测。通过监控API接口的响应时间、可用性和正确性并及时告警来保证API服务的可靠性,可用于API接口性能优化、第三方API接口监控等使用场景。
Graphite(2008)
Graphite是一个开源实时的、显示时间序列度量数据的图形系统,通过其后端接收度量数据,然后以实时方式查询、转换、组合这些度量数据。
优势
指标点分概念引入
Grafana支持较早的协议之一
统计函数支持(140+)
劣势
指标无Label支持
使用场景分析
在做好数据归并时可用于大规模场景
现代(2015-2021)
Prometheus(2016)
Prometheus 是由 SoundCloud 开源的监控告警解决方案。存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。
优势
时序型存储、查询效率高。
支持集群模式,扩展性强。
劣势
一些Exporter采集的指标众多,需进行适当裁剪。
自定义采集脚本需要脚本开发能力(Golang、Python),相比Shell脚本来说学习成本更高一些。
使用场景分析
对于云计算、容器化场景更适合
夜莺(2018)
夜莺是一套分布式高可用的运维监控系统,前身是国内大名鼎鼎的open-falcon。基于一些国内特殊的运维场景和习惯,在运维圈中有着不俗的场景理解和用户体验。
优势
社区活跃,有open-falcon群众基础。
产品设计灵活,人性化。
v4版本自带小型CMDB和自动化。
v5版本全面拥抱开源体系(Prometheus Telegraf)。
劣势
v5刚发布,仍然需要一定的时间积累
后端存储的选型多样,需要根据场景进行选择
缺少日志类和Tracing类的监控场景
使用场景分析
未来(2022-)
云原生的出现导致在k8s环境下的可观测性难度极具增加,因此出现了eBPF等新技术,但无奈市场上大部分的客户Linux内核还不足以支持相关的技术。但可以看到的是DataDog skywalking 云杉等目前都在向eBPF进行布局。除了增强程序自身的可观测性之外,可以预见在不久的将来,随着Linux内核的不断的完善以及客户环境逐渐的成熟。在运维角度可以发力的可观测性的选择一定会越来越多。
声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!