一、如何使用Nagios实现网络监控 使用Nagios实现网络监控:Nagios是一个开放源码的网络监控工具,不仅免费,而且功能强大,而且具有极强的可定制性。虽然Nagios监控学习和实施它比较复杂,但它在记录你们组织的IT基础架构如何运行方面,会节省大量的时间。本文讲述的是使用Nagios实现网络监控。 一个系统管理员怎样才能够网络监控众多的机器和服务,以便在人们受到危害之前,尽早的发现并解决问题?该问题的答案是Nagios。 Nagios是一个开放源码的网络监控工具。它不仅免费,而且功能强大,并具有极强的可定制性。虽然学习和实施它比较复杂,但它在记录你们组织的IT基础架构如何运行方面,会节省大量的时间。 在这个分成两部分的专栏中,在第一部分,我将重点讨论Nagios的有效性和它的体系结构。而在第二部分,我将提供配置的例子和建议。查看第二部分 为了理解Nagios的有效性,通常要考虑一个典型的IT基础架构由一个或多个系统管理员负责。即使是一个小公司,在他们所使用的计算机系统中,也应该包含有一定数量的,运行着许多服务和软件包的硬件。大公司则有成百上千的同类设施需要维护和运行。因此,不管是小公司,还是大公司,都需要分散式的操作,也就是拥有分散的IT基础架构,这种架构在物理上没有掌握所有机器信息的能力。 自然地,每一件硬件都将运行唯一一套软件产品。这就需要面对众多的硬件和软件需要监控,但管理员并不能注意到每一个特殊的项目;在这种情况下,默认只能采取发生问题后进行解决的方案,也就是基于反应的问题解决方法。而更糟糕的是,此种问题通常来自于终端用户的抱怨,这无疑为使IT部门的工作受到质疑。 除了显而易见的公共关系问题,这种基于反应的问题解决方案效率非常低下。如果及早发现问题,只需几分钟就能够解决,但若是发现的晚了,则将浪费更多的时间。举例来说,若是发现的早,通过日志就可以在磁盘空间用完之前,解决数据库空间不足的问题,并很容易就能够修复,但若是在系统暂定之后再进行修复,由于日记文件已经无法记录,因此将变得非常困难。 因此,一个能够帮助系统管理员进行此类操作的自动化工具就成为必需品。此类工具被分类到网络管理软件的类目中,都具有以下Nagios网络监控主要功能: ①能够记住基础设施中运行的所有服务器和机器; ②在小问题变大之前发出警告; ③从一个中心地点运行,以减少必须到每台物理机器才能解决问题的需求; ④提供一个有关全系统状态,未解决问题等的直观视图。 而这里还有两个阻碍网络管理软件被广泛采用Nagios网络监控的主要原因: (1)它的花费太贵; (2)它需要为一个给定的环境进行有效的配置工作。 Nagios是一个开放源码的网络管理工具,因此它解决了第一个主要问题。当然,即使是Nagios也需要大量的合理配置,不过在这篇文章以下的叙述中,我会提出几个建议,以减少配置的负担。 二、Nagios网络监控系统体系结构 Nagios应用软件运行在一个中心式的服务器上面,此服务器运行Linux或Unix操作系统。每一件硬件都必须由一个运行的Nagios进程监控,此进程与中心服务器通话。根据中心服务器可以阅读的配置文件中的指令, Nagios将“伸出并触摸“远程进程,并象棋发出指令,运行必要的检查。由于软件必须在Linux或Unix上运行,因此远程机器上的每一个硬件都能够被加入通话。 根据来自远程机器的反应,Nagios之后将根据它的配置,采取适当的行动。而根据远程测试执行的需要,Nagios将通过一台本地机器能力(例如,测试一个文件是否存在),或运行一个定制的测试程序(叫做插件),来执行测试,测试更多特殊的项目(例如,检查是否有一组特殊的值被放如数据库)。如果测试返回的值不正确,Nagios将通过一种或多种方法发出警告――同样,方法是根据Nagios的配置来选择的。 使用Nagios实现网络监控 续:Nagios是一个开放源码的网络监控工具,不仅免费,而且功能强大,而且具有极强的可定制性。虽然Nagios监控学习和实施它比较复杂,但它在记录你们组织的IT基础架构如何运行方面,会节省大量的时间。本文讲述的是使用Nagios实现网络监控。 欢迎来到Nagios的世界,这是一个开放源码的网络监控工具。除了免费之外,Nagios还拥有强大的功能和可伸缩性,它能够使用自动化的网络监控为IT管理节省大量的时间。 在这一部分,我将向你展示一个Nagios配置的例子。而在此篇文章的第一部分,我们已经讨论过Nagios的有效性和它的体系结构。查看第一部分 三、Nagios网络监控系统配置 就像我们在第一部分讨论的一样,配置在成功部署Nagios中扮演着重要的角色。Nagios的配置结构在概念上相当直截了当,但需要特别注意一些细节。本质上,需要分层定义主机和服务,还要定义需运行何种检查和在检查失败后要进行的操作。 这里是一个主机配置文件记录的例子: define host{ host_name linux-server alias linux-server address 192.168.1.254 check_command check-host-alive max_check_attempts 5 contact_groups linux-admins notification_interval 30 notification_period 24x7 notification_options d,u,r } 多数记录都是不解自明的。机器有名字(name),地址(address),需要运行的检查(check_command check-host-alive),以及在确定存在问题前,所要运行的最大检查次数。如果存在问题,根据上面的配置,linux-admins组将不分白天与黑客(24x7),在每个小时的第30分,会收到警告信息。因此为了这种方法,机器必须进行自身检查,以取包自己持续运行。 这里还有一个服务器配置文件记录的例子: define service{ host_name linux-server service_description check-disk-sda1 check_command check-disk!/dev/sda1 max_check_attempts 5 normal_check_interval 5 retry_check_interval 3 check_period 24x7 notification_interval 30 notification_period 24x7 notification_options w,c,r contact_groups linux-admins } 同样,多数的记录条目都很容易就能够被理解。此服务器运行于在迁移个例子中定义的主机之上(服务必须有一个条目,指明他们所属于的服务器)。然后是服务的描述以及检查它是否持续正常运行的命令,还有需要运行的最大检查次数等等。 一个明显的问题是,“现在我已经正在网络监控我的所有将建和软件,但我怎样才能够发现或找出发生了什么?”除了在每个配置记录(notification_options条目)中定义的问题警告提醒机制之外,Nagios还提供了大量可重写的CGI脚本来提供网络监控信息;本质上,可以提供一个系统信息的仪表板(dashboard)。这些脚本提供的有整个系统的状态、网络问题、趋势等等。在仪表板信息和警告提醒之间,Nagios允许你采取更加超前的方法来管理你的IT基础设施。
|