来自公众号:OSC开源社区
链接:https://my.oschina.net/yunzhihui/blog/5394924
摘要:在互联网信息爆炸式快速发展的今天,各类复杂多样的平台系统相继涌出。如何选择最佳的监控产品以更好地维护这些平台和系统是每个 IT 人员都需面临的难题。本文将从开源监控产品的起源和发展,详细解析各个时代热门监控产品的优势和劣势,并结合各个监控产品的使用场景,帮你选择出最适合自己的开源监控产品。因篇幅和时间原因,下面介绍的资料和理解可能和实际情况有所偏差,欢迎大家留言或者加入微信群批评指正。
开源监控软件的前世今生如下面谷歌趋势图所示(因有些单词有二义性,具体数值可忽略,只看趋势),与其他开源监控产品相比,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是一个主要用于监控系统运行状态和网络信息的监控系统。Nagios能监控所指定的本地或远程主机以及服务,同时提供异常通知等功能。
Nagios拥有4000多个插件,且在很早之前就开始拥有自己的官方插件社区。这里面包括很多应用级别的监控插件。此外,Nagios的通知虽然简单但能覆盖所有场景,以及本身拥有强大的监控任务调度的能力。
优势- 功能简单易用,主要的功能是主动检测。
功能过于单一,只能通过主动检测告知结果是否匹配,被动检测功能原生功能较弱;
- 配置复杂,配置修改主机、报警、阈值等时,在原生Nagios中只能通过修改配置文件来实现,操作较为复杂。
小场景简单监控。对于一些网站、端口等可进行简单监控;
- 大型场景需要各种花式Hack,需要借助很多第三方的插件进行效率的提升和分布式的扩展。
Centreon是一款开源的软件,主要用于对Nagios的一些功能增强。可通过页面管理Nagios,通过第三方插件实现对网络,操作系统,应用程序的监控。