如何缩减成本是IT高管面临的永恒难题,确保企业中所有的东西满足服务水平协议对资源本就紧张的IT部门是极具挑战的。开源软件为企业节约成本带来了曙光,相较于更昂贵的商业产品,开源软件提供了极具吸引力的替代方案,但是开源产品可以提供企业级效果吗?
为了回答这个问题,我们测试了五个开源产品:OpenNMS、Pandora FMS、NetXMS、SugarNMS和Zabbix。这四个产品都有稳固的用户基础且最近都有更新。 我们测试的重点是安装,管理工具、接口以及每个产品的监控能力,有无代理,自动发现等。
我们在Windows上测试了这五款产品,当然并不是这五款产品不能在Linux上运行。值得注意的是,我们每审查一次网络监控工具,就会发现它们都有了全面的重大改进,供应商开始挖掘客户的监测需求,并把其作为管理的重点。
虽然这五款产品都很好,但是如果论整体表现的话可能SugarNMS更胜一筹。SugarNMS易于安装、用户界面简洁现代,信息易于阅读,支持使用较小的设备如平板电脑。一般来说,SugarNMS的配置比其他竞争者更直观容易,这一点肯定会特别吸引那些忙碌的系统管理员。NetXMS可以排在第二位,其与PSugarNMS有很多相似点,漂亮的用户界面,易于配置的规则和实用的用户手册,但是它的导航和保存功能还需加强。
那么,这些产品都是企业级产品吗?总体来说,我们发现所有五款产品都适合在中小型企业中使用,其中SugarNMS可以在大型网组中使用,但是我们没有对其进行高容量或地理分布的测试。
这五款产品都有商业付费版,但是还有所不同,例如,NetXMS和Zabbix仅在一个具有可选付费支持计划的开放源代码版本中可用。 OpenNMS分布在两个不同的版本,两者基于相同的开放源代码,提供LTS的商业版本。PandoraFMS提供了多个商业版本,包含很多额外的功能和支持更高容量的环境。而SugarNMS则提供了平台级的版本,支持了自定义扩展和开发集成。如果要在大型企业或高度复杂的环境中使用,最好咨询供应商并进行商业评估。
产品 |
OpenNMS |
Pandora FMS |
NetXMS |
SugarNMS |
Zabbix |
优点 |
跨平台,监控插件,可扩展 |
直观的界面,通知功能好 |
易于安装,轻量级代理 |
操作性好,可扩展集成开发,拓扑直观,发现和故障功能好 |
界面简洁,可进行规制设置 |
缺点 |
界面待改进,图形渲染慢 |
报告和导航功能需改进 |
导航不直观 |
功能较多,导航栏目多,不够简洁 |
配置步骤繁琐 |
NetXMS是一款在Windows和Linux上运行的网络监视和管理工具。我们在Windows服务器环境中安装了2.06版本,安装过程较为简单只需根据向导操作即可。安装后,NetXMS服务器作为服务运行,并提供桌面管理控制台,供应商将其称为Workbench。
Workbench的布局类似于Windows资源管理器类,左侧有导航树,右侧面板中包含详细信息, 它的顶部菜单有50多个选择,可以组织成不同的标签视图或仪表板。
使用NetXMS进行网络监控需要SNMP或NetXMS专有代理。首先,我们在没有代理的情况下在测试网络中运行自动发现功能,虽然获取节点花了很长时间,而且有些节点没有获取到,但是我们可以从Workbench手动添加。
当我们的网络节点都添加到Workbench中,我们可以开始添加一些数据收集点。第一个是简单的网络接口监视器,用来查看有多少流量通过;然后我们可以在一台服务器上设置CPU警报,以便在使用率超过特定阈值时通知我们。
在创建和测试几个基本规则后,我们决定将NetXMS代理部署到我们网络上的几个节点。代理可用于大多数平台,例如Linux和Windows通用的x86 64位系统。使用NetXMS代理有很多好处,例如代理和服务器之间的流量可以加密、集中式配置以及在管理系统上执行命令的能力。SNMP和NetXMS代理的添加使我们更深入地了解每个节点,能够快速添加多个预定义的数据收集参数。
当达到报警阈值时,NetXMS提供多种操作方式。例如,通过电子邮件或文本消息发送给一个人或多个人。您还可以自动在节点或管理服务器上执行命令或脚本,从而提供无人值守的故障切换选项。除了囊括各种类型的图形和地理地图的实时屏幕报告功能,NetXMS还集成了Jasper报告引擎,拥有超过300页的管理员指南和一个用户指南。
大多数喜欢NetXMS的用户是因为其易于安装,配置大多是直截了当的,但是在某些菜单中的配置容易丢失,在少数情况下,我们遇到了问题,所做的更改将不会保存。用户界面很直观,服务器和代理的占用空间相对较小,我们测量的代理平均使用大约2MB的内存。
我们在Windows Server 2012上安装了OpenNMS 18.0.1。OpenNMS运行在Java(1.8或更高版本)上,但也可以安装在Linux和OS X系统上。虽然供应商提示Windows安装会比Linux难,但是实际上我们发现事实是相反的。Windows安装步骤:1.安装最新的Java SDK;2.设置JAVA_HOME路径;3.安装PostgreSQL,并运行OpenNMS安装脚本。然后,我们使用供应商提供的批处理文件启动了该服务,服务启动后,我们通过Web界面连接,并立即开始查找和监控网络节点。
在Windows上启动并运行后,我们发现管理界面布局简洁,主屏幕显示网络可用性的摘要以及有关中断和其他待处理问题的通知。在自动发现或手动添加的节点上运行基本监视任务不需要客户端代理。启动之后,您需要手动添加一个或多个节点来监视,或者您可以使用自动发现功能在网络上找到节点。我们通过配置自动发现来查找本地测试网络上的服务器和远程位置的子网。
OpenNMS是由事件驱动的,事件显示在易于阅读的仪表板类型页面上。仪表板按类别(如Web,数据库和DNS服务器)提供基础架构状态的摘要概述,您可以看到活动中断与否以及可用性百分比。仪表板允许您向下钻取详细信息级别,以查看当前或最近的停机,具体情况视服务类型和所执行的监视类型而定。这种做法使得故障排除和瓶颈识别变得更容易。
在我们的局域测试网络上,自动发现节点并不需要太长时间,但在远程数据中心位置需要进行一些防火墙调整,允许流量进出OpenNMS。我们的多个服务器运行自动发现的服务,例如检测到DNS和HTTP服务并将其添加到监视。自动发现是比较详细的,网络上的节点可以轻松地囊括或排除在外,同时它还允许添加或移除节点。
数据收集和监视涵盖简单的ping命令或者更高级的方法,例如SNMP陷阱,JMX,WMI和Syslog事件。 很多配置都存储在XML文件中,我们可以在文件中直接进行修改,无需进入到用户界面进行修改。远程pollers可以部署到异地位置以跟踪基础架构可用性。
poller可以从OpenNMS服务器上的URL安装,它会有一个简单的向导提供一些基本信息(如OpenNMS服务器IP和用户信息)。 拓扑图虽然很迟钝但还是很有用的,因为我们的测试服务器内存受限所以效果不明显,但其对拥有分布式基础设施的企业来说这个功能绝对是很有用的。
OpenNMS的警报装置比较全面,除了屏幕警报,还配置了短信或电子邮件发送通知,同时集成了现有的第三方故障单系统或自定义解决方案。支持Jasper报告的强大功能,它提供了预建和自定义报告选项,能够导出为常用格式(如PDF和CSV)。
内置的搜索功能可以方便地搜索各种参数,如名称、IP、MAC以及我最喜欢的,提供以节点为单位搜索DNS或者POP3等特定服务,还有一个资产搜索功能,允许您对笔记本电脑,服务器或电话等相关字段进行搜索。除此之外,我们还发现,有些页面对页面本身的术语和功能有快速解释, 例如,报告页面对每种报告类型做了简短说明。
OpenNMS支持两种付费模式,一种是19995美元的服务,另一种是49995美元的服务。
我们安装了SugarNMS的最新版安装包,安装步骤比较简单,点击下一步即可进行安装,安装包集成了SQL数据库,不用单独进行安装。在安装目录下我们发现了比较全面的使用手册,按照使用手册对软件进行了初始化的设置。
安装完成后在桌面上出现了C/S端和web端的启动界面,我们主要是对SugarNMS的web端进行了测试。主界面简洁而且信息全面,显示了网络中的概要信息,能够直观的了解当前的一个网路状况。
在设备、资源和链路发现的环节,我们主要选择了自动发现的方式,获取到了网络的拓扑图,当然直接发现的拓扑不够美观和层次分明,我们选择了手动调整的方式。我们发现SugarNMS内置了一些故障、性能等的监视策略,可以直接使用,也可以进行单独的策略配置。告警通知的方式也基本全面,软件内部声音和图标、邮件、短信的形式都可以支持。
SugarNMS主要是以拓扑图为显示方式,在拓扑上基本可以完成大部分的操作。拓扑图上直接显示设备、链路还有最严重的告警信息,双击设备或者链路后,可以查看资源等详细信息。有专门的设备性能管理界面,内置了年月周的统计报表,可以直接生成。
我们发现SugarNMS智和网管平台的设备支持度较好,基本的SNMP协议的设备都可以监控到,包括:网络设备、主机、服务器、中间件、数据库、虚拟化等,监控指标包含了:CPU、磁盘、内存、网络接口、系统进程、网口、电口、光接口等在。同时,在和供应商沟通后了解到,其他协议的设备是可以开发的,不过用户要支付开发的费用。综合来讲,SugarNMS的监控设备种类和数量以及监控细度是比较突出的。SugarNMS的收费模式是按照设备的数量和平台功能收取的,一般企业都可以担负。
我们在安装了CentOs 6.0 SP3,加载基于web的界面后,我们收到了Pandorin助手的问候,但是我们没有采用Pandorin,而是选择了单独发送Pandorin包。总体来说,Web界面简洁现代,信息易于阅读,欢迎屏幕提供了网络状态的概述,其中列出了所有打开的警报,部署的代理程序数量以及在控制台中执行的最近任务的列表。
首先,我们使用Pandora FMS绘制我们的测试网络。在查看了用户手册后,我们发现要先创建监控模板,监控模板您可以选择系统已有的也可以自定义创建,模板建好之后,就可以执行recon task。顾名思义,它适合满足某一标准的搜索网络设备,例如在某个子网上运行的所有Linux服务器。一旦找到这些设备,它将对这些设备应用监视模板,我们案例中的设备是一小组Windows服务器。
我们的第一个配置模板报告包含一些基本的SNMP信息以及静态信息,如BIOS和Windows版本信息。 Pandora FMS可以通过使用基本的TCP探测器、SNMP、WMI或代理部署来收集信息,这些代理可用于大多数的Linux和Windows操作系统。
recon tasks可以自动运行,但是在这里我们对中等规模测试网络选择了手动运行,整个过程一两分钟就完成了,默认网络视图使用绿色,橙色和红色来表示问题的严重程度。其他视图包括组视图和树视图,它们都按节点类型(服务器,工作站,路由器等)显示操作。大多数上部显示都支持向下钻取以查看有关节点的更多详细信息。
安装完成之后,我们将两个节点添加到控制台并应用各种模块来开始收集数据。 一旦这些信息保存后,我们可以看到代理报告警示我们潜在的问题,例如HTTP服务不在我们服务器上运行。此时,代理还开始收集性能数据,如CPU、内存和网络使用统计信息。
接下来,我们创建了几个警报,当满足某些阈值时,会向我们发送电子邮件。为了测试,我们创建了一个警报,工作站CPU负载是否超过50%,触发之后,我们收到了一封包含警报详细信息的电子邮件。除了发送电子邮件之外,警报功能还可以执行诸如重新启动代理和将事件记录到数据库等操作,使用内置向导创建自定义警报脚本。但是通过代理的远程配置在开放源代码版本中不可用。
Pandora FMS屏幕上的报告选项基本是可以支持我们日常使用的,支持屏幕上的HTML报告打印,并且有XML导出,同时提供一些可以使用第三方工具处理的原始数据。支持自定义报告功能和SLA阈值。我们注意到Pandora FMS的商业版本具有额外的报告功能,包括更强大的报表生成器和导出到PDF的能力。
Pandora FMS是一个成熟的产品,有很多不错的功能。从容量的角度来看,供应商声称其能够为超过10000个节点的客户提供监控服务,监控的粒度不错,搜索功能也比较方便。但是美中不足的是左导航栏只显示图标,鼠标经过不会出现提示,右键单击会展开其他下拉列表。Pandora FMS拥有多个商业版本的产品,对额外功能提供支持,起价约为2750美元。
我们在具有MySQL后端数据库的Ubuntu服务器上安装了Zabbix Version 3.2。该服务器可用于多种Linux版本、Mac OSX,但不适用于Windows。代理可用于大多数版本的常见操作系统,例如 Linux、Windows和Mac OSX。除了提供自己的数据收集代理,Zabbix采用传统的监控方法,如SNMP和TCP/IP以及其他协议如JMX和IPMI的可用性检查。
虽然Zabbix可以在命令提示符下使用,但是我们选用了浏览器作为前端。登录后,仪表板将会显示一些常见项目:整体系统状态,打开的警报,挂起的任务和图表。用户可以自定义仪表盘,例如在屏幕上拖放各个部分,同时也支持根据监视的内容添加/删除其他部分。Zabbix的布局是大部分的导航在顶部,屏幕的其余部分可用于监视细节。
为了让Zabbix运行起来,我们决定手动添加一个主机,这是在配置页面完成的,您基本上只需添加主机的IP地址或名称,添加主机的组(这是必需的),配置要使用的方法; 代理,SNMP,JMX或IPMI都有预定义字段,用于输入适用于每个的信息。我们的主机设置为SNMP,然后创建一个项目。
项目本质上是要监视的一个单位,例如CPU负载。项目从独立的配置页面添加,提供要输入的详细信息,具体情况要视添加的项目类型。我们的第一个项目只是一个简单的ICMP ping,看看我们的服务器是否响应。
为了获得更多粒度的数据收集,我们决定安装几个代理。如前所述,代理可用于Linux和Windows,与其他产品的代理类似,Zabbix代理像服务一样运行。启动代理程序需要一个配置文件,但是我们的安装软件包没有包括,所以我们在线找了一个,另外第三方安装程序可提供所需的配置文件。配置文件中的某些参数可能需要修改,例如Zabbix服务器IP地址和要监视的主机的名称。
最后,运行网络查看它会发现哪些主机。 为了查看发现的效果,我们指定了一些检查选项,例如SNMP、Zabbix代理、特定的服务如FTP、HTTP和SMTP。结果显示服务器能够找到在我们的测试网络上运行的近100个不同的主机和服务。
Zabbix内置了报告功能,报表视图是支持自定义,但目前没有找到任何方法将报表打印到PDF或导出数据在第三方查看器中查看。 除了在屏幕上显示网络问题,Zabbix可以通过几种预定义的方法(如电子邮件或短信)发送问题通知。 管理员还可以创建自定义脚本或使用第三方方法(如Jabber)进行通知。
一个产品的适用性依赖于企业很多变量之间的关系,如平台、资源等。选用开源产品很重要的一点是良好的管理实践,其次也要对供应商的背景做一定的研究,如果供应商可以给予一定的技术支持,则对产品的使用很有好处。
开源产品的正确使用可以为企业节省数千美元的成本,但开源产品通常缺乏供应商支持,并且可能容易频繁升级从而可能中断某项服务,社区支持也可能不完整或响应缓慢。所以选择付费模式,随时访问可靠的客户服务,企业可以获得更好的服务。