随着计算机网络的普及,网络管理已成为信息时代中最重要的问题之一。在现有的技术条件下,人们希望有一个更加稳定可靠的网络环境。计算机网络管理系统就是应这样的需求而产生的。它对网络上的各种设备进行管理,通过监视和控制这些设备,及时地向管理人员报告网络状态,并且简化网络故障的处理,减少故障造成的损失,提高网络的服务质量和效率。面对企业大大小小的服务器,单凭某个网管工具或某个人,已经不能胜任如此大的工作量同时也无法满足业务紧迫性的要求。各类企业之间以及企业内部的服务也越来越普遍,对于企业管理员的任务也是随之更加繁重。即使是一个小公司,在他们所使用的计算机系统中,也应该包含有不少数量的,运行着许多服务和软件包的硬件。大公司则更有成百上千的同类设施需要管理和运行。在管理员不可能及时去注意每一个服务和软件的情况下,为了对这些众多的服务和软件进行有效的管理。
一般来说,是采取发生问题后进行解决的方法,即基于反应的解决方案。但是这种解决方案通常的效率都是非常低的,如果反应及时,只需少数的几分钟就可以解决问题,但如果发现问题晚了,就会浪费时间带来更多损失。比如,察看及时地话,通过日志就可以发现某个服务是否运行异常,然后解决掉,但如果是在此服务异常运行已经很严重时,要恢复它,不仅困难还会带来不小的损失。因此,一个完成此类检测功能的自动化工具对于网络管理员就显得非常重要。Nagios 是一个运行于 Linux 系统上的开源网络管理监测系统。它强大的功能可以实现对网络上的服务器进行全面的监控,包括服务(apache、mysql、ntp、ftp、disk、qmail 和 http 等等)的状态,服务器的状态。
2.Nagios 系统
2.1 Nagios 系统介绍
Nagios是一个用来监视系统和网络的开源应用软件,它通常运行于一个主服务器上,这个服务器运行 Liunx 或 Unix 操作系统。Nagios 利用其众多的插件实现对本机和远端服务的监控,当被监控对象出现异常,Nagios 就会及时给管理人员告警。它是一个基于 TCP/IP协议的软件包,包含有nagios主程序和它的各个插件,配置非常灵活,可以监视的项目很多,也可以通过自定义 shell 脚本进行监控服务,非常适合各类企业的网络应用。
2.2 Nagios 系统的主要特点
Nagios 系统的特点主要有下面几点:
1.监控主机资源和网络服务
2.允许用户通过设计实现简单的插件来监控自己特定的服务
3.当被监控对象出现问题时,会及时通知管理人员
4.事先定义事件处理程序,当对象出现问题时自动调用对应的处理程序
5.通过 web 页面来监视对象状态,警告提示和日志文件。
如下图 1 为 Nagios 的结构图:
访问界面图2
3. 运用 Nagios 实现对网络上服务器的监控
3.1实现原理
处于网络中的各种服务器需要管理和维护,管理员不可能及时对每一台的状态都进行监控,这时候当然需要借助软件的功能来实现了。Nagios的功能是监控服务和主机,但是他
自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。启动 Nagios后,它会周期性的自动调用插件去检测服务器状态,同时 Nagios 会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过 web 显示出来。Nagios 提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在nagios 主目录下的/libexec 里放有 nagios 自带的可以使用的所有插件,如,check_disk 是检查磁盘空间的插件,check_load是检查CPU负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能。Nagios 可以识别 4 种状态返回信息,即 0(OK)表示状态正常、1(WARNING)表示出现一定的异常、2(CRITICAL)表示出现非常眼中的错误、3(UNKNOWN)表示被监控的对象已经停止了。Nagios 根据插件返回来的值,来判断监控对象的状态,并通过 web 显示出来,以供管理员及时发现故障。