安装 nagios + nagios-plugin +nrpe


一、创建nagios组和用户

1、创建用户nagios,并创建/usr/local/nagios作为其目录

Groupadd nagios

Useradd –g nagios –md /usr/local/nagios

2、找出运行Apache的用户

CentOS一般为apache,但有时候可能也会人为更改。

grep  ‘User(空格)’  /etc/httpd/conf/httpd.conf

3、创建一个nagioscmd组,加入apache用户和nagios用户

groupadd nagioscmd

usermod –G nagioscmd [your apache user]

Usermod –G nagios nagios

二、解压缩并安装

1nagios-cn-3.0.3.1.tar.gz

tar xzvf nagios-cn-3.0.3.1.tar.gz

./configure --with-cgiurl=/nagios/cgi-bin --with-htmlurl=/nagios --with-nagios-user=nagios --with-nagios-group=nagios  --with-command-group=nagioscmd

make all

make install

make install-init

make install-config

make install-commandmode

重新编译要用make devclean,而不是make clean

2nagios-plugins-1.4.13.tar.gz

tar xzvf nagios-plugins-1.4.13.tar.gz

./configure --with-nagios-user=nagios--with-nagios-group=nagios --enable-redhat-pthread-workaround

make && make install


3tarxvf nrpe-2.12.tar.gz

tar xzvf nrpe-2.12.tar.gz

./configure --enable-command-args

make all

make install-plugin

make install-daemon

make install-daemon-config

make install-xinetd


三、安装完成

nagios默认的安装路径为:/usr/local/nagios所以不用指在./configure的时候指定—prefix=/user/local/nagios。这正好也与nagios的家目录吻合。


修改apache配置文件/etc/httpd/conf/httpd.conf,也可以在/etc/httpd/conf.d/下创建一个nagios.conf的文件,因为/etc/httpd/conf/httpd.conf文件中有Includeconf.d/*.conf这一行,会自动添加conf.d/目录下的以.conf结尾的文件。添加:

##conf.d/nagios.conf

ScriptAlias /nagios/cgi-bin  /usr/local/nagios/sbin

<Directory"/usr/local/nagios/sbin">

 Options ExecCGI

 AllowOverride None

 Order allow,deny

  Allowfrom all

 AuthName "Nagios Access"

 AuthType Basic

 AuthUserFile /usr/local/nagios/etc/htpasswd.users

 Require valid-user

</Directory>

Alias /nagios  /usr/local/nagios/share

<Directory"/usr/local/nagios/share">

 Options None

 AllowOverride None

 Order allow,deny

 Allow from all

 AuthName "Nagios Access"

 AuthType Basic

 AuthUserFile /usr/local/nagios/etc/htpasswd.users

 Require valid-user

</Directory>

Alias /pub/p_w_picpaths /usr/local/nagios/share/docs/p_w_picpaths

<Directory "/usr/local/nagios/share/docs/p_w_picpaths">

 Options None

 AllowOverride None

 Order allow,deny

 Allow from all

 AuthName "Nagios Access"

 AuthType Basic

 AuthUserFile /usr/local/nagios/etc/htpasswd.users

 Require valid-user

</Directory>

红色字的 htpasswd.users 文件,是通过命令生成的登录nagios管理界面的用户名密码配置文件:

/usr/local/apache2/bin/htpasswd-c  /usr/local/nagios/etc/htpasswd.usersnagios

htpasswd.users在此时生成。给nagios 用户设置密码,并且将信息保存在/usr/local/nagios/etc/htpasswd.users 这个文件内。之后输入2次密码。

你还需要将htpasswd.users文件设置为apache用户所有,并且只能由apache用户读写。如:

chown  apache nagios htpasswd.users

chmod  0600  htpasswd.users

这样就可以使用这个用户名密码登录nagios管理页面了。这里要特别注意权限问题,如果权限没有设置对,你可能永远也登录不进去。如果你对权限不太明白,你可以把这文件夹里所有的文件都改成chown –R nagios:nagios /user/local/nagios然后apache的配置文件httpd.confusergroup都改成nagios

如果想添加更多的用户,把-c去掉,如:

/usr/local/apache2/bin/htpasswd /usr/local/nagios/etc/htpasswd.users  nagios

现在你可以在weburl上输入http://[yourserveripaddress]/nagios然后输入账号nagios和你刚设置的密码就可以登录进去了。这只是第一步~~

四、nagios目录结构

当你进入http://[yourserveripaddress]/nagios后,你会发现nagios貌似没有什么地方体现了他的监控功能。是的,因为你还没有启动nagios。利用/etc/init.d/nagios start启动nagios服务。他原先的配置文件已经可以帮你监控一些本地的服务,所以你不需要怎么配置,不能可以执行一些监控。下面我们来讲讲他的文件夹结构。

etc/

放了主要的配置文件,最重要的是nagios.ctg

bin/

一些nagios自带的二进制命令。如检查nagios状态的nagiostate

share/

网页显示的文件夹,放的是nagiosweb项目

libexec/

主要放置了一些检查服务的脚本,也就是nagios最重要的一个文件夹,里面有大部分服务状态检查的脚本。

var/

日志和服务状态标识的文件。Status.dat是所有被设定执行的check脚本输出所产生的一个文件,这个文件是网页的主要输出文件。nagios.locknagios的进程号,在netstat中是找不到nagios的网络端口的,因为他是为httpd绑定执行,可以ps aux中找到。

ps aux | grep `cat  /usr/local/nagios/var/nagios.lock`|head –n 1

如服务停止,nagios.lock也会消失,所以他是在服务启动的时候生成的。

四、nagios配置文件详解

主配置文件:nagios.cfg

这个文件主要设置日志文件、cache文件、变量文件和其它配置文件路径的设置和引入,以及用户和用户组的设定,特别是一些服务启动的属性都在此设置。具体参数参考附1

1、权限控制文件:cgi.cfg

HTML文件的系统路径:

physical_html_path=/usr/local/nagios/share

URL里的HTML路径

url_html_path=/nagios

(如果通过web来操作nagios,你要通过一个url来操作如:www.xxx.com/nagios 则需要设置 /nagios)应用认证:

use_authentication=1

系统和进程的命令操作权:

authorized_for_system_commands= user

全局主机的命令操作权:

authorized_for_all_host_commands= user

全局服务的命令操作权:

authorized_for_all_serivce_commands= user

经过以上配置之后就可以使用web接口命令来操作nagios了。


2、变量数据文件:sources.cfg:

$USER1$=/usr/local/nagios/libexec,这些变量的设定将会在object/command.cfg里面用到。

3、模板文件:templates.cfg:

这个文件定义了联系人、主机、服务的通用属性。相当于后面所有联系人、主机和服务的父类。主机定义了generic-hostlinux-serverwindows-servergeneric-printergeneric-switch五种,定义主机用define host{……}服务定义了generic-servicelocal-service两种,定义服务用defineservice{……}。在notification_options,w代表warning告警、u代表unknown未知、c代表critical严重、r代表recover恢复、d代表down奔溃。

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


define host{

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

       name                         generic-host    

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

       notifications_enabled                                1          

设定启用主机事件通知

        event_handler_enabled                            1          

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

       flap_detection_enabled                             1          

设定启用状态抖动监测。

       failure_prediction_enabled                      1          

设定启用故障预测

       process_perf_data                                      1          

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

       retain_status_information                       1        

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

       retain_nonstatus_information                1          

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

notification_period                                       all_days      

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

        Register                                                           0        

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

       }


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


define  host{

name    linux-server          

use      generic-host          

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

check_period    all_days                          

max_check_attempts   10                          

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

check_command       check-host-alive    

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

notification_period   workhours

通知时间

notification_interval   15            

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

notification_options   d,u,r        

设定监测指定主机产生的事件通知的条件选项。这里后面跟上一些级别类型参数:w代表warning告警;u代表unknown未知;c代表critical严重;r代表recover恢复;d代表down奔溃。

contact_groups    admins  

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

register   0    

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

}


4、命令文件:command.cfg

这个文件定义了连联方式和服务器监控脚本的一些基本的命令,命令的定义主要以def command{……}的方式,分2行,第一行command_name命令的名字,第二行command_line用来指定命令的运行脚本和参数如:

Command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5

这里的$user1$就是sources.cfg里指定的路径。

5、联系人定义文件:contacts.cfg

def contacts{……}定义联系人块。

define contact{

      contact_name  nagios                                

联系人账号

      use           generic-contact    

引用templates.cfg文件中定义的generic-contact模板块

      alias          Nagios Admin    

别名,没什么作用

      email                          354118549@qq.com  

联系人邮箱地址

      }

如不用use模板选项:

define contact{

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

       contact_name                                                             nagios-admin

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

       Alias                                                                                              NagiosAdmin

通过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                                                                                             354118549@qq.com

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

       }

6、定义时间段:timeperiods.cfg:

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


define timeperiod{

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

       timeperiod_name all_days

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

       alias            24 Hours A Day, 7Days 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-WorkHours

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                                 NoTime Is A Good Time

}

7、定义实体主机及服务文件:localhost.cfg

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


define host{

       use                      linux-server            

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

       host_name                localhost

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

       }

define host{

       use                     windows-server          

       host_name               KCWIN2K3A

       alias                     KaneCruise Windows Server 2003 A

       address                  192.168.0.6

       }

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

define hostgroup{

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

       hostgroup_name   linux_hosts

通过hostgroup_name来指定主机组名。

       alias            Group of LinuxHosts

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

       members         localhost,KCentOS5A

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

       }

define hostgroup{

       hostgroup_name       windows_hosts

        alias                 Group of Windows Hosts

       members            KCXP1,KCWIN2K3A

       }

再接下来就是定义主机上的服务了,一个主机可以有多个服务开启,所以要定义多个define service{}

define service{

      use                             local-service

这是引用的模板块,可以在templates.cfg中找到。

      host_name                      localhost

这个标识着这个服务是在哪个主机上运行的,现在为localhost,这必须是已经定义过的实体主机,如上此localhostip127.0.0.1,要监视的服务在另一台KCentOS5A上,只需host_name  KCentOS5A即可。

      service_description            HTTP

所监控的服务描述,没有实际意义,但也不能词不达意。

      check_command                  check_http

监控这项服务会使用的脚本,在command.cfg里有定义。

      notifications_enabled           1

是否启用通知服务,启用为1,不启用为0

      }

如需要监控多台主机,可以分开文件,以cfg结尾即可,只需在nagios.cfg中用cfg_file=/usr/local/nagios/etc/objects/xxxx.cfg方式引入。

六、自制控制脚本

针对数据库内存出现问题,编写nagios监控脚本如下:

#!/bin/bash

i=`free -m | tail -2 | head -1 | awk'{printf $4}'`

w=`echo "if($i > 2048) print"0" else print "1"" | bc`

c=`echo "if($i < 1536) print"0" else print "1"" | bc`

if [ $w = 0 ];then

      echo "状态OK

      exit 0

elif [ $w != 0 ] && [ $c != 0 ];then

       echo "状态warning"

      exit 1

elif [ $c = 0 ];then

       echo "状态crtical"

      exit 2

fi

这是一个监控空闲内存的脚本,已符合nagios脚本定制标准。Nagios通过脚本的exit,即退出状态来标识服务的状态。STATE_OK=0

STATE_WARNING=1,STATE_CRITICAL=2,STATE_UNKNOWN=3,STATE_DEPENDENT=4

这里分别有 exit 0 exit 1exit 2 这样在执行完返回的时候就会有 0 1 2 的其中一个返回值被nagios识别,从而改变监控中服务的相关状态。而shell中的echo则会成为web服务状态中StatusInformation的值。所以脚本的重点只用一点,就是退出状态。Echo可有可无,但是最好养成写的习惯,可以让人对服务的运行更加了解,比如可以在这里加上一些服务数据。

七、远程监控。

上面说到的实体主机配置文件如果要实现功能,我们还必须在要监控的主机上安装nagios-plugins-xxx.tar.gz,即nagios的插件和nrpe-xxxx.tar.gz,安装方法在第一部分有讲解。同样也要创建用户和组这些,但只需要安装这2个,主机上面是3个都要装。

nrpe服务工作方式:nagios监控系统的一个插件 nrpe 目的是用来检测客户机的状态,并汇总到监控主机上来。

经过测试发现,nrpe 的使用是在客户机上启动服务,该服务将会占用5666端口(默认),而有监控主机主动连接5666端口来执行监控命令,这些监控命令是在nrpe.cfg里经过定义的。也就是说。在监控主机上可以不开启nrpe服务。但是客户机上必须

开启nrpe服务,客户机上的nrpe.cfg文件必须定义其命令。

如果成功安装nrpe,那么在nagios安装目录的libexec下面会有check_nrpe的文件。这是需要在object/command.cfg里定义一个命令:

define command{

command_name  check_nrpe

command_line  $USER1$/check_nrpe  -H $HOSTADDRESS$ -c $ARG1$

}

这样就可以在定义服务的时候使用这个命令了,举个例子:

define service{

host_name                                 remotehost

service_description                 CPULoad

check_command                             check_nrpe!check_load

}

Check_load的命令在etc/nrpe.cfg里面设定,例如,我希望监控一台远程服务器上的cpu负载。在远程主机的插件中有“check_load”,那么,在nrpe.conf中定义一个cpu负载的监控:

command[check_load]=/usr/local/nagios/libexec/check_load-w 15,10,5 -c 30,25,20

这个配置就声明了一个命令:“check_load”,也就是上述中红色字check_load的真身所在了。

这个命令必须在被监控主机上的nrpe.cfg里要有,在本地里也要有,也主是说两边的nrpe.cfg必须要一致有这样的一个命令,但不是说nrpe.cfg要一致,监控主机上的nrpe.cfg的监控脚本命令,是所有被监控主机上的nrpe.cfgcommand的总和。


nagios.cfg配置文件详解


配置Nagios的主配置文件:

一般来说初级使用的话并不需要对主配置文件做多少的更改,但是如果想将Nagios进行专家级的灵活应用的话就必须要对主配置文件非常了解并进行高级复杂的配置了。出于加深对


Nagios的理解,这里我还是尽可能地将一些配置详细说明。(平时根本不可能有这个时间和功夫,国庆真美好= =),对主配置文件的理解有助于对Nagios主系统进行调优操作。

[root@KCentOS5A ~]# vi/etc/nagios/nagios.cfg


第一部分:日志文件


日志文件,用来记录主机活动事件的主要日志文件文件,这应该是配置文件中位于最首的。(这条应该比较重要吧,原文中可是连加了3个感叹号来的)

log_file=/var/log/nagios/nagios.log

设定Nagios的主日志文件路径。


第二部分:对象配置文件模块


对象配置文件。这些配置文件将会分别用来定义主机、主机组、联系人、联系人组、服务、等等。这些更应当被理解为“对象定义”文件较为贴切。可以通过将一些对象通过多个不同

独立的cfg_file语句指明的配置文件分开定义。Nagios将会读取并且处理所有这些配置文件中记载的定义。对于需要将命令定义和其他类似于主机、联系人等定义分开处理记录的话,

将会非常有用。

cfg_file=/etc/nagios/commands.cfg

设定命令定义配置文件路径。

cfg_file=/etc/nagios/localhost.cfg

设定主机和服务监视定义配置文件路径。

以下则是其它类型细分定义的配置文件,也可以将它们全部写在一张配置文件当中。这些默认是加注的,如果要启用的话需要手动解注。而且这些文件默认也是没有的,如果要启用还必须手动建立它们。

#cfg_file=/etc/nagios/contactgroups.cfg

#cfg_file=/etc/nagios/contacts.cfg

#cfg_file=/etc/nagios/dependencies.cfg

#cfg_file=/etc/nagios/escalations.cfg

#cfg_file=/etc/nagios/hostgroups.cfg

#cfg_file=/etc/nagios/hosts.cfg

#cfg_file=/etc/nagios/services.cfg

#cfg_file=/etc/nagios/timeperiods.cfg

#cfg_dir=/etc/nagios/servers

#cfg_dir=/etc/nagios/printers

#cfg_dir=/etc/nagios/switches

#cfg_dir=/etc/nagios/routers

以下是一些扩展的主机/服务信息定义配置文件。


#cfg_file=/etc/nagios/hostextinfo.cfg

#cfg_file=/etc/nagios/serviceextinfo.cfg


第三部分:对象缓存文件


对象缓存文件。这些选项将决定当Nagios启动时或重新启动时,对象定义将被缓存在什么地方。CGI将从这个对象文件中读取对象的定义,而不是在之前的对象配置文件路径中去找。这样做是为了避免修改Nagios配置文件后引起的不一致问题。换句简单的话说就是更改配置文件后要重新运新Nagios新的配置参数才会生效,而当前运行的Nagios只参考缓存中的配置参数而已。


object_cache_file=/var/log/nagios/objects.cache

设定对象缓存文件的路径。


第四部分:状态文件


状态文件。这个文件将保存着目前检测到的服务和主机数据信息。这个文件当中的内容是被CGI读取并处理的,而它也是在每次Nagios重新启动的时候被删除清空的。

status_file=/var/log/nagios/status.dat

设定状态文件的路径。


第五部分:Nagios服务宿主用户


支撑Nagios服务运行的用户。貌似默认安装后没有这个用户,如果没有的话,手动建立一个。

nagios_user=nagios

默认情况下宿主用户就是nagios


第六部分:Nagios服务宿主用户组


支撑Nagios服务运行的用户组。貌似安装后也没,如果没有的话,和用户一起手动建立。

nagios_group=nagios

默认情况下宿主用户组就是nagios


第七部分:外部命令选项


外部命令选项。这个选项允许用户指定是否Nagios应该对外部的命令进行检查。默认下,Nagios将不会检查外部命令,如果需要能够使用CGI命令接口的话,那么就必须要启用这个选项。设定0值表示关闭命令检查(默认),其它值表示启用。

check_external_commands=1

设定是否检测外部命令。默认是不启用的,但是由于需要配合Apache工作,在Web界面下进行Nagiso的控制和管理的话,必须要将此项打开。


第八部分:外部命令检测时间间隔


这个配置选项是用来指定外部命令检测的频率。默认值-1表示Nagios将会尽可能频繁地进行检测。这里的配置的数值如果不加上单位的话,默认单位表示分钟,如1就是表示1分钟,Nagios每分钟检测一次。如果要指定单位是秒的话,那么需要在数值后面跟上s,如15s就表示15秒。

command_check_interval=15s

#command_check_interval=-1

设定外部命令检测时间间隔。默认值是-1Nagios会尽可能频繁地进行检测,这样会造成系统资源换的巨大消耗。这里还是建议将此条注释,而将另外一条备选的15s的项解注,让

Nagios15秒进行一次检测好了。具体值请根据具体情况决定。