-Nagios基本配置的详细攻略

10月6日

伪技术人员的成长历程之38-Nagios基本配置的详细攻略

这篇整个都是用来讲Nagios的localhost.cfg完整的基本功能定义配置,更重要的是要通过配置来理解Nagios的工作方式和原理。绝对详细到掉渣= =  

接上一话,在安装完Nagios主程序以及Nagios-plugins插件程序之后的配置,最重要的是Nagios的功能定义配置了,它真的可以独立一章出来讲,虽然东西较多,但其实并不难。

一.完成Nagios安装完后的基本配置:

1.处理Nagios功能定义配置文件

[root@KCentOS5C ~]# cp /usr/local agios/etc/localhost.cfg-sample /usr/local agios/etc/localhost.cfg

2.配置Nagios功能定义配置文件:

[root@KCentOS5C ~]# vi /usr/local agios/etc/localhost.cfg


###############################################################################

LOCALHOST.CFG - SAMPLE OBJECT CONFIG FILE FOR MONITORING THIS MACHINE

#

Last Modified: 11-27-2006

#

NOTE: This config file is intended to servce as an extremely simple

example of how you can create your object configuration file(s).

#

###############################################################################

第一部分:时间定义段

###############################################################################

###############################################################################

#

TIME PERIODS

#

###############################################################################

###############################################################################

This defines a timeperiod where all times are valid for checks,

notifications, etc. The classic “24x7” support nightmare. :-)

在时间定义段里,可以自己定义好几个指定的时间段并给与命名。Nagios应该在什么时间内做什么工作,对于Nagios自己来说并不是直接引用时间参数,而是引用用户自己定义的时间段的命名,Nagios只会参考和引用用户定义过的时间段名。

define timeperiod{

使用define定义关键字timepriod表示该定义段内定义的是时间段。段内的定义请使用两个大括号来包括。段内的定义项一行一项,时间格式请按照以下。另外,如果要定义多个时间段的话,那么必须要写多个define timeperiod {} 段。

timeperiod_name all_days

通过timeperiod_name来指定时间段名。这里我定义了一个时间段名为all_days“全天”,然后时间设定从周一到周日全天24小时。

alias 24 Hours A Day, 7 Days A Week

通过alias来指定时间段的说明信息。

sunday 00:00-24:00

monday 00:00-24:00

tuesday 00:00-24:00

wednesday 00:00-24:00

thursday 00:00-24:00

friday 00:00-24:00

saturday 00:00-24:00

以上为时间格式。前面是星期名,后面是24小时制的时间格式。

}

‘workhours’ timeperiod definition

这个是Nagios默认定义的一个时间段,名字叫做workhours“工作时段”,定义的时间也是周一到周五的早上9点到晚上的17点。多样化的时间段可以丰富Nagios功能配置的灵活性。当Nagios在进行只在工作时间才有必要进行的操作而休息时间没有这种必要的时候,就可以使用该时间段进行配置参与。

define timeperiod{

timeperiod_name workhours

alias “Normal” Working Hours

monday 09:00-17:00

tuesday 09:00-17:00

wednesday 09:00-17:00

thursday 09:00-17:00

friday 09:00-17:00

}

‘nonworkhours’ timeperiod definition

这个也是Nagios默认定义的一个时间段,名字叫做nonworkhours“非工作时段”,定义的时间为周一到周五的晚上17到早上9点以及双休日全天。当Nagios在进行只有在休息时间才进行的操作而在工作时间内不进行的情况下,就可以使用该时间段进行配置参与。

define timeperiod{

timeperiod_name nonworkhours

alias Non-Work Hours

sunday 00:00-24:00

monday 00:00-09:00,17:00-24:00

tuesday 00:00-09:00,17:00-24:00

wednesday 00:00-09:00,17:00-24:00

thursday 00:00-09:00,17:00-24:00

friday 00:00-09:00,17:00-24:00

saturday 00:00-24:00

}

‘none’ timeperiod definition

这个是Nagios默认的最后一个时间段,名字叫做none“无时间”,也没有定义的时间段。还不是很清楚这个时间段会用在什么情况呢,也许一些永远都不希望Nagios执行的操作会用此时间段参与配置吧?哈。

define timeperiod{

timeperiod_name none

alias No Time Is A Good Time

}

第二部分:命令定义段

###############################################################################

###############################################################################

#

COMMANDS

#

###############################################################################

###############################################################################

NOTE: Sample command definitions can now be found in the sample commands.cfg

file

这些命令定义被独立归在了commands.cfg文件中了,这里先不多讲了,放到后面。

第三部分:联系人定义段

###############################################################################

###############################################################################

#

CONTACTS

#

###############################################################################

###############################################################################

In this simple config file, a single contact will receive all alerts.

This assumes that you have an account (or email alias) called

“nagios-admin” on the local host.

在Nagios的诸多工作中都会涉及到联系人。当发生监测超出阀值,或者产程告警等情况时,Nagios都会以Email甚至更多方式来告知指定的联系人。联系人应该是系统当中存在的用户或者是Email的别名用户,以便于接收到重要的消息通知。

define contact{

使用define定义关键字contact表示该定义段内定义的是联系人段。段内的定义请使用两个大括号来包括。段内的定义项一行一项。另外,如果要定义多个联系人段的话,那么必须要写多个define contact {} 段。

contact_name nagios-admin

通过contact_name来指定联系人名,这个名应该是系统内用户名或者是Email用户别名(推荐后者)。同时,这个联系人名也将会是Nagios认可的注册联系人名。(这里我偷懒,在系统中直接useradd添加了nagios-admin这个用户)

alias Nagios Admin

通过alias来指定该联系人的说明信息。

service_notification_period all_days

设定服务事件通知时间段,后面指定时间段名。请注意,这里后面跟的参数为定义过的timeperiods的时间段名。

host_notification_period all_days

设定主机事件通知时间段,后面指定时间段名。请注意,这里后面跟的参数为定义过的timeperiods的时间段名。

service_notification_options w,u,c,r

设定触发服务事件通知的选项,这里后面跟上一些级别类型参数:

w代表warning告警;

u代表unknown未知;

c代表critical严重;

r代表recover恢复;

d代表down奔溃。

host_notification_options d,r

设定触发主机事件通知的选项,后面也跟上级别类型参数。

service_notification_commands notify-by-email

设定服务事件通知的命令,该命令的具体内容在command.cfg里定义。

host_notification_commands host-notify-by-email

设定主机时间通知的命令,该命令的具体内容在command.cfg里定义。

email

[email=nagios-admin@localhost]nagios-admin@localhost[/email]

设定通知邮件的联系人的Email地址。

}

第四部分:联系人组定义段

###############################################################################

###############################################################################

#

CONTACT GROUPS

#

###############################################################################

###############################################################################

We only have one contact in this simple configuration file, so there is

no need to create more than one contact group.

联系人组就是将若干联系人聚合起来的组。

define contactgroup{

使用define定义关键字contactgroup表示该定义段内定义的是联系人组段。段内的定义请使用两个大括号来包括。段内的定义项一行一项。另外,如果要定义多个联系人组段的话,那么必须要写多个define contactgroup {} 段。

contactgroup_name admins

通过contactgroup_name来指定联系人组名。

alias Nagios Administrators

通过alias来指定该联系人组名的简要信息。

members nagios-admin

通过members来指定组成员,组成员必须是contect里定义过的联系人。

}

第五部分:主机定义段

###############################################################################

###############################################################################

#

HOSTS

#

###############################################################################

###############################################################################

主机定义段定义了Nagios监测的主机对象,Nagios只监测的在主机定义段里定义过的主机名。主机定义段里面有个一个十分有趣的地方,就是他能够定义主机类,在主机类当中定义一些公共属性,然后定义个别主机的时候并不需要把每个属性都一一定义出来,而只需要引用和继承之前的主机类,就能够继承主机类当中的公共属性,有趣的是类还能继承类。事先多定义几个不同的类,在大规模部署监测主机的时候效率将特别高。

Generic host definition template - This is NOT a real host, just a template!

默认Nagios就定义了通用主机的大类generic-host。在这个类中定义了无论什么系统和条件的所有主机都会共有的一些属性。

define host{

使用define定义关键字host表示该定义段内定义的是主机段,也可以是主机类。段内的定义请使用两个大括号来包括。段内的定义项一行一项。另外,如果要定义多个主机段的话,那么必须要写多个define host {} 段。

name generic-host ; The name of this host template

通过name来指定主机类名,这里的generic-host就是一个主机类名。

notifications_enabled 1 ; Host notifications are enabled

设定启用主机事件通知

event_handler_enabled 1 ; Host event handler is enabled

设定启用主机事件处理程序

flap_detection_enabled 1 ; Flap detection is enabled

设定启用状态抖动监测。

failure_prediction_enabled 1 ; Failure prediction is enabled

设定启用故障预测

process_perf_data 1 ; Process performance data

设定启用进程性能数据记录

retain_status_information 1 ; Retain status information across program restarts

设定启用状态信息保存功能。当Nagios重新启动的时候不会是空数据,而是先显示上次离线时最后保留的状态数据。

retain_nonstatus_information 1 ; Retain non-status information across program restarts

设定启用非状态信息保存功能。当Nagios重新启动的时候不会是空数据,而是先显示上次离线时最后保留的非状态数据。

notification_period all_days ; Send host notifications at any time

设定事件通知的工作时间段。后面要跟上定义过的时间段名,这里用全天时间段。

register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!

设定非注册。此项register为0值的时候Nagios会理解到该定义段是主机类而为实体主机的定义段。因此,在自定义主机类段的时候,记得也要加入这一个属性,用来向Nagios表明该段为主机类段。

}

Linux host definition template - This is NOT a real host, just a template!

以下再建立一个Linux主机类段linux-server。这个类同时也继承了之前的通用主机类generic-host类,也就是说类也可以继承类。这样的关系和设定将使得主机设定进一步灵活。

define host{

name linux-server ; The name of this host template

use generic-host ; This template inherits other values from the generic-host template

通过use来指定要继承的主机类名。类也可以继承类。

check_period all_days ; By default, Linux hosts are checked round the clock

max_check_attempts 10 ; Check each Linux host 10 times (max)

设定监测失败后的最大尝试次数。

check_command check-host-alive ; Default command to check Linux hosts

设定监测主机存活的命令。

notification_period workhours ; Linux admins hate to be woken up, so we only notify during the day

; Note that the notification_period variable is being overridden from

; the value that is inherited from the generic-host template!

notification_interval 15 ; Resend notification every 15 seconds.

设定监测主机的时间间隔,单位为秒

notification_options d,u,r ; Only send notifications for specific host states

设定监测指定主机产生的事件通知的条件选项。这里后面跟上一些级别类型参数:

w代表warning告警;

u代表unknown未知;

c代表critical严重;

r代表recover恢复;

d代表down奔溃。

contact_groups admins ; Notifications get sent to the admins by default

指定联系人组,这里的联系人组名必须是定义过的。

register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!

设定register表明本段定义的是一个主机类,而不是实体主机。

}

Windows host definition template - This is NOT a real host, just a template!

这个是我自己添加的Windows的主机类windows-server,当然,它也是继承了generic-host这个大类,但其中的参数都没有怎么变动过。

define host{

name windows-server

use generic-host

check_period all_days

max_check_attempts 10

check_command check-host-alive

notification_period workhours

notification_interval 15

notification_options d,u,r

contact_groups admins

register 0

}

Since this is a simple configuration file, we only monitor one host - the

local host (this machine).

以下为实体主机的定义了。首先必须要有localhost本地主机的定义段,否则很多基本功能都会有问题。

define host{

use linux-server

通过use来继承linux-server这个之前专为Linux主机定义的类。

host_name localhost

通过host_name来指定主机名,这里是localhost。另外必须要知道的是,这里定义的主机名,和真正监测对象的主机的主机名并不一定要完全对的上,这里定义的主机名只是一个在Naigos系统中注册的、定义的、Nagios能够识别的主机标示而已。

alias localhost

通过alias写上一些对该主机的描述。

address 127.0.0.1

通过address来指定该主机的IP地址。Nagios对监测对象的主要根据是这个IP地址。

}

接下来则是我自己定义的一些主机:

define host{

use linux-server

host_name KCentOS5A

alias Kane Cruise CentOS 5 Server A

address 192.168.1.10

}

define host{

use windows-server

host_name KCWIN2K3A

alias Kane Cruise Windows Server 2003 A

address 192.168.1.14

}

define host{

use windows-server

host_name KCXP1

alias Kane Cruise Windows XP Professional 1

address 192.168.1.9

}

第六部分:主机组定义段

###############################################################################

###############################################################################

#

HOST GROUPS

#

###############################################################################

###############################################################################

We only have one host in our simple config file, so there is no need to

create more than one hostgroup.

简而言之就是将定义的主机归类成主机组。

define hostgroup{

使用define定义关键字hostgroup表示该定义段内定义的是主机组段。段内的定义请使用两个大括号来包括。段内的定义项一行一项。另外,如果要定义多个主机组段的话,那么必须要写多个define hostgroup {} 段。

hostgroup_name linux_hosts

通过hostgroup_name来指定主机组名。

alias Group of Linux Hosts

通过alias来进行对该主机段的描述。

members localhost,KCentOS5A

通过members来指定该主机组的成员,注意这里的主机成员必须要是在host里定义过的主机。

}

define hostgroup{

hostgroup_name windows_hosts

alias Group of Windows Hosts

members KCXP1,KCWIN2K3A

}

第七部分:定义服务段

###############################################################################

###############################################################################

#

SERVICES

#

###############################################################################

###############################################################################

这里的服务并不是指被监测主机上运行的服务,而是指Nagios所进行的“各种不同功能的监测”工作,一个监测工作就是一个服务。服务定义段就是要定义Nagios将进行什么样的监测工作的配置段。而且服务当中也能够定义服务的类,并且类也能继承类,运用比较灵活。

全部的服务大致可以分为3大种:第一种是“本地系统监测服务”,就是监测主机Nagios所在主机对自己本地的一些情况的监测,比如本地磁盘占用情况,本地CPU使用情况等等。第二种是“远程系统监测服务”,就是远程主机系统的内部情况,比如被监测主机的磁盘占用情况,远程主机的CPU使用情况等等,但是要实现远程系统监测服务,还必须要再安装NRPE核心代理的C/S扩展插件程序(这个以后讲)。第三种服务是“连通检测服务”,就是Nagios主机到被监测的远程主机当中的一些连通性的监测,比如Ping操作,指定端口的TCP/UDP监控,这些服务不需要NRPE也能够实现。

Generic service definition template - This is NOT a real service, just a template!

默认Nagios已经定义了一个通用服务大类generic-service,这个类当中定义的属性是无论什么服务都必须的属性。

define service{

使用define定义关键字service表示该定义段内定义的是服务段,也可以是服务类。段内的定义请使用两个大括号来包括。段内的定义项一行一项。另外,如果要定义多个服务段的话,那么必须要写多个define service {} 段。

name generic-service ; The ‘name’ of this service template

通过name来指定服务类名,这里的generice-service是一个类名。

active_checks_enabled 1 ; Active service checks are enabled

设定启用活动监测服务。

passive_checks_enabled 1 ; Passive service checks are enabled/accepted

设定启用被动监测服务。

parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)

设定启用并发活动监测服务。

obsess_over_service 1 ; We should obsess over this service (if necessary)

设定启用服务防停滞。

check_freshness 0 ; Default is to NOT check service ‘freshness’

设定关闭更新监测。

notifications_enabled 1 ; Service notifications are enabled

设定启用事件通知。

event_handler_enabled 1 ; Service event handler is enabled

设定启用事件处理程序。

flap_detection_enabled 1 ; Flap detection is enabled

设定启用状态抖动监测。

failure_prediction_enabled 1 ; Failure prediction is enabled

设定启用故障预测。

process_perf_data 1 ; Process performance data

设定启用进程性能数据记录。

retain_status_information 1 ; Retain status information across program restarts

设定启用状态信息保存功能。当Nagios重新启动的时候不会是空数据,而是先显示上次离线时最后保留的状态数据。

retain_nonstatus_information 1 ; Retain non-status information across program restarts

设定启用非状态信息保存功能。当Nagios重新启动的时候不会是空数据,而是先显示上次离线时最后保留的非状态数据。

is_volatile 0 ; The service is not volatile

设定服务非易失。

register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!

设定非注册。此项register为0值的时候Nagios会理解到该定义段是主机类而为实体主机的定义段。因此,在自定义主机类段的时候,记得也要加入这一个属性,用来向Nagios表明该段为主机类段。

}

Local service definition template - This is NOT a real service, just a template!

这里Nagios还默认定义了一个针对“本地系统监测服务”的类。

define service{

name local-service ; The name of this service template

use generic-service ; Inherit default values from the generic-service definition

通过use来继承generic-service这个类。类也是能够继承类的。

check_period all_days ; The service can be checked at any time of the day

max_check_attempts 2 ; Re-check the service up to 4 times in order to determine its final (hard) state

设定监测失败后最尝试次数。

normal_check_interval 5 ; Check the service every 5 minutes under normal conditions

设定正常监测服务的间隔,单位秒。

retry_check_interval 1 ; Re-check the service every minute until a hard state can be determined

设定监测失败后尝试的间隔,单位秒。

contact_groups admins ; Notifications get sent out to everyone in the ‘admins’ group

设定联系组。

notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery events

设定监测指定服务产生的事件通知的条件选项。这里后面跟上一些级别类型参数:

w代表warning告警;

u代表unknown未知;

c代表critical严重;

r代表recover恢复;

d代表down奔溃。

notification_interval 15 ; Re-notify about service problems every hour

设定服务通知的间隔。

notification_period all_days ; Notifications can be sent out at any time

设定服务通知运行时间。

register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!

设定register表明本段定义的是一个服务类,而不是具体的服务。

}

Remote service definition template - This is NOT a real service, just a template!

我这里定义了一个针对“远程系统监测服务”的类,虽然现在没有加上NRPE,所以暂时远程系统的检测目前还无法实现,但是这个服务类却应该先规划出来。

define service{

name remote-service ; The name of this service template

use generic-service ; Inherit default values from the generic-service definition

check_period all_days ; The service can be checked at any time of the day

max_check_attempts 2 ; Re-check the service up to 4 times in order to determine its final (hard) state

normal_check_interval 5 ; Check the service every 5 minutes under normal conditions

retry_check_interval 1 ; Re-check the service every minute until a hard state can be determined

contact_groups admins ; Notifications get sent out to everyone in the ‘admins’ group

notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery events

notification_interval 20 ; Re-notify about service problems every hour

notification_period all_days ; Notifications can be sent out at any time

register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!

}

Connection service definition template - This is NOT a real service, just a template!

我再定义了一个针对“远程系统监测服务”的类。

define service{

name connection-service ; The name of this service template

use generic-service ; Inherit default values from the generic-service definition

check_period all_days ; The service can be checked at any time of the day

max_check_attempts 2 ; Re-check the service up to 4 times in order to determine its final (hard) state

normal_check_interval 5 ; Check the service every 5 minutes under normal conditions

retry_check_interval 1 ; Re-check the service every minute until a hard state can be determined

contact_groups admins ; Notifications get sent out to everyone in the ‘admins’ group

notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery events

notification_interval 20 ; Re-notify about service problems every hour

notification_period all_days ; Notifications can be sent out at any time

register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!

}

以下为具体服务的定义部分了:

定义服务的本质是选择为一个服务指定使用在command.cfg中定义的命令,并且还要给与参数,参数和参数之间通过感叹号“!”来分隔,参数当中的子参数之间通过逗号“,”来分隔。。而command.cfg里定义的命令其实就是调用Nagios主路径/usr/local agios/下libexec/目录中的插件程序。至于他们之间的对应关系我将放到后面独立一篇详细展开。

Define a service to “ping” the local and remote machine

首先定义一个Ping本地主机以及远程主机的服务,这个服务是属于“连通类检测服务”。

define service{

use connection-service ; Name of service template to use

host_name localhost,KCentOS5A,KCWIN2K3A,KCXP1

通过host_name来指定该服务监测的主机,后面跟的必须是在host中定义过的主机名。

service_description PING

通过service_descripion来对该服务进行简要描述。

check_command check_ping!100.0,20%!500.0,60%

通过check_command来指定该服务使用到在command.cfg定义的那个命令,并且后面要给与这个命令的参数,参数和参数之间通过感叹号“!”来分隔,参数当中的子参数之间通过逗号“,”来分隔。

}

接下来要定义一些“本地系统监测服务”

Define a service to check the disk space of the root partition

on the local machine. Warning if

define service{

use local-service ; Name of service template to use

host_name localhost

service_description Root Partition

check_command check_local_disk!20%!10%!/

}

Define a service to check the number of currently logged in

users on the local machine. Warning if > 20 users, critical

if > 50 users.

定义一个服务来监测Nagios本地系统的当前系统登录用户数量,当登录用户数量>20的时候产生提醒,当登录用户数量>50的时候产生告警。

define service{

use local-service ; Name of service template to use

host_name localhost

service_description Current Users

check_command check_local_users!20!50

}

Define a service to check the number of currently running procs

on the local machine. Warning if > 250 processes, critical if

> 400 users.

定义一个服务来监测Nagios本地系统当前运行的进程数量,当进程数>250的时候产生提醒,当进程数>400的时候产生告警。

define service{

use local-service ; Name of service template to use

host_name localhost

service_description Total Processes

check_command check_local_procs!250!400!RSZDT

}

Define a service to check the load on the local machine.

定义一个服务来监测Nagios本地系统当前的系统负载状况。

define service{

use local-service ; Name of service template to use

host_name localhost

service_description Current Load

check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0

}


二.测试启动:

1.检查无误后启动Nagios

[root@KCentOS5C ~]# service nagios start

Starting nagios: done.

2.检查Nagios的进程

[root@KCentOS5C ~]# ps aux grep nagios

nagios 9617 0.1 0.3 22888 892 ? Ssl 21:30 0:00 /usr/local agios/bin agios -d /usr/local agios/etc agios.cfg

root 9622 0.0 0.2 3880 660 pts/1 R+ 21:30 0:00 grep nagios


3.检查Nagios的日志

[root@KCentOS5C ~]# cat /usr/local agios/var agios.log


[1191591001] Nagios 2.9 starting… (PID=9616)

[1191591001] LOG VERSION: 2.0

[1191591001] Finished daemonizing… (New PID=9617)


4.通过浏览器访问Nagios的情况

首先会弹出一个对话框,请你输入访问Nagios的用户名和密码,这里我输入之前注册的kanecruise用户,口令为123456。

接着就会弹出Nagios的主界面,这里文本我没有办法表现图,但是我稍微把一些监测结果复制粘贴上来好了。


Host

Service Status Last Check Duration Attempt Status Information

KCWIN2K3A

PING

CRITICAL 10-05-2007 21:32:31 0d 2h 39m 24s 1/2 CRITICAL - Host Unreachable (192.168.1.14)

KCXP1

PING

OK 10-05-2007 21:28:44 0d 1h 56m 16s 1/2 PING OK - Packet loss = 0%, RTA = 1.19 ms

KCentOS5A

PING

CRITICAL 10-05-2007 21:33:08 0d 2h 38m 47s 1/2 CRITICAL - Host Unreachable (192.168.1.10)

localhost

Current Load

OK 10-05-2007 21:29:21 0d 1h 55m 39s 1/2 OK - load average: 0.08, 0.02, 0.00

Current Users

OK 10-05-2007 21:33:46 0d 1h 57m 31s 1/2 USERS OK - 2 users currently logged in

PING

OK 10-05-2007 21:24:59 0d 1h 55m 1s 1/2 PING OK - Packet loss = 0%, RTA = 0.06 ms

Root Partition

OK 10-05-2007 21:28:06 0d 1h 56m 54s 1/2 DISK OK - free space: / 4872 MB (75% inode=96%):

Total Processes

OK 10-05-2007 21:25:36 0d 1h 54m 24s 1/2 PROCS OK: 20 processes with STATE = RSZDT


到这里,已经比较详细交代了Nagios的功能定义配置了。但是这样的程度还是只是一个基础,接下去主要讲服务的定义,在localhost.cfg当中定义的服务与command.cfg当中定义的命令,以及/usr/local agios/libexec/下的插件程序有什么样的关系呢?又是对Nagios理解的非常重要的一章,已经3点35分了,今天先睡啦