网络通信 频道

免费开源工具 网络管理必备的7个工具

  【IT168 技术】从设备发现到系统、网络和流量可视性,这些免费开源监控工具非常实用。在房地产的世界里,重点永远是位置、位置、位置,而在网络和服务器世界,重点则是可视性、可视性、可视性,如果你不知道你的网络和服务器在每天每秒正在做什么,你很可能会出问题。

免费开源工具 网络管理必备的7个工具

    幸运的是,这里有很多好工具(商业和开源工具)来帮助你满足需求。好用和免费总是胜过好用和昂贵,在本文中我们提供了一些很好用的开源工具,这些工具适合各种规模的网络。从网络和服务器监控到趋势、图形,甚至是交换和路由器配置备份,这些工具都可以帮你解决问题。

  Cacti

  首先,最开始出现的是MRTG。早在20世纪90年代,Tobi Oetiker认为应该编写简单的图形工具来构建轮叫调度(round-robin)数据库机制,以用于限制路由器吞吐量。MRTG随后的是RRD工具,这是一个自给式轮询数据库和图形解决方案,目前正用于非常多的开源工具中。而Cacti则是目前的开源网络图形标准工具,它将MRTG的最初目标提升到全新的水平。

免费开源工具 网络管理必备的7个工具

  Cacti是一个LAMP应用程序,它为几乎所有类型的数据提供完整的图形架构。在笔者的某些更高级的Cacti安装中,笔者选择了各种数据,从数据中心冷却装置的流体回流温度,到文件管理器卷的自由空间,到FLEXlm许可证利用率。如果设备或服务返回数值数据,可能会被集成到Cacti。还有模版可以监控各种设备,从Linux到Windows服务器到思科路由器和交换机,基本上是使用SNMP的所有设备。还有用于更广泛的硬件和软件的分布式模版集。

  Cacti的默认收集方法是SNMP,本地Perl或者PHP脚本也可以使用。该框架巧妙地分离数据采集和图形为离散的实例,所以我们很容易重新组织现有数据为不同的显示。此外,你可以轻松地通过点击和拖动来选择特定时间框架和图形部分。在某些安装中,我有些几年前的数据,这些数据无法说明网络设备或服务器的当前状况是否为异常,或者经常发生。

  使用针对Cacti的PHP Network Weathermap插件,你可以轻松地创建实时网络地图,显示网络设备之间的链路利用率,当你悬停在网络链接的描述时会出现图标。在部署Cacti的很多位置,这些地图会清楚地显示在安装在高墙上的42寸液晶显示器,全天候显示,让IT人员清楚了解网络利用率和链路状况。

  Cacti是广泛的性能图表和趋势工具,可以用于跟踪几乎任何可监控的指标,并绘制的图表上。它还是无限可定制,这意味着它可以非常复杂。

   下载地址:http://www.cacti.net/  

    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为笔者节省了很多麻烦。这种工具提供的早期预警系统的优势不容忽视,这值得你花时间和精力来部署。

   下载地址:http://www.nagios.org/

     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还扩展了报表功能。

  下载地址:https://www.icinga.org/或者http://www.gaizaoren.org/archives/455

    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图表。

   下载地址:http://www.nedi.ch/ 

    Ntop

  Ntop(现在的“下一代”被称为Ntopng)已经走过了漫长的十年的道路。这个工具可以帮助你监控网络流量,并连接到快速简单的Web图形用户界面。它使用C语言编写,完全独立。你运行配置为观察特定网络接口的单个程序,就可以监控了。

  Ntop提供了简单易懂的图表和表格,来显示当前和过去的网络流量,包括协议、源、目的地以及特定交易的历史,以及两端的主机。你还会发现广泛的网络利用率图表、实时地图以及趋势,以及针对各种附加件(例如NetFlow和sFlow)监控的插件框架。甚至还有Nbox,嵌入到Ntop的硬件监控器。

  Ntop甚至继承了轻量级Lua API框架,可以用来通过脚本语言来支持扩展。Ntop还可以存储主机数据在RRD文件中,以支持持久性数据采集。

  Ntopng最方便的用途之一是现场流量检查。当我的某个Cacti PHP Weathermap突然显示红色的网络链接集,我知道这些链接超过了85%的利用率,但我不知道为什么。通过切换到监测网络网段的Ntopng程序,我可以查看最高用量者的每分钟的报表,并立即知道哪个主机在占用流量。

  这种可见性非常有价值。从本质上讲,你可以在被配置为交换机级别的任何端口运行Ntopng,来监控任何端口或者VLAN。

  下载地址:http://www.ntop.org/

    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还可以作为几种流行管理程序的虚拟设备。

    下载地址:http://www.zabbix.com/

   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很好用,这样可以迅速成为服务器和网络状态信息的工具。这个工具可以给各种规模的网络带来自动发现和图表功能。

  下载地址:http://www.observium.org/

  自己动手

  无论我们面对的是定制应用程序或“不受支持”的硬件,我们很多人都认为,如果监控工具无法立即处理它,它就不能被处理。但其实并不是这么回事,只要付出一点劳动,几乎什么都可以监控、登记和更具可视性。

  其中一个例子可能是具有数据库后端的自定义应用程序,例如web商店或内部财务应用程序。管理层希望看到漂亮的图形和图表来描述数据的使用情况。例如,如果你已经在使用Cacti,你有几种方法可以构建这种图表,例如构建简单的Perl或者PHP脚本来在数据库运行查询,并传输计数到Cacti,或者甚至SNMP调用到使用私有MIB(管理信息库)的数据库服务器。这可以做到,并且通常很容易完成。

  如果是不受支持的硬件,只要它使用SNMP,你都可以获取你需要的数据,但可能需要一点研究。只要你有正确的MIB来查询,你然后可以使用这些信息来编写或修改插件来收集这些数据。在很多情况下,你甚至可以使用标准SNMP整合你的云服务到这种监控中,或者通过云供应商提供的API。只是因为你有云服务并不意味着你应该将你的所有监控交给云提供商。因为供应商可能不像你一样了解你的应用程序和服务堆栈。

  发挥这些工具的最大优势并不是很大的挑战,这些工具通常有针对最流行的Linux发行版的数据包可供下载。在某些情况下,它们可能被预先配置为虚拟服务器。配置和调整这些工具可能需要一些时间,但最初并不是很困难。最起码,这些工具值得尝试。

4
相关文章