赛迪网 > IT技术 网络安全 > 系统&数据库安全
  IT资讯搜索
 
IT产品搜索

学习使用Nagios软件来监视远程主机系统

发布时间:2007.05.28 06:42     来源:赛迪网    作者:茫然的风

【原创文章,赛迪独家发布,如欲转载,请注明出处“赛迪网”和文章作者“茫然的风”!违者,赛迪网将保留追究其法律责任的权利!】

Nagios是一个允许用户监视远程系统可用性的软件。用户可从http://www.nagios.org/下载这个程序,此程序也可由Linux厂商提供。

Nagios这个程序广泛使用配置文件,这些文件主要位于/etc/nagios.中。主要配置文件是/etc/nagios/nagios.cfg,在其它配置选项中,并通过使用cfg_file命令指向了其它配置文件:

cfg_file=/etc/nagios/contacts.cfg
cfg_file=/etc/hosts.cfg
cfg_file=/etc/services.cfg

以上的文件进一步配置并改善了Nagios的工作方式。例如,contacts.cfg可包含:

define contact{
        contact_name                    admin
        alias                           admin
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    c,r
        host_notification_options       d,r
        service_notification_commands   notify-by-email
        host_notification_commands      host-notify-by-email
        email                           admin@mysite.com
        }

这些会定义什么人会接收警告、接收什么警告、在什么时间接收警告。这样你就会看出远程管理在每周七天、每天24小时可用,接受主机的警告信息,还可以接收主机服务的“失效”/“恢复”通知。

hosts.cfg文件包含着对被监视系统的主机定义, 一般来说,这个定义会是如下这个样子:

define host{
        name                            linux-server
        use                             generic-host
        check_period                    24x7
        max_check_attempts              10
        check_command                   check-host-alive
        notification_period             workhours
        notification_interval           120
        notification_options            d,u,r
        contact_groups                  admins
        register                        0
        }
        
define host{
        use                     linux-server
        host_name               surtr
        alias                   surtr.mysite.com
        address                 127.0.0.1
        }

第一个定义是一个模版。其它的定义可以使用这个模版,并在其基础上进步构建,从而防止了无用的信息重复。第二个定义是实际的主机,用主机名、别名和IP地址提供了使用什么样的模版(对Linux 服务器而言)。当然,用户可以定义所期望的主机数量,并可以根据自己的需要定义一定数量模版。

services.cfg文件包含着在监视主机时所使用的服务定义。例如,如下项目代码可以检查POP3服务器是否可用:

define service{
        use                             local-service
        hostgroup_name                  remote
        service_description             POP3 Availability
        check_command                   check_pop
        }

第一个“use”命令指明了一个基于构建的模版。hostgroup_name定义了哪一个主机应该使用这项服务(在其它的文件中定义,如hostgroups.cfg)。而check_command命令指明要使用的脚本或命令(插件):

hostgroups.cfg文件可以包含如下内容:

define hostgroup{
        hostgroup_name  remote
        alias           Remote Servers
        members         hades,titan
        }

此内容可成为对远程主机组的定义,用于前面所列示的POP3检查列表中。 这种情况下,两台主机(hades and titan)被定义为包含在这个组中。你可以拥有任何数量的主机组,其中可有任何数量的主机,而且主机可以是多个主机组的成员。

最后,commands.cfg文件可包含要使用的实际命令或插件:

define command{
        command_name    check_pop
        command_line    $USER1$/check_pop -H $HOSTADDRESS$
        }

这就定义了check_pop命令,使用了以前定义在services.cfg.中的POP3检查服务。此处定义的check_pop程序是一个插件,通常在/usr/libexec/nagios中可用(或者厂商安装插件的任何地方)。这是一个返回状态信息的简单程序:

#/usr/local/nagios/libexec/check_pop hades.mysite.com
POP OK - 0.025 second response time on port 110 [+OK Hello there.]
|time=0.024849s;0.000000;0.000000;0.000000;10.000000

Nagios自身会解释这些响应,用以判断服务是否启动并正在运行。因为输出是相当简单的,你可以使用shell过程、Perl或其它任何语言编写自己的插件。

本文仅仅简单介绍了Nagios的使用。你可以使用Web介面查看Nagios的主机报告和趋向信息,而且有大量不同的可以用于检查主机可用时间和有效性的预存插件。一些服务项目,如LDAP,SSH,FTP等都是十分实用的。Nagios在设置上可能会比较耗时,但是最终的结果却是值得的,特别是如果你管理着几个不同的系统,并想及早发现一些问题的警告信息或潜在的问题的时候,这个软件确实是很实用的。(责任编辑:李磊)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 监视又监听 新型网络监视摄像头TV-IP301W (05-27) · 英国街头预装会说话监视系统引争议 (04-05)
· 用脚本和查询来主动监视Oracle的性能 (01-29) · 用脚本和查询主动监视Oracle 9i性能 (12-11)
· 用 Nagios 监控网络和网络服务器 (09-08) · 专题:用调试函数跟踪API (01-16)
· 用Debug函数实现API函数的跟踪 (01-16) · 跟踪监视方案概览 (01-16)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管