四大顶级开源网络管理工具

第一位竞争者:Zenoss

  随着网络方案的不断扩展与多元化走势,大量有线及无线设备开始成为网络体系不可或缺的组成部分,用户对网络监控工具的需求也随之持续走高。虽然功能丰富的商业产品比比皆是,但来自开源社区的强大方案仍然对监控工具市场的发展起到巨大的推进做用。html

  在本系列文章中,咱们将一同剖析四款高人气开源产品--Nagios Core 3.五、NetXMS 1.2.七、OpenNMS 1.10.9以及Zenoss Core 4.2。四款产品都已经至关成熟,足以提供与其它企业级同类方案相媲美的综合性监控能力,同时拥有良好的社区支持体系。ios

  四款产品都提供管理、性能监控以及网络设备警示与报告功能,其做用范围涵盖服务器路由器交换机、打印机、UPS、网络站点、业务应用程序以及移动设备等等。监控功能能够简单起效,用户能够像使用PING请求那样利用SNMP(即简单网络管理协议)或者本地代理对单一设备进行全面管理。web

  这次参与评述的四款产品经实测所有支持SNMP及其它通用型协议,包括WMI、HTTP、SMTP、SSH以及XML。尽管其中两款产品只能用于特定操做系统,但四者所有能够实现跨平台IT基础设施监控(本质上说可做用于任何拥有IP地址的设备)。它们支持的功能包括自动识别、SNMP、可阅读系统日志、触发器/警报设置、Web应用程序、分布式监控(即负载平衡)、映射、IPv6(只有NetXMS不支持IPv6)以及库存追踪。数据库

  四款产品还提供基本而全面的基础设施监控功能,并且不多甚至彻底不须要额外硬件、内存以及存储机制做为监控环境的支持基础。在本次评述中,咱们将从安装便捷性、配置便捷性、管理能力、多平台支持能力、报告机制及整体可用性等几个角度作出横向比较。后端

  第一位竞争者:Zenoss浏览器

  Zenoss堪称咱们的首选方案,这主要是因为其直观且专业的管理界面对于用户极具吸引力。另外,其环境配置与报告运做机制也很是简便;当须要帮助时,咱们找到的用户指导文档很是翔实清晰--出色的说明资料在开源领域极为可贵。但完美永远只是目标却没法真正达成,咱们发现Zenoss对资源要求较高,即便只管理少数几台设备、它也须要消耗大量硬件及内存等附加资源。服务器

  Zenoss Core是一款开源网络管理工具,能够运行在红帽企业Linux(简称RHEL)或者社区企业操做系统(简称CentOS)两大Linux版本当中。另有一套虚拟设备版本,可以利用VMware Player运行在最小安装配置下的CentOS当中。Zenoss Core基于Gnu GPL2许可。除了开源版本以外,Zenoss还提供多套商业监控解决方案。网络

  Zenoss不须要搭配代理,且使用SNMP、SSH、Telnet以及WMI等现有协议。在识别过程当中,Zenoss会收集个别设备的组件信息并概括其潜在运行依赖关系,经过这种方式建立出的基础架构清单被称为"配置模型"、这也正是Zenoss网络管理方案的核心所在。架构

  除了使用自动识别功能以外,管理员还能够手动输入信息并将监控的ZenPack数量调整至200以上,从而拓展单一或多台设备所搭配的配置模型。ZenPack从使用层面看相似于开源免费社区所开发的功能性插件。Core ZenPack被打包在Zenoss Core版本当中,而商业版ZenPack则只会出如今商业版本中。分布式

  在解决了一系列硬件需求与依赖关系问题后,咱们最终成功在运行着CentOS 6.4最小化版本(无图形用户界面)的虚拟机中安装了Zenoss 4.2。咱们发现Zenoss在设计思路上并无考虑轻量级基础设施的配置现状--事实上最少要6GB内存才能让一台仅安装了操做系统和Zenoss的设备进入正常运行状态。Zenoss资源密集型方案的头衔可谓实至名归,它可以监控多达一千台设备,且建议配置为最少16GB内存与八个CPU核心,存储空间和传输速度也是越强越好。

  Zenoss可以监控多种操做系统平台,其中包括网络设备(例如路由器与交换机)、服务器以及特定应用程序。它采用分层式架构:用户层、数据层、处理层与采集层。用户层基本负责提供用户界面,数据层则负责从三个不一样的数据库中收集数据,处理层管理采集层与数据层之间的通讯工做,采集层利用一系列服务向数据层提供收集到的数据。

  可用性监控的实现依赖于一系列手段,例如利用ICMP或者SNMP响应对TCP/IP端口及服务进行测试及查询。Zenoss还可以对Windows及Linux流程及服务进行可用性检测。

  Zenoss经过收集SNMP OID值的方式实现性能监控。整个过程须要借助预加载MIB(即管理信息基础)、新的本地MIB以及对定制性能插件的内置支持等机制。

  安装完成以后,Zenoss就能像物理设备那样接受来自不一样设备(包括台式机笔记本及移动设备)浏览器的访问。其用户界面高效而直观,在默认状况下会显示警示信息以及基础设施地理位置。用户还能够经过配置在浏览器中查看任何URL、内部或外部页面。仪表板中显示的信息能够经过开发者提供的所谓“门户组件”进行调整,各项目的对应显示窗口也可随时添加、删除并在仪表板内部任意拖拽及调整窗口尺寸。这样的开放性让咱们可以为所欲为定制出符合须要的选项。“守护进程关闭”、“消息”与“生产状态”等功能也拥有对应的门户组件。

  在向监控工具中添加设备时,你们可使用自动识别功能或者手动输入设备的IP地址或主机名称。在设备添加完成以后,具体项目会显示在“基础设施”选项卡中、并附带状态基础信息与彩色编码提示。

  除了"基础设施"以外、"事件"选项卡中显示的基本属于同类信息,但只按事件进行排序。事件与基础设施两种标签使管理员可以经过输入数列标题对大部分数列加以分类。对于每一个事件,你们能够执行不一样的处理操做,包括“只应答事件但不实际执行”及向设备发出“手动ping”或者“snmpwalk”指令以检索更多信息等。事件一旦处理完成,Zenoss会将其关闭并进行归档。

  Zenoss Core提供强大的报告功能,从基础的准备就绪报告到定制报告功能应有尽有。除了标准的事件、设备及性能报告以外,Zenoss还还提供完善的图形化报告,包括在同一份报告中包含多份汇总自多台设备的图形化报告。这些报告可在屏幕中显示、打印在纸面上或者被保存为PDF文件。

  目前已经有大量第三方ZenPack可供下载,其中一些甚至容许用户实现Zenoss与移动Android设备间的交互需求,咱们也能够利用由Zenoss提供的API说明文档建立属于本身的ZenPack。

  虽然Zenoss Core对于系统配置的要求颇为严苛,但这也使得整套监控环境在性能上极为强大、足以处理规模化设备与数据流量。Zenoss的用户界面灵活而富于现代气息,丰富的选项与定制化仪表板使人印象深入。不管是显示在屏幕上仍是打印成PDF形式,其统计报告都极具综合性且信息排布层次分明。另外,咱们还要再次掌握Zenoss那超过两百页的PDF用户手册,面面俱到的内容与清晰明了的指导在开源领域极为可贵。

2第二位竞争者:OpenNMS

 

  第二位竞争者:OpenNMS

  OpenNMS是一款强大的网络管理工具,可以运行在大多数平台之上且足以应对大规模数据的管理工做,其定制仪表板功能尤为使人赞叹。因为已经获得普遍普及,目前已经有超过一万五千款插件可供用户选择。

  做为一款基于Java的跨平台产品,OpenNMS可以运行在任何支持Java SDK 1.6及更新版本的平台上。OpenNMS基于GNU GPL许可,开发团队还提供商业许可及相关技术支持。OpenNMS的核心功能包括二层及三层链接自动识别、网络自动识别、自动配置以及服务识别等。在最新版本中,这款工具还添加了对IPv6的支持能力。OpenNMS拥有一套内置网络服务器系统,用户经过内置用户列表、LDAP或者RADIUS协议实现身份验证。

  除了建立自有事件,OpenNMS还能够从SNMP、HTTP、WMI、XML、JMX以及系统日志等外部协议中接收性能数据。从服务监控方面来看,它可以与一系列经常使用协议及服务进行通讯,包括DNS、Windows服务状态、BGP会话、思杰、邮件协议等等,这还只是其通讯对象中的一小部分。目前已经有一百多家厂商为其开发出超过一万五千款trap,其中SNMP trap接收器可以在设备启动后为其提供大量实用功能。

  咱们能够经过多种方式实现通知推送目的,包括利用标准页面调度程序、邮件通知机制以及更具定制特点的微博(例如Twitter)与命令行呼叫等方式。在整合性方面,它可以与DNS交互、接收并上传节点信息,还可与Hyperic HQ、RANCID以及Asterisk电话平台等第三方产品进行交互。

  最后,OpenNMS还提供多种报告选择,用户能够经过预先配置调整报告机制或添加以日期范围为基础的筛选方案。报告能够在指定时间运行,其结果会被保存到文件系统中或经过电子邮件发送至特定收件人。生成的文件格式分为PDF与CSV两种。

  OpenNMS的最低系统要求很是亲民,只须要512MB内存。但若是要让整套系统有能力应对任何数据采集任务,那么用户仍然须要在处理器、内存以及存储配置方面进行大幅强化。

  因为该工具图形用户界面所采用的JSP页面属于动态编译,所以除JRE以外、OpenNMS还必须配合完整的Java SDK才能正常运行。再有,PostgreSQL也必须提早安装就绪。

  咱们将OpenNMS做为独立服务器安装在Windows系统当中,并利用Web图形用户界面在浏览器中进行管理操做。在登陆以后,主页面会显示关于基础设施的一些基本信息,例如各节点在过去24小时中的停机或者可用状态,并额外提供专门的区域用于访问与报告功能。你们在屏幕上方的水平连接栏中还能找到其它导航机制。

  OpenNMS主要利用两种特定配置方式向监控体系中添加新功能,即自动识别与定向识别。咱们先经过一系列参数设定让OpenNMS了解如何根据需求识别基础设施,你们能够在"识别配置"中输入URL、特定的IP及IP地址范围并设定例外状况的方式调整其识别机制。值得一提的是,大部分OpenNMS配置信息都被以XML格式保存在文件中,熟悉XML的用户能够直接在对应文件中进行修改、而没必要使用图形用户界面。

  在配置过程当中,咱们发现用户须要常常查阅在线说明文档(好在指导材料还算全面),不然不少任务根本没法完成。之因此面临诸多挑战,是由于咱们对于OpenNMS所使用的基础设施技术术语不够熟悉。从理论角度讲,节点应该会被自动识别并添加到监控体系当中,但因为咱们的测试实验室拥有许多故意隔离出来的节点,所以这部分配置工做只能经过手动方式完成。

  全局导航对于咱们来讲不太符合逻辑,不过咱们认为各个环节与屏幕信息在整合以后会使其获得改善。也许这只是由配置引发的小问题,但咱们发如今打开警报、事件或者通知选项卡后,屏幕上确实不会显示任何内容--除非你们进行搜索或者点击查看全局连接。

  不过咱们清楚,对于大型基础设施来讲除非与筛选工具配合使用、不然屏幕上直接显示出的基础信息几乎没什么实际价值。咱们在登陆后只能看到采用仪表板风格的屏幕, 并且须要点击OpenNMS以返回管理面板。咱们还能够点击连接激活另外一个仪表板界面,其中提供一部分关于基础设施的简要信息,但经过横向比较、咱们发现这套方案效果平平。

  咱们对于搜索功能很是赞扬,而OpenNMS也确实在搜索功能的可用性方面下足了功夫。咱们尤为喜好以节点为单位搜索DNS或者POP3等特定服务这一功能。另外一项实用功能在于对与资产(包括位置、操做系统及运行状态)相关的数据字段进行搜索。

  OpenNMS的报告功能很是全面,其中包含大量预建立模板并可以运行临时报告。报告可被输入到屏幕中或者以PDF及/或CSV格式汇总成文件。

  咱们发现OpenNMS的用户界面须要通过必定调整才能知足大部分使用者对直观性的需求,但随着对界面的愈发熟悉、咱们的注意力更多集中在了这款产品出色的功能身上。管理员界面提供大量实用信息,相信能很快获得你们的确定。咱们也喜欢它带来的建立只读仪表板的功能。搜索功能很是强大,彩色编码警报也效果显著。整体来看,OpenNMS确实是一款可以支持多种平台的出色管理工具。

3第三位竞争者:NetXMS

 

  第三位竞争者:NetXMS

  此次咱们一块儿来看NetXMS。这是一款用户界面有些凌乱、但却拥有丰富工具集的产品,不只能对基础设施进行细化管理、并且在移动方面倾注了大量心血。

  NetXMS能够运行在Windows 2003及更新版本、Linux、Solaris、AIX、HP-UX以及FreeBSD等多套系统平台之上,并遵循GPL许可机制。

  NetXMS的最大特点就是能在不借助外部插件的前提下以原生方式支持大量主流平台。NetXMS可以使用SNMP以及本地"高性能"代理、从而收集数据并将结果提交并保存至SQL数据库中(包括甲骨文、微软SQL Server、PostgreSQL、MySQL以及SQLLite)。咱们能够经过自动或者手动方式实现二层与三层网络基础设施识别。收集到的数据会被保存在监控服务器中,并由管理员经过多种方式加以访问。

  数据收集由对象/节点负责,并且每一个对象/节点都拥有与自身相关联的阈值限制,例如服务器内存利用率或者路由器流量限值等。一旦超出阈值,NetXMS会直接触发某些事件;而随着阈值的回落,系统则继续触发正常业务事件。NetXMS还支持Android,既能够对Android设备进行管理、又能够做为设备监控的代理机制。

  除了在屏幕上显示通知及警报信息,NetXMS还容许管理员经过配置发送警报短信及电子邮件。具体事件也可被转发至另外一台NetXMS服务器或其它外部系统。NetXMS还具有本地脚本引擎,旨在实现高级自动化与管理功能。

  NetXMS的系统配置要求简直可谓没有要求--只须要512KB内存与主频低于1GHz的处理器。不过对于大部分生产安装环境来讲,主机操做系统还须要额外的CPU处理核心/强度/速率以及更大的内存容量。要安装在Windows系统中,咱们还须要为其准备一套单独的数据库服务器,用于保存配置设定以及数据收集(支持PostgreSQL、MySQL、甲骨文或者SQL Server)。某些PDF说明文档已经有些过期(官方网站也已经明确提示了这一点),但咱们发现维基百科可以起到很好的指导做用。

  在测试环境中,咱们将NetXMS安装在运行着PostgreSQL管理方案的Windows Server 2008 R2系统中,同时配备一套基于Java的桌面界面、Web界面或者移动管理控制台。NetXMS还会同时安装本身的轻量级web服务器,这样你们就没必要再安装IIS、Apache或者其它web服务器了。不过各位千万不要把Web界面安装在NetXMS所在的目录中,这样会致使工具安装失败、至关于搬起石头砸本身的脚。不过安装导航会默认将两者装在同一个目录中,这多是供应商的失误。

  NetXMS管理控制台的既定目标之一在于提供一套统一化跨平台图形用户界面(包括Web界面),从这个角度来看NetXMS无疑得到了极大成功。

  虽然咱们也在独立的台式机上测试过Web用户界面,但本次测试的大部分工做都利用了运行在服务器上的桌面应用程序。登陆以后,工做台就成了咱们的主要视图界面,用户能够经过不一样的自定义方式对其进行调整,并将保存结果用于将来的会话过程。初一上手,用户界面上的大量标签与连接可能会让新手们感到不太适应。

  要实现完整的自动识别功能,供应商建议咱们让工具对大型网络进行几个小时乃至一整夜的全局扫描。因为咱们的测试环境规模不大,所以整个识别过程耗时并不太长(不到30分钟)。你们也能够经过一系列简单步骤手动添加节点。节点添加完成后,NetXMS将在"事件状态"窗口中显示节点的基本信息,例如某个进程没法正常工做或者某个节点处于不可用状态。此外,工具还提供多个数据链接项(简称DCI),容许用户针对每一个节点进行自定义配置或者将配置方案保存在模板并推广到整个网络当中。这样若是须要对配置进行总体修改,咱们就没必要在每一个节点中重复折腾。

  屏幕报告功能给咱们留下了深入印象,该功能容许用户运行一系列临时报告;报告结果所产生的数据集可被导出为CSV文件。NetXMS还集成了Jaspersoft报告引擎,从而实现了建立自定义报告并在必要时加以重复使用。

  整体而言,NetXMS是一套功能强大的管理工具,但在配置方面颇具挑战,由于设定与控制布局过多使整个调整逻辑显得有些混乱。用户手册也还不错,但具体内容应该再从新整理一遍。另外一项不足之处在于,管理控制台应该提供与当前状况相关的帮助机制。

  从积极的角度看,咱们对NetXMS的跨平台能力、移动设备支持能力以及在移动设备中运行管理控制台的能力深表赞扬。便捷的自定义仪表板建立功能只需几回鼠标点击便可完成,可以帮助用户以可视化方式掌握网络运行状态。

4第四位竞争者:Nagios

 

  第四位竞争者:Nagios

  Nagios对于基础设施规模不大的小型企业而言很是理想,在它的帮助下技术团队无需像大型企业那样花费大量时间经过命令行对节点加以配置。

  早在上世纪九十年代末Nagios就已经诞生,尽管最初是针对Linux所设计、但它在Unix平台上的运行情况一样出色。Nagios Core是一款遵循GNU通用公共许可的开源软件,另有Nagios企业版为用户提供商业技术支持。

  Nagios可以监控包括SMTP、POP三、HTTP、NNTP以及PING在内的多种网络服务。它还会追踪主机资源的使用状况,例如处理器负载、内存及磁盘使用量等。利用自定义插件,用户可以开发出本身的服务检查方案。Nagios Core与以前提到的几款工具备所不一样,其Core版本与市场上的其它商业产品相比缩水比较严重。

  若是想使用SNMP trap或者移动应用等功能,你们必须采购其"专业版"或者"商务版",然后端数据库选项则只在"商务版"中提供。"学生版"虽然仅仅售价50美圆,但也只提供了快速入门指南、一套预配置虚拟机外加Web配置图形用户界面等基本功能。免费版本更是至关寒酸,只包含开源监控引擎。

  HTTP、FTP以及SMTP等公共服务可以在不部署主机代理或者依赖于SNMP的前提下受到,但任何"私有"服务--例如CPU与内存使用率、用户信息、服务状态及运行流程等--都须要经过在主机上安装代理方可实现。针对不一样类型的主机,供应商也提供不一样种类的代理机制,例如Windows服务器、Linux/Unix服务器、打印机、路由器交换机等。除了安装代理以外,你们还须要更新一系列配置文件以顺利启动监控工具。Nagios Exchange网站提供大量可选插件,足以知足用户在实际监控/管理工做中的不一样需求。

  在通知功能方面,Nagios可以经过电子邮件或者手机短信发送警示信息,并有专门的系统根据问题的严重程度向不一样我的及小组传达状况。

  Nagios Core必须运行在Linux或者Unix的衍生系统环境下,若是要使用Web界面(也就是CGI,即计算机生成界面)、咱们还须要准备一台web服务器(最好是Nagios与Apache一一对应)。

  准备好前续工做后,咱们须要从快速入门指南开始着手Nagios Core的安装工做。在咱们的实际测试中,指南计划很快搁浅--由于咱们选择Linux最新版本根本不在供应商的支持范畴以内。为了完成测试,咱们不得不依靠第三方在线资源的指引将Nagios Core安装在CentOS 6.4版本中。必须抱怨的是,Nagios官方网站上根本就没有提供这样的备选说明。

  Web用户界面中包含的CGI素材在外观与操做感觉上都与Web页面很是类似。管理员启动页面左侧设有基本导航与公告/访问软件更新、技术支持与其它实用资源等选项。进入左侧的导航界面,咱们能够访问各种指标,包括主机、问题以及报告的整体概述与细节信息。

  “战术总结”屏幕显示出包括主机及服务在内的整套体系的当前运行状态。状态摘要则经过“关键”、“警告”、“未知”、“待定”以及“良好”等词汇对状况加以归纳。网络图中显示了全部主机、各自运行状态以及彼此之间的链接方式。经过将光标移向不一样主机,咱们看到更为详细的概要信息。若是咱们的基础设施由数百乃至上千台主机构成,那么这项功能恐怕没什么实用价值;但在小规模基础设施中,它倒确实可以提供实时的网络体系说明。

  Nagios应用的一大优点在于可以在节点之间快速起效。略显平庸的用户界面使得资源没有被浪费在花哨的描述与表现形式上(但这也使界面较难上手)。虽然简单的设计不能算坏事,但咱们仍然但愿供应商能将界面风格加以进一步统一,同时对显示数据进行整理以提升可读性。固然,也许他们是故意经过这种笨拙的效果敦促用户尽快购买商业版本。

  在报告功能方面,Nagios Core提供多种预置屏幕报告方式,用户能够在经过选项参数设置在下拉菜单中使用临时报告。但咱们没法将报告内容以PDF或者其它任何格式加以导出。

  单从免费版原本看,Nagios Core可谓名符其实--只提供“核心”功能组件,即最基本的基础设施监控引擎。虽然这样的方案在某些特定环境中也能顺利起效,但咱们仍然但愿花点时间进行任务管理配置。尽管Nagios Core的图形用户界面有些过期,但其性能表现很是出色、并且比其它全功能竞争方案更易于设置及管理。

  备注:

  NetXMS与OpenNMS具有很强的跨平台能力,而Zenoss与Nagios则基于Linux环境。为了在Linux与Windows之间找到测试环境平衡点,咱们选择将NetXMS与OpenNMS安装在Windows服务器当中。

  原文连接:

  http://www.networkworld.com/reviews/2013/070813-open-source-network-management-271449.html?page=1

相关文章
相关标签/搜索