科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>网络频道>ZD评测>Nagios不仅仅是一个网络管理工具

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Nagios是一个运行在Linux或UNIX操作系统之上的,免费的开源网络监控系统,不仅可以监控主机,也可以监控运行在主机之上的各种服务。

来源: 2007年05月24日

关键字:Linux 网络管理

Nagios是一个运行在Linux或UNIX操作系统之上的,免费的开源网络监控系统,不仅可以监控主机,也可以监控运行在主机之上的各种服务。

Nagios,最初被叫做NetSaint,早在1999年的早些时候,就已经以一个务实产品的面貌出现了。自从那时候起,它已经被包括教育,政府,公司,以及其他非盈利组织中成千上万的系统管理员使用过。尽管人们普遍将其看作是一个纯粹的网络管理员工具,但其实Nagios也可以被拓展到终端用户身上,并使他们获益。在本文中,我就将讲述一下,我的公司是如何使用增强的Nagios来让终端用户们获益的。

具体情况

我们中等规模的K-12学校区域有个问题,就是如何通知终端用户们,有些服务中断了,以及某些系统的中断。我们的许多IT服务——比如电话,语音邮件,电子邮件,网页服务,还有远程访问——都需要一周七天,每天24小时可用的。但是,由于人力的缺乏,以及预算的短缺,我们的IT人员并没有足够的资源来提供所需要的支持水平——这一点有时候在公司里也会发生。这里就是我们如何提升自己的能力,来向我们的技术挑战者——用户基地,提供系统状态相关信息的。

解决方案

在研究了一系列的可能性之后,我们决定调整我们现存的监控系统:Nagios。通过使用一些Nagios的高级功能,比如一些简单的脚本,我们就可以提供所需的解决方案,而无需购买任何软件。我们将可以提供一个简单的网页,上面向终端用户提供一种方法,来检查是否有重要的系统上线,或者断线了。这样就可以大大减少我们的IT人员所接听的,毫无必要的技术支持电话的数量。

如何进行

首先,要想使用此方法,我将假设你:

* 已经安装并且打开了Nagios。
* 你对Windows Server,Linux,以及Nagios的了解,能达到一个网络管理员的程度。
* 你公司的“桌面帮助/支持”网站被安装在另一台运行Linux+Apache的服务器上,而不是Nagios所在的服务器上。

步骤一:建立FTP

这里是建立FTP的步骤:

* 在提供“桌面帮助/支持”网站的服务器上建立一个目录,并允许FTP访问它。
* 根据登录或者IP地址,对该目录设定访问权限(仅需要访问Nagios服务器)
* 允许在该目录内进行创建/删除的权限

步骤二:配置Nagios

目的就是让Nagios来发送状态更新的文件到步骤一中所建立的FTP目录之中。要做到这一点,可以通过Nagios外部命令来进行。

1. 在libexec目录中建立目录eventhandlers。例如: /usr/local/nagios/libexec/eventhanlders

2. 创建简单的HTML文件,并放在上述的目录之中。

2.1 建立一个叫做“server1-online.htm”的HTMl文件,并将背景色设为绿色,文本则显示为“ONLINE(在线)”。

2.2 建立一个叫做“server1-offline.htm”的HTMl文件,并将背景色设为红色,文本则显示为“OFFLINE(断线)”。

3. 为FTP文件的更新进程,建立两个事件处理脚本,并将这些脚本放到上述目录之中。

3.1 示例脚本文件hdss_eh:

 #!/bin/sh
 # Primary Event Handler processing file
 # This file calls the actual processing file
 /usr/local/nagios/libexec/eventhandlers/hdss_eh2 $1 $2 $3 $4

3.2 至于示例脚本hdss_eh2,你可以在Nagios的文档网站上找到:http://nagios.sourceforge.net/docs/2_0/eventhandlers.html

4. 将事件处理器脚本赋予要监控的主机

5. 在misccommands.cfg文件中,添加下述各行:

 # 'check_hdss_eh' command definition
 define command{
 command_name      check_hdss_eh
 command_line      /usr/local/nagios/libexec/eventhandlers/hdss_eh $HOSTSTATE$ $STATETYPE$ $HOSTATTEMPT$ $HOSTNAME$
 }

6. 将事件处理器脚本赋予要监控的主机.在hosts.cfg中主机入口添加下述各行:

 event_handler     check_hdss_eh

步骤三:建立帮助桌面网站的状态页

1. 在“帮助桌面/支持”网站中建立一个HTML页面,并做好连接。

2. 在该页面上,使用iframe或者其他方式,在一个小帧之中(或者表格内)显示server1-online.htm文件。

3. 设定该页面(如果使用了iframe,则设定每一个帧)每隔一定时间就更新一次,比如每10秒更新一次。

步骤四:测试并了解逻辑

现在你需要测试/调试整个进程,以查看其是否工作正常。在这么做之前,务必确保下述事项:

* 主机改变状态 (在线变成离线,离线变成在线)
* 主机的配置通知Nagios执行一个外部命令
* 外部命令确定系统是在线或是离线。
* 如果系统在线,则通过FTP发送server1-online.htm文件到帮助桌面网站的目录中。
* 如果系统离线,则通过FTP发送server1-offline.htm文件到帮助桌面网站的目录中。
* 在帮助桌面网站上的该“状态”页面会不断更新,从而显示出系统是在线或者是离线了。

结果

结果就是一个易于访问的状态网页,并且该网页是自动更新的。图A显示了一个“帮助桌面/支持状态”页面的外观示例。
 
Nagios不仅仅是一个网络管理工具

图A 一个示例的“help desk/support status”页面

即使是没什么经验的终端用户,也能够浏览该页面,并查看是否有一些重要的系统可用或者不可用,其精确性可以分钟来计算。你可以做到这些,而无须向终端用户提供任何对Nagios系统的直接访问。并且,既然输出是HTML,所以它可以进行自定义,或者被集成到其他可视化应用中去。这只是一个特定的例子,来展示一下类似Nagios这样的开源工具到底有多么强大,以及它的强大威力是如何在网络管理员手中得到拓展的。

(责任编辑:陈毅东 

推广二维码
邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

重磅专题