7个免费网管“神器”
- 来源:计算机世界 smarty:if $article.tag?>
- 关键字:网管,服务器,交换机,Observium smarty:/if?>
- 发布时间:2015-03-24 14:35
从发现设备到挖掘系统、网络和数据流方面的可见性,这些免费开源监控工具或许能满足IT管理人员的种种需求。
在网络和服务器管理领域,可见性是第一要诀。作为IT管理人员,要是不知道自己的网络和服务器每时每刻在干什么,无异于两眼抹黑。
幸好,有许多优秀的工具(商用版和开源版)可以帮助IT管理人员了解自己的环境。本文整理了几款好用又免费的开源工具,它们在大大小小的网络中日复一日地证明了其价值。从网络和服务器监控到趋势分析、图形绘制,甚至交换机和路由器配置备份,这些实用工具可以帮助企业IT管理人员解决问题。
Observium
Observium旨在安装成拥有专门URL的自有服务器,而不是安装在更庞大的Web树体系下。
Observium是一款网络和主机监控工具,它可以使用SNMP登录凭据,扫描受监控系统的地址范围。Observium封装成LAMP应用程序,设置和配置起来比较容易,只需要安装通常的Apache、PHP、MySQL、数据库构建和Apache配置等。
登录到GUI,开始添加主机和网络,另外可添加自动发现范围和SNMP数据,让Observium搜索网络,收集发现的每个系统方面的数据。Observium还可以通过CDP、LLDP或FDP来发现网络设备;主机代理可以部署到Linux系统上,帮助收集数据。
Observium结合了系统及网络监控与性能趋势分析,它经配置后可以跟踪几乎任何可用的指标。
所有这些数据显示在易于浏览的用户界面中,该界面提供了大量的统计数据、图表和图形。这包括从ping及SNMP响应时间,到列有IP吞吐量、分段和数据包数量等信息的图形。视设备而定,可以列出发现的每个端口的这些数据,包括清查模块化设备的结果。
就服务器而言,Observium会显示处理器、内存、存储、交换文件、温度和事件日志状态。你还可以整合数据收集和服务方面的性能绘图,包括Apache、MySQL、BIND、Memcached、Postfix及其他服务。
Observium作为虚拟机来运行很顺畅,所以很快成为获取服务器和网络状态信息的可靠工具。它为将自动发现和图表功能引入到各种规模的网络提供了一种很好的方法。
让这些工具运行起来通常不是太难。它们通常有程序包可供大多数流行的Linux发行版下载。在一些情况下,它们已预先配置成虚拟服务器。配置和改动这些工具可能要花点时间,这取决于基础设施的规模,但让它们最初运行起来通常很容易。至少,它们值得试用一下。
Nagios
Nagios为网络的许多方面提供了预警系统,其好处怎么强调都不过分。
Nagios是一种成熟的网络监控框架,多年来一直处于积极开发之中。Nagios用C语言编写而成,监控软件包提供了系统和网络管理员可能需要的几乎每项功能。Web图形用户界面(GUI)一目了然,后端极其可靠。
与Cacti一样,非常活跃的社区在支持Nagios,还有面向众多软硬件的插件。从基本的ping测试到与WebInject等插件整合,IT管理人员可以持续监控服务器、服务、网络链路以及基本上支持IP协议的任何设备的状态。
没有通知机制的网络和服务器监控显然是不完整的。Nagios拥有完整的邮件/短信通知引擎和逐级上报机制,可以明知地决定通知谁、何时通知,倘若使用得当,这可以避免很多麻烦。如果将Nagios通知与Jabber整合起来,那样一旦发觉异常,除了收到短信或电子邮件外,使用者还能从Nagios收到介绍问题详情的即时消息(IM),这取决于受监控对象的逐级上报设置。Web GUI可以用来快速停止通知或确认出现的问题,甚至可以记录管理员输入的说明。
Nagios用起来对新手来说可能有难度,不过相当复杂的配置也是其强项,因为它稍加改动,就能适合几乎任何监控任务。
如果嫌这还不够,绘图功能可以不失条理地显示网络上的所有受监控设备,并使用色标来显示出现的问题。
Nagios的缺点在于配置。最好通过命令行来进行配置,新手学起来难度相当大,不过熟悉标准Linux/Unix配置文件的人用起来会得心应手。与许多工具一样,Nagios的功能也很强大,但需要付出同样很大的努力,才能充分利用这其中的一些功能。
Cacti
Cacti是一款综合的性能图形绘制和趋势分析工具,可用于跟踪能够在图上绘出来的几乎任何受监控的指标。它还具有无限可定制性,这意味着它在某些地方会变得很复杂。
早在网络盛行的20世纪90年代,网络流量图软件MRTG的开发者Tobi Oetiker认为有必要编写一款基于轮循数据库模式的简单的图形绘制工具,这种模式最适合显示路由器的吞吐量。MRTG孕育了RRDTool,这是一种独立式的轮询数据库和图形绘制解决方案,如今用于数量众多的开源工具中。Cacti是目前开源网络图形工具的典范,它将MRTG的最初目标提升到了全新水平。
Cacti是一款LAMP应用程序,它为几乎各种类型的数据提供了完整的图形框架。如果某设备或服务返回数值数据,数据就可能被整合到Cacti中。还有模版可监控各种设备,从Linux和Windows服务器到思科路由器和交换机——基本上可监控支持SNMP协议的任何设备。
虽然Cacti的默认收集方法是SNMP,但本地Perl或PHP脚本同样可以使用。该框架巧妙地将数据收集和图形绘制分成两种不同的任务,因而很容易改动和重新组织现有数据,以不同的图形上予以显示。此外,使用者可以轻松地选择图形的特定时间段和部分,只需要点击和拖动操作。
如果予以监控,Cacti就能跟踪从磁盘利用率到电源风扇转速的各种数据,并迅速显示这些数据。
使用面向Cacti的PHP Network Weathermap插件可以轻松创建实时网络图,显示网络设备之间的链路利用率,还有将鼠标指针移到网络链路的描述上方时出现的图形。让IT人员一眼就能了解网络利用率和链路状况方面的最新信息。
NeDi
NeDi与Cacti有一定程度上的整合;如果为安装的Cacti提供了登录凭据,设备发现结果就会连接到该设备的相关Cacti图形。
如果需要通过远程登录到交换机、查询MAC地址来搜索网络上的设备,或者就希望知道某个设备的物理位置(或者可能更重要的是,它之前的位置),那么应该好好了解一下NeDi。
NeDi是一款LAMP应用程序,经常巡视网络交换机上的MAC地址和地址解析协议(ARP)表,将发现的每个设备登记到本地数据库中。NeDi不如另外几个项目来得出名,但在设备不断移动的企业网络中,它是一款使用特别方便的工具。
登录到NeDi Web GUI后,可以按MAC地址、IP地址或DNS名称来进行搜索,以此确定交换机、交换机端口或任何设备的无线接入点。NeDi从它遇到的每个网络设备收集尽可能多的信息,获取序列号、固件及软件版本、当前温度和模块配置等。甚至可以使用NeDi来标记丢失或被盗的设备的MAC地址。如果它们再次出现在网络上,NeDi会告知使用者。
NeDi不断巡视网络基础设施、登记设备,跟踪它所发现的每个设备。
可以通过计划任务(cron)按设定的时间间隔来发现设备。配置很简单,单单一个配置文件就支持灵活定制,包括能够基于正则表达式或网络边界定义,跳过设备这一功能。如果网络被不可发现的边界分开来(就像MPLS网络那样),使用者甚至可以包含待查询设备的种子列表。NeDi通常使用思科发现协议或链路层发现协议,在巡视网络的过程中发现新的交换机和路由器,然后连接到它们,收集其信息。一旦初始配置已做好,执行发现设备这项任务相当快。
Icinga
Icinga提供了一套全面的监控和警报框架,旨在与Nagios一样开放、易于扩展,不过有几个不同的Web用户界面(UI)选项。
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 UI,与Nagios的一大区别在于配置,可以通过Web UI而不是通过配置文件来进行配置。对于更喜欢不用命令行来管理配置的人,这是一大优点。
Icinga整合了诸多绘图和监控软件包,比如PNPP4Nagios、inGraph和Graphite,提供了强大的性能可视化功能。Icinga还扩展了报告功能。
Zabbix
Zabbix最初的部署颇有难度,但合理使用模版和自动发现可缓解整合方面的麻烦。除了可安装的程序包外,Zabbix还有虚拟设备这种形式,可支持几种流行的虚拟机管理程序。
Zabbix是一款全面的网络和系统监控工具,它把几项功能合并到基于Web的单一控制台中。它可以配置成监控和收集来自众多服务器和网络设备的数据,以监控每个对象的服务和性能。
Zabbix可通过受监控系统上运行的代理来运行,也可以不用代理来运行,使用SNMP或其他监控方法,比如远程检查SMTP和HTTP等开放服务。它明确支持VMware及其他虚拟机管理程序,并生成虚拟机管理程序性能和活动方面的深入数据。另外特别注重对Java应用服务器、Web服务和数据库的监控。
主机可以手动添加,也可以通过自动发现过程来添加。一套广泛的默认模版适用于最常见的使用场合,比如Linux、FreeBSD和Windows服务器;SMTP和HTTP等知名服务,以及ICMP和IPMI设备,实现深入的硬件监控。此外,用Perl、Python或几乎任何语言编写的自定义检查机制可以整合到Zabbix中。
Zabbix可借助一系列广泛的工具来监控服务器和网络,包括用来监控虚拟机管理程序和Web应用堆栈的工具。
Zabbix还提供了可定制的仪表板和Web UI显示画面,以便侧重注意最关键的部件。通知和逐级上报可利用易于定制的操作,这些操作可应用到主机或主机群。甚至可以配置操作,以触发远程命令。
Zabbix以图形的方式显示性能数据,比如网络吞吐量和处理器利用率,并将数据收集起来,通过可定制的图形来显示。此外,Zabbix还支持可定制的网络图、屏幕,甚至幻灯片,显示受监控设备的当前状态。
Ntop
Ntop是一款数据包嗅探工具,其简洁的Web UI可显示网络流量方面的实时数据。它还实时提供了主机数据流和数据通信配对信息。
在过去这十年,Ntop(现在名为Ntopng,意指“下一代”)已取得了长足发展。可以称之为Ntop或Ntopng,这是一款一流的网络流量监控工具,外加一目了然的Web GUI。它用C语言编写而成,完全独立。你只要运行配置为监控某个特定网络接口的单一进程,就这么简单。
Ntop提供了简单易懂的图形和表格以显示当前和过去的网络流量,包括协议、来源、目的地和特定事务的历史记录,以及两端的主机。一系列广泛的网络利用率图形、实时图和趋势,还有面向众多附件(比如NetFlow和sFlow监控工具)的插件框架。甚至还有Nbox,这是一款嵌入Ntop的硬件监控工具。
Ntop甚至整合了轻量级Lua API框架,该框架可用来通过脚本语言来支持扩展。Ntop还将主机数据存储在轮询数据库(RRD)文件中,支持持久性数据收集。
Ntopng最方便的用途之一是现场流量检查。比如,其中一个Cacti PHP Weathermap插件突然显示红色的网络链路集合时,IT管理人员就知道那些链路的利用率超过了85%,但不知道个中原委。通过切换到监控网段的Ntopng进程,就能获得会话流量最高者的每分钟报告,立马知道哪些主机对此负责、它们在推送什么流量。
这种可见性很重要,也很容易获得。实际上,IT管理人员可以针对在交换机层面配置成监控另一个端口或虚拟局域网(VLAN)的任何接口运行Ntopong,就是这样。
沈建苗 编译
