目前在业内,有非常多的同类软件,针对商用产品,不做太多评价,毕竟开源项目的高度可定制化,随心所欲地按照用户需求修改功能,这一点是商业产品不具备的。单纯从开源项目来看,与Cacti在同一水平线上的产品有如下几个:
1.Nagios
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和UNIX的主机状态,交换机、路由器等的网络设置,以及监控打印机的什么等。在系统或服务状态异常时,发出邮件或短信报警,第一时间通知技术人员,在状态恢复后,发出正常的邮件或短信通知。
Nagios的优势在于可以对数据中心中大量的服务器,以及在其上运行的数据服务进行监控,以快速定位问题,进行报警。
相比Cacti,Nagios在网络流量、实时监控以及数据可视化方面的功能很弱。
2.Zabbix
Zabbix是一个基于Web界面的、提供分布式系统监视以及网络监视功能的企业级开源解决方案。Zabbix的界面如图1-3所示。
Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制,使系统管理员快速定位和解决存在的各种问题。Zabbix由两部分构成:Zabbix Server与可选组件Zabbix Agent。
Zabbix Server可以通过SNMP、Zabbix Agent、Ping、端口监视等方法提供对网络状态的监视,数据收集等功能,它可以运行在Linux、Solaris、HP-UX、AIX、Free BSD、Open BSD、OS X等平台上。
Zabbix Agent需要安装在被监控的目标服务器上,它主要收集硬件信息或与操作系统有关的内存、CPU等信息。它可以运行在Linux、Solaris、HP-UX、AIX、Free BSD、Open BSD、OS X、Tru64/OSF1、Windows NT 4.0、Windows 2000/2003/XP/Vista等操作系统之上。
Zabbix的优势在于数据的输入/输出,但是在数据可视化方面做得不如Cacti。
3.Zenoss Core
Zenoss Core是开源企业级IT管理软件,它允许IT管理员依靠单一的Web控制台来监控网络架构的状态和健康度。
Zenoss Core来源于Zenoss开源项目,Zenoss的体系架构非常庞大,当然具备的功能也比较完善,这一点是相对于Cacti来说的,这是Cacti的弱点。
但是Zenoss的体系架构足够复杂,也导致在二次开发和实际使用过程中,系统管理员必须花很长的时间,耗费很大的精力来学习,修改过后的Zenoss,由于功能模块的强耦合性,导致系统在上线之前需要进行大量的测试与验证,耗费人力、物力是在所难免的。
简单易用是Cacti对比Zenoss最大的优势。
4.OpenNMS
OpenNMS是一个企业级基于Java /XML的分布式网络和系统运维管理平台。它可以显示网络中各种终端和服务器的状态和配置,为管理网络提供有效的信息。OpenNMS的界面如图1-4所示。
OpenNMS是用Java语言开发的,可以真正做到跨平台。这个项目是由一群经验丰富的网络管理专家设计开发的,针对网络管理员平时关注的对象建模,有很好的粒度把控和很好的扩展性。他们还借鉴了Linux系统设计的一些概念。它的系统开发、设计最大程度地遵循国际通信标准。OpenNMS从设计之初就被定义为一个分布式系统,可以通过配置来满足各种复杂的网络管理要求。
我们必须承认在现阶段,OpenNMS是市场上占有率最高的开源系统运维软件,跨平台的设计、完善的设备库、友好的界面都是它成功的因素。但是在实际使用过程中,我们发现针对OpenNMS的二次开发需要具备Java、JSP、Servlet、Spring、MVC等技术基础,开发的难度比较大,并且安装配置过程也非常麻烦。
几款开源软件的总体评估情况如表1-1所示。