从设备发现到系统、网络和流量可视性,这些轻型的网管工具非常实用。在网络和服务器世界,重点是可视性、可视性、可视性,如果你不知道你的网络和服务器在每天每秒正在做什么,你很可能会出问题。幸运的是,这里有很多好工具(商业和开源工具)来帮助你满足需求。
在本文中我们提供了一些很好用的网管工具,这些工具适合各种规模的网络。从网络和服务器监控到趋势、图形,甚至是交换和路由器配置备份,这些工具都可以帮你解决问题。
Cacti
首先,最开始出现的是MRTG。早在20世纪90年代,Tobi Oetiker认为应该编写简单的图形工具来构建轮叫调度(round-robin)数据库机制,以用于限制路由器吞吐量。MRTG随后的是RRD工具,这是一个自给式轮询数据库和图形解决方案,目前正用于非常多的开源工具中。而Cacti则是目前的开源网络图形标准工具,它将MRTG的最初目标提升到全新的水平。
Cacti是一个LAMP应用程序,它为几乎所有类型的数据提供完整的图形架构。在笔者的某些更高级的Cacti安装中,笔者选择了各种数据,从数据中心冷却装置的流体回流温度,到文件管理器卷的*空间,到FLEXlm许可证利用率。如果设备或服务返回数值数据,可能会被集成到Cacti。还有模版可以监控各种设备,从Linux到Windows服务器到思科路由器和交换机,基本上是使用SNMP的所有设备。还有用于更广泛的硬件和软件的分布式模版集。
Cacti的默认收集方法是SNMP,本地Perl或者PHP脚本也可以使用。该框架巧妙地分离数据采集和图形为离散的实例,所以我们很容易重新组织现有数据为不同的显示。此外,你可以轻松地通过点击和拖动来选择特定时间框架和图形部分。在某些安装中,我有些几年前的数据,这些数据无法说明网络设备或服务器的当前状况是否为异常,或者经常发生。
使用针对Cacti的PHP Network Weathermap插件,你可以轻松地创建实时网络地图,显示网络设备之间的链路利用率,当你悬停在网络链接的描述时会出现图标。在部署Cacti的很多位置,这些地图会清楚地显示在安装在高墙上的42寸液晶显示器,全天候显示,让IT人员清楚了解网络利用率和链路状况。
Cacti是广泛的性能图表和趋势工具,可以用于跟踪几乎任何可监控的指标,并绘制的图表上。它还是无限可定制,这意味着它可以非常复杂。
Nagios
Nagios是成熟的网络监控架构,已经使用多年。Nagios使用C语言编写,它提供系统和网络管理员可以在监控软件包找到的一切功能。这个Web GUI快速而直观,并且,后端也非常强大。
与Cacti一样,Nagios有着非常活跃的社区支持,并且有针对各种硬件和软件的插件。从基本的ping测试到整合WebInject等插件,你可以不断监控服务器、服务、网络链接等的状况。我使用Nagios来监控服务器磁盘空间、RAM和CPU利用率、FLEXlm授权利用率、服务器排气温度,以及WAN和互联网链接延迟性。它可以用来确保Web服务器不仅响应HTTP查询,而且他们还会返回预期的页面,而没有被拦截。
没有通知的网络和服务器监控显然是不完整的。Nagios具有全面的邮件/短信通知引擎以及升级格局,可以用来对通知谁以及何时通知作出明智的决策,如果利用得当的话,这可以节省很多时间。此外,我整合了Nagios通知与Jabber,这就引出了例外情况,我会从Nagios收到介绍问题的IM(除了SMS或邮件),这取决于该对象的升级设置。这个Web GUI可以用来快速停止通知或者确认问题,甚至可以记录管理员输入的笔记。
如果这还不够,映射函数还可以显示所有监控的设备,其网络中的位置,并使用颜色编码来显示问题。
Nagios的不足之处在于配置。该配置最好通过命令行来完成,并需要新手花很多时间来学习,而已经熟悉标准Linux/Unix配置文件的人员可能觉得“宾至如归”。与很多工具一样,Nagios的功能非常强大,但为之需要付出很多努力。
不要让复杂性阻碍了你,Nagios为笔者节省了很多麻烦。这种工具提供的早期预警系统的优势不容忽视,这值得你花时间和精力来部署。
OneNMP
OneNMP一是款基于SNMP网络管理协议的实时网络监控软件,产品采用100%Java架构产品,从功能模块、数据库、C/S界面全部基于统一Java技术平台和统一数据关系模型,不包含任何第三方功能库。B/S界面采用HTML5的响应式布局框架Boostrap实现,支持PC、平板、手机浏览。
在功能上,产品全面搭载了自动发现、设备管理、网络拓扑管理、故障管理、性能管理、统计图表等实用网管功能。在设计上,采用人性化设计,整体操作简,10分钟即可轻松入门。在管理设备类型上,全面对SNMP网络设备、主机/服务器和IP设备进行监控管理,用户可以自己安装、自己运行、自行监控,真正做到了自动化、智能化和全面化。同时提供丰富的设备监控指标,全面实现对网口、连通性、CPU、内存、磁盘、进程以及端口的实时监控。
在收费模式上,OneNMP采用按时计费的简易模式,支持按月、按年付费,十几台设备即可实施部署,大大降低了网管软件的使用门槛,中小企业用极低的预算即可实现全面部署。
同时OneNMP和SugarNMS智和网管平台一脉相承,随着企业的发展,网络规模的扩大、结构的复杂和,用户随时可以将软件升级为更加全面的平台化产品-“SugarNMS”,来满足企业日益发展的信息化网络。
Icinga
Icinga最开始是作为Nagios的分支,但最近被改写为Icinga 2。这两种版本都正在积极开发中,现在已经可用,Icinga 1.x向后兼容Nagios插件和配置。Icinga 2已经被开发为更小更时尚,它提供分布式监控和多线程框架,这是Nagios和Icinga 1中没有的。你可以从Nagios迁移到Icinga 1,以及从Icinga 1到Icinga 2。
与Nagios一样,Icinga可以用来监控任何使用IP通信的设备,正如你使用SNMP和定制插件及附件一样。
有几个用于Icinga的Web用户界面,与Nagios的主要区别是配置,其配置可以通过web用户界面来进行,而不需要通过配置文件。对于喜欢管理配置而不是命令行的人,这是很好的优势。
Icinga整合了各种图形和监控软件包,例如PNPP4Nagios、inGraph以及Graphite,提供坚实的性能可视化。Icinga还扩展了报表功能。
NeDi
如果你曾经通过远程登录到交换机以及MAC地址查找搜索网络中的设备,或者你只是希望知道某个设备的物理位置(或者,也许更重要的是,它曾经的位置),那么,你可以好好看看NeDi。
NeDi是一个LAMP应用程序,它通常查看MAC地址以及网络交换机上的ARP表,并将其在本地数据库发现的每个设备进行登记。NeDi并不是很出名,但它是非常方便的工具,特别是在设备不断移动的环境。
你可以登录到NeDi Web GUI,并通过MAC地址、IP地址或者DNS名称来搜索交换机、交换机端口或者无线AP。NeDi从每台网络设备尽可能多地收集信息,包括***、固件和软件版本、当前模版、模块化配置等。你甚至可以使用来标记丢失或被盗的设备的MAC地址。如果它们再次出现在网络,NeDi会让你知道。
配置很简单,其中一个简单配置文件允许大量定制化,包括基于正则表达式或网络边界定义来跳过设备的能力。如果网络被不可发现的边界隔开(例如MPLS网络),你甚至可以包含设备的种子列表。NeDi通常使用思科发泄协议(Cisco Discovery Protocol)或者链路层发现协议(Link Layer Discovery Protocol),发现新的交换机以及路由器,然后连接它们来收集它们的信息。在设置好初始配置后,运行发现相对较快。
NeDi与Cacti整合了一定程度,如果提供登录凭证来执行可行的Cacti安装,设备发现会连接到相关的Cacti图表。
Ntop
Ntop(现在的“下一代”被称为Ntopng)已经走过了漫长的十年的道路。这个工具可以帮助你监控网络流量,并连接到快速简单的Web图形用户界面。它使用C语言编写,完全独立。你运行配置为观察特定网络接口的单个程序,就可以监控了。
Ntop提供了简单易懂的图表和表格,来显示当前和过去的网络流量,包括协议、源、目的地以及特定交易的历史,以及两端的主机。你还会发现广泛的网络利用率图表、实时地图以及趋势,以及针对各种附加件(例如NetFlow和sFlow)监控的插件框架。甚至还有Nbox,嵌入到Ntop的硬件监控器。
Ntop甚至继承了轻量级Lua API框架,可以用来通过脚本语言来支持扩展。Ntop还可以存储主机数据在RRD文件中,以支持持久性数据采集。
Ntopng最方便的用途之一是现场流量检查。当我的某个Cacti PHP Weathermap突然显示红色的网络链接集,我知道这些链接超过了85%的利用率,但我不知道为什么。通过切换到监测网络网段的Ntopng程序,我可以查看最高用量者的每分钟的报表,并立即知道哪个主机在占用流量。
这种可见性非常有价值。从本质上讲,你可以在被配置为交换机级别的任何端口运行Ntopng,来监控任何端口或者VLAN。
Zabbix
Zabbix是全面的网络和系统监控工具,它集成了多个功能到单个基于web的控制台。它可以配置为监控和收集来自各种服务器和网络设备的数据,对每个对象提供服务和性能监控。
免费工具Zabbix
Zabbix可用于在监控系统运行的代理,它也可以使用SNMP或者其他监控方法(例如对开放服务SMTP和HTTP的远程检查)运行无代理。它支持VMware和其他虚拟化管理程序,并生成关于管理程序性能和活动的数据。还可以监控Java应用程序服务器、web服务和数据库。
主机可以手动添加或者通过自动发现过程添加。一组广泛的默认模版集适用于最常见的用例,例如Linux、FreeBSD和Windows服务器;知名服务(例如SMTP和HTTP),以及ICMP和IPMI设备可进行详细的硬件监控。此外,使用Perl、Python或几乎任何语言编写的自定义检查也可以整合到Zabbix。
Zabbix还提供可定制的仪表板以及Web用户界面显示来突显你最关键的组件。通知和升级可以作为自定义操作应用到主机或主机组。你还可以配置操作为触发远程命令,当观察到某个事件标准,可以在被监控的主机运行脚本。
Zabbix会以图表形式显示性能数据,例如网络吞吐量和CPU利用率,并以可定制的显示方式收集它们。此外,Zabbix支持定制地图、屏幕以及幻灯片,显示被监控设备的当前状态。
Zabbix最初的部署很复杂,但谨慎使用模版和自动发现可以缓解集成的麻烦。除了可安装的工具包,Zabbix还可以作为几种流行管理程序的虚拟设备。
Observium
Observium是一个网络和主机监控器,它可以扫描地址范围使用通用SNMP登录凭证来监控系统。作为LAMP应用程序,Observium比较容易设置和配置,需要安装常见的Apache、PHP、MySQL、数据库创建、Apache配置等。它被设计为安装作为其自己的服务器,包含专用URL,而不是隶属于更大的web树。
你可以登录到图形用户界面,并开始添加主机和网络,以及自动发现范围和SNMP数据,让Observium在整个网络爬行,并收集每个系统的数据。Observium还可以通过CDP、LLDP或者FDP发现网络设备,主机代理可以部署到Linux系统来帮助收集数据。
所有这些数据显示在易于导航的用户界面,提供大量统计数据、图表和图形。这包括ping和SNMP响应时间,以及IP输出、分片、数据包数量等的图表。根据设备的不同,这些数据可以用于每个端口,包括模块化设备。
对于服务器来说,Observium会显示CPU、RAM、存储、swap、温度和事件日志状态。你还可以整合数据收集和服务的性能图表,包括Apache、MySQL、BIND、Memcached、Postfix等。
Observium作为VM很好用,这样可以迅速成为服务器和网络状态信息的工具。这个工具可以给各种规模的网络带来自动发现和图表功能。