gtxyzz

提高网络实用性与性能的四款开源管理工具

gtxyzz 运维技术 2022-11-17 453浏览 0

过去的网络管理工具主要是一些晦涩的命令行产品,它们往往基于某种只有专业人员(通常是Linux领域)才能看懂的配置文件进行运作。如今的网管工具既有桌面版,又有基于Web GUI的。它们不但易于安装与配置,而且更易于被访问到。随着不断地产品迭代,这些工具在功能上越来越强大、在用户体验上也越来越易于使用。

在本文中,我们将和您讨论当下四种开源的网络管理产品。其中OpenNMS、Zenoss Core和NetXMS是该领域的“老兵”,当然它们推出了新的版本;而Sensu Core则相对较新。总的说来:

  • OpenNMS提供了一系列从简单到复杂的管理选项,可以运行在Windows和Linux环境内。其优势在于可以定制仪表盘选项,但劣势是配置较为复杂。
  • Zenoss Core以其灵活的报告和各种预配置插件见长,但是它仅适用于两个版本的Linux。
  • NetXms可以运行在Windows、Linux和Unix(包括BSD和Solaris)等多种平台上。虽然它易于被安装,但是缺少对应的商业版本。
  • Sensu Core也带有多种可用的插件,以及灵活的可扩展架构。不过,它的仪表盘和报告功能仍有待改进。

如下表格是我们对上述四种产品的优缺点和适用环境的对比:

提高网络实用性与性能的四款开源管理工具

1.OpenNMS网络管理软件

平台环境:

OpenNMS是一款可以被安装在Linux和Windows服务器上的开源软件。它拥有Meridian和Horizo​​n两种不同的版本。Horizo​​n发布新功能的频率更快;而Meridian则是在前一个版本未被证明稳定之前,不会发布任何更新,因此其更新周期大约为每12个月左右。Horizo​​n可以被免费使用;而Meridian基于订阅规则,面向需要稳定版本、长的发布周期和专业支持的组织。

测试要求:

本次,我们测试了其Horizo​​n 22.0.3版本。虽然安装步骤因操作系统而异,但是我们发现在Windows和Linux上的安装还是比较容易的。其唯一的安装先决条件是Java SDK。当然对于Windows而言,还需要有PostgreSQL数据库。其硬件最低要求为:双核CPU、2 GB内存和20 GB的磁盘可用空间。我们在Linux上选择了快速安装,当然OpenNMS也提供了自定义安装的分步说明。

界面配置:

在安装完成并首次启动其Web界面时,它会在界面上向用户呈现多个排列整齐的dashlets,并以图形的方式表示出目标网络架构的信息。当然,您也可以将初始界面定制成单个面板,或者按组织结构以及地理位置来创建多个面板。不过,我们还是花费了一些时间去搞清楚界面上各类名称所代表的意义。

监控显示:

Horizo​​n有报警、拓扑、图表、地图和图像等多种不同格式的Dashlet。通过配置,它能够以热图的形式显示正在发生的中断和报警,并按照实体和服务影响程度进行排序。另外,OpenNMS还提供了对所有节点、及其状态的聚合矩阵和监控概述。您可以将节点分组为服务器、路由器和交换机等类别,而监控概述的颜色标记方案则是:绿色表示正常、黄色表示警告或小问题、红色表示关键问题。

OpenNMS Horizo​​n提供了甚至让人有些眼花缭乱的监控选项。所幸我们可以从一些基本项入手,而不需要部署代理、或配置受监控的节点。我们先后进行了Web服务器运行测试、和通过简单PING来查看文件服务器是否能做出响应。在相继关闭了各种服务之后,我们确实立刻收到了报警。

特色功能:

OpenNMS的发现功能,对于大型基础架构是非常实用的。通过发现功能所提供的粒度类别,您可以按照IP地址的范围,来轻松地确定需要包含或排除的节点与服务。该功能可以相当快速地发现我们当时测试环境中的全部不到50个节点,当然对于分布在多地域的生产环境,则需要搜索和发现更长一点时间。

提高网络实用性与性能的四款开源管理工具

代理:

虽然OpenNMS的发现功能可以为您提供有关网络架构的一些基本信息,但对于更多深入的详细信息,则需要调用诸如JMX、WMI、Syslog和SNMP traps等协议。此外,OpenNMS还提供了可以部署到各种节点和终端的“轮询”代理。它们通过主OpenNMS服务器所提供的链接,根据引导程序被安装到终端上。用户可以使用Web界面进行各种配置,其详细信息被直接存储在自定义的XML文件中。

报警与响应:

网络管理系统的核心功能是能够及时地接收信息并产生报警。除了常规的屏幕报警功能之外,OpenNMS还能够通过文本和电子邮件发送报警。当然,您也可以将其与自行开发的或是第三方的下单系统相集成。OpenNMS提供了几个预置的报告格式,如:PDF或CSV。同样,您也可以使用JasperSoft Studio来自定义并创建报告。

支持与定价:

OpenNMS以在线用户手册的形式提供免费技术支持,您可以籍此进行安装、管理和开发。其他的一些在线视频教程和Wiki介绍,则为各种管理案例的形式提供了全面的逐条式讲解。商业版Meridian的定价机制为:一年6000美元的单服务器实例(如需更多实例,则还有折扣)。而技术支持套餐的起价为20,000美元。

适用性:

对于大型企业环境来说,OpenNMS的功能是比较全面的。它提供从最基本的规则到具有复杂规则的监控选项,因此比较灵活且受人推崇。不过,值得注意的是:鉴于Horizo​​n的更新频率,用户要避免此类更新给运行中的生产环境所带来的潜在破坏。

2.NetXMS多平台网络管理

平台环境:

与OpenNMS类似,NetXMS也是一款支持多平台的开源网管软件。它可以被安装在Windows、Linux和Unix(包括BSD和Solaris)等多种平台之上。此外,NetXMS的管理控制台还能被安装在Linux、Windows、Mac和Android设备上。

测试要求:

本次,我们在Windows Server和Ubuntu上测试了其2.2.10版。它对于硬件系统的最低要求是:1 GHz的双核CPU、1 GB RAM、1 GB的磁盘空间、以及收集数据所需的额外磁盘空间。虽然在两种系统上的安装都很方便,但是Windows的可执行文件让整个过程更加简化。NetXMS可以使用包括Oracle、MySQL、MS SQL Server和PostgreSQL在内的各种常见数据库。我们在安装过程中配置并启用了网络自动发现选项。

界面配置:

我们在Windows服务器上安装的管理控制台是桌面版的。完整完毕后,首先显示的是NetXMS“工作台窗口”。它以不同视图方式让用户能够查看到网络架构状态,包括:宏视图和特定的网络设备与事件的细节。通过在“工作台窗口”上排列各种视图,您可以创建并保存自定义的透视图。这些透视图可以从快速访问菜单里被调出,并定制化地显示网络基础架构。

监控显示:

NetXMS对象浏览器将整个网络显示为一种树形结构,以便用户层层深入到细节之处。它用不同颜色来指示正常(绿色)或存在严重问题(红色)等网络状态,进而方便用户识别出有问题的节点或服务协议。

提高网络实用性与性能的四款开源管理工具

代理:

借助自定义的脚本和特定的应用扩展,NetXMS可以使用所有版本的SNMP、SSH和ICMP协议来收集数据。为了增强效果,管理员还可以额外部署NetXMS代理。这些代理可被部署到Linux、UNIX、Windows等其他平台,以及各种设备之上。当然,根据设备的类型,代理可以与各种子代理一起被安装。例如:通过Windows代理,您可以添加提供UPS或日志监视的子代理。安装完毕后,各种代理就开始将信息上载到NetXMS服务器上。我们可以按需直接对客户端电脑、或远程对服务器上的代理进行重新配置。一般情况下,OpenNMS以XML格式存储代理配置的详细信息。值得一提的是:我们在测试中发现NetXMS代理所占用的磁盘空间、内存和CPU资源都非常小。

报警与响应:

如前所述,NetXMS提供了多种方法来查看目标网络的状态。在出现问题时,NetXMS可以采取多种响应机制,例如:发送带有问题详细信息的文本或电子邮件。此外,它还可以根据配置好的处理规则,采取各种动作,例如:通过运行脚本来解决问题。我们甚至可以细粒度地通过规则配置,以设定在无法及时确认与纠正时,如何升级问题。另外,NetXMS使用常规的Jasper Reports库,来构建可选的报告模块。

特色功能:

NetXMS具有强大的网络映射功能,管理员可以创建并定制目标网络的架构映射,以便对部分或整体架构状态一目了然。他们通过连接各个节点,获悉有关网络带宽和其他资源的使用详情,进而识别出潜在的瓶颈。而对于具有多个物理位置的网络,他们则可以在地图上绘制出不同的节点。您还可以使用图形、仪表盘和其他可视化的辅助工具,来自定义网络性能的显示界面。

支持与定价:

NetXMS以HTML和可供下载的PDF形式,提供最新且易于使用的在线用户手册。与其他参测产品不同的是:NetXMS只提供免费软件,不提供商业版本。其付费的技术支持选项则是通过电话、或电子邮件提供给客户的。付费客户还会按需根据bug的优先级,收到定制的热补丁程序。另外,NetXMS还提供定制化的培训教程。

适用性:

虽然NetXMS管理控制台的界面友好且响应迅速,但是其导航功能稍许欠佳。例如,在对于某些设置进行更改之后,我们希望最好有一个小的“磁盘”图标来提示保存;而在用户忘记保存设置时,它目前也不会发出警告。总的说来,我们认为NetXMS能够适合大多数组织的需求,能够提供一整套网络管理的服务。

3.Sensu Core网络监控和管理

平台环境:

2015年才首次推出企业版的Sensu Core,可谓是网络管理领域的新秀。它利用RESTful JSON API来收集监控数据,并解决各种事件。Sensu Core提供包括单机、分布式和高可用性等安装选项。另外,还有一个5分钟安装版可用于小型网络环境的测试。不过它仅适用于CentOS。

测试要求:

本次,我们测试的是其免费开源的1.6版。我们在测试中主要专注的是它在Linux和Windows上的单机安装选项。对于单机安装,其硬件系统的基本要求为2 GB(不过建议使用4 GB)。虽然我们主要是将其安装在Ubuntu服务器上,但Sensu Core也可以被安装在其他版本的Linux、macOS和Windows上。其最新企业版为3.3,而Core仍处于1.6版。

虽然它的在线用户手册很完善,但在我们看来,其企业版和Core版在安装上差异较大。相对而言,在Windows上的安装比在Linux上要容易得多。针对Linux的安装不但需要太多的步骤,而且它并未说清楚到底针对Core安装需要哪些附加的组件。

界面配置:

由于Sensu没有提供任何默认配置,因此在基本安装到位后,我们就需要完成一些配置任务了。Sensu Core的配置涉及到使用支持UTF-8的文本编辑器,来创建或编辑JSON和XML文件,或者使用诸如Puppet或Ansible之类的第三方配置管理工具。

提高网络实用性与性能的四款开源管理工具

监控与代理:

Sensu Core最初提供的是能与现有第三方或自定义仪表盘相整合的、具有监控和数据收集功能的各种API。随着时间的推移,Sensu意识到需要有一个专用的Sensu仪表盘,因此开发了Uchiwa。不同于其他组件,Uchiwa需要单独安装,且仅适用于Ubuntu、Debian、Red Hat和CentOS。Uchiwa仪表盘的基本功能包括:提供事件列表、按照类型和严重性执行某些过滤操作、各种静音报警和对事件的处理。其中有一种Sensu数据源是专为Grafana提供的,它是一种常规分析和报告的第三方产品,能够访问和可视化Sensu所收集到的事件。当然,网上还有其他第三方的仪表盘,可用于显示Sensu的事件数据。

特色功能:

Sensu Core监控解决方案的主要部件是:服务检查和事件处理。服务检查所监视的是资源的使用情况,包括:内存、CPU利用率和带宽,并确认Web或数据库服务器等服务的运行状态。为此,Sensu Core用到了各种代理,包括:Sensu客户端、SNMP和其他协议。服务检查使用与Nagios相同的规范,并允许加载Nagios插件。而Sensu服务器通过事件处理的执行,来响应由服务检查所创建的各种报警,并采取各种操作。

报警与响应:

Sensu Core使用handler来执行各种操作,其中包括:基本的文本与电子邮件报警、日志条目、使用ServiceNow或PagerDuty来创建并解决事件。默认情况下,它使用RabbitMQ的消息总线形式,实现客户端、服务器和API之间的通信。Sensu Core的服务器和API通过使用Redis(一种内存式数据存储结构),来实现持久性数据存储。

除了能够创建自定义的服务检查,您还可以从Sensu社区下载各种预构建好的插件。那里有着数百种可用的Sensu插件,从提供Twitter报警的基本插件,到监控数据库健康状况或托管云应用状态的复杂插件不等。此外,您还可以用到4,000多种Nagios插件。

支持与定价:

与企业版相比,Sensu Core不具备的功能包括:Active Directory、LDAP集成、多租户、用户审计日志记录和各种API选项。同时,在线文档和社区论坛对于Core版本的支持也是有限的。

因此,对于那些需要上述附加功能、以及专业支持的企业来说,他们有如下两种商业选择:每月售价899美元的SMB(中小型企业)版、和每月售价2499美元的企业版。它们都附带有Web、电子邮件、以及安装过程中的帮助。其中企业版还提供电话支持,和一个功能更为丰富的、以Uchiwa为基础的仪表盘。

适用性:

相较于在网络架构上的强大监控能力,Sensu Core的安装和配置有些不尽人意。为了提高安装灵活性、并引导客户深入地使用该产品,它提供了太多的组件配置选项。这无形中给新手增加了难度。当然,Sensu Core的开放式架构,也允许用户将其与现有其他工具相整合。

4.Zenoss Core 多平台网络管理

平台环境:

Zenoss Core是一款开源的网管软件,它可以被用在Red Hat和CentOS版Linux上。与同领域其他商业产品相比,它有明显的“500个监控节点”限制。但是与“不跟踪用户信息”的其他开源应用不同,在安装该软件之前,用户需要在其网站上填写表格,以获取包含下载说明的邮件。该邮件内会包含下载和在线支持等链接资源。

测试要求:

Zenoss Core提供多种安装选项,包括:可启动式(bootable)安装、虚拟设备和脱机安装文件。我们针对其6.2.1版进行了测试。Zenoss Core至少需要4颗真实(或虚拟)CPU内核、以及24 GB RAM用于单主机安装(或16 GB用于多主机安装)。对于存储空间要求,它会根据安装大小和收集数据的类型而有所差异。由于某些原因,我们在测试中发现Zenoss的内存密集程度非常高,因此最终需要在32 GB内存的Hyper-V服务器上,才能安装和启动其单主机应用。

界面配置:

如果选用虚拟设备方式,安装过程则非常简单,当然我们需要对DNS的设置进行适当的调整。在虚拟机启动并运行之后,我们便可使用Web浏览器去资源管理器了。初次登录需要运行一个简短的可选设置向导,以便设置用户、配置网络自动发现、和手动添加设备到资源管理器的仪表盘上。Zenoss Web界面设计精良,且易于使用。其默认仪表盘提供了网络基础架构的基本状态,并能突出显示任何报警和有问题的区域。

其Web界面有几个配置选项可供调用portlet。这些是显示不同网络信息的小部件,包括:事件视图、设备问题和网络地图(包括在仪表盘中放置定制化的Google地图)。通过拖放和调整大小,您也可以自定义一个或多个仪表盘,为监控网络架构提供最佳的界面布局。

监控显示:

在测试中,我们既可以使用自动发现功能来添加设备,也可以使用主机名或IP地址,来手动添加驻留在其他网络上的多个设备。其“基础架构”选项卡显示了每个设备的当前状态信息,并使用通用的黄色、橙色和红色等配色方案来显示各种警告。您既可以点击查看相关设备的详细信息,也可以使用预先输入功能,来按照主机名或其他设备信息进行搜索。当然,您也可以保存常用的搜索,以方便后续使用。

代理:

Zenoss Core使用到的开源技术包括:Python、Net-SNMP、MySQL数据库、Docker和D3.js。与其他网管产品不同,Zenoss并不使用代理,而是利用现有的SNMP、SSH、WMI协议,以及POP、FPT、HTTP和NTP等网络服​​务,来实现网络监控和管理。

特色功能:

另外,Zenoss使用到了被称为ZenPack的预配置插件,以实现各种监控和管理任务。由于各种ZenPack都使用了标准的API和协议,因此它无需将代理部署到每一台设备上。ZenPack除了有免费开源版本外,也有由Zenoss或第三方创建的商业版本。

提高网络实用性与性能的四款开源管理工具

报警与响应:

您可以使用事件菜单来自定义事件的触发器和通知。Zenoss能够发送带有自定义变量和详细描述的邮件信息。同时,系统还可以通过执行命令,来响应事件并解决问题。对于每个事件,您还可以使用浏览器执行不同的手动操作,包括:确认、重新分类、对日志追加标注、发送命令、以及打开或关闭事件等。

通过自定义报告选项,Zenoss Core既能提供标准的逐行式状态报告,又有图形化的报告。同时,我们既可以在屏幕上查看报告,又可以方便地导出为PDF格式,以便后期使用或与他人共享。

支持与定价:

Zenoss提供PDF或可下载的HTML两类支持文档,这对于那些想自行创建在线支持门户的人来说是非常有用的。

对于拥有众多节点或需要提供额外技术支持的大型组织来说,Zenoss具有Zenoss Cloud和Zenoss On Premises两款商业付费产品。不过,Zenoss并未在网上发布其产品定价。

适用性:

Zenoss Core的强大监控功能,需要消耗一定量的内存资源。不过,其500个监控节点的限制,足以满足许多中小型企业了。Zenoss Core具有可定制且友好的用户界面,以及可靠的报告打印与显示功能,这些都使之成为那些不需要监控上千台设备需求的不错选择。

继续浏览有关 开源 的文章
发表评论