http://hi.baidu.com/dongjunjia/item/a207461052bb0222f6625c87

http://ldtrain.blog.163.com/blog/static/799861752009826231870/

1)设置Nagios的登录权限;
先检查一下安装时应该做的这一步:
#>vi /etc/apache2/default-server.conf
在52行左右加入:
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin

AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all

Alias /nagios /usr/local/nagios/share

Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all

注意有两行内容:
AllowOverride AuthConfig

2)加入口令检查选项,有两处:
#>vi /usr/local/nagios/share/.htaccess
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
require valid-user

#>chmod nagios.nagios /usr/local/nagios/share/.htaccess

#>cp /usr/local/nagios/share/.htaccess /usr/local/nagios/sbin/

3)设置授权用户
在apache2中加入nagiosadmin用户并创建口令文件
#>htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
此时会提示口令,可输入888888
再加两个用户nagiosuser和viewer
#>htpasswd /usr/local/nagios/etc/htpasswd.users nagiosuser
#>htpasswd /usr/local/nagios/etc/htpasswd.users viewer

4)检查确认nagios.cfg文件中的登录权限设置,是这个参数:
use_authentication=1

5)配置文件分布检查:
主配置文件nagios.cfg,设置nagios的基本数据,基本不要改动它;
对象简易配置文件minimal.cfg,设置基本对象数据,按后面的说明设置它;
权限配置文件cgi.cfg,设置浏览权限,按说明使用,基本不要改动;

其实配置主要是对下面配置文件参数的说明理解,但我不建议你仔细读它,只是在用得着的时候查吧。
对了,这个翻译我也没有校对过,如果看到错误...自己明白就行了。 :)

日志文件
格式: log_file=
例子: log_file=/usr/local/nagios/var/nagios.log
这变量指定一个地方Nagios应该创造它的主要部分日志文件。这应该是第一变量。那你定义在你的配置文件里,同样地Nagios将设法书写错误那它查找在其余者的你的配置数据到这文件。 如果你有被激活的依次的日志,这文件将每小时,每天,每星期,或每月依次的自动地是写入。

目标配置文件
格式: cfg_file=
例子:cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg
cfg_file=/usr/local/nagios/etc/commands.cfg
这指示是使用到规定目标配置文件包含目标定义那Nagios应该使用为了监控。 目标配置文件包含定义为了主机,主机组,联系,联系组,服务,命令,等等。 你能分离配置信息
到几个文件和规定多样的cfg_file= 声明到有他们过程的各自的。

目标配置目录
格式: cfg_dir=
例子:cfg_dir=/usr/local/nagios/etc/commands
cfg_dir=/usr/local/nagios/etc/services
cfg_dir=/usr/local/nagios/etc/hosts
这个命令是使用到指定目录哪个包含目标配置文件那Nagios应该使用为了监控。 所有的文件在目录下都有个。cfg扩展名就像目标配置文件。 另外,Nagios将递归的过程全部的配置文件在你指定的这里目录下的子目录。 你能分类你的配置文件到不同的目录和指定多样的cfg_dir= 声明到有全部的配置文件在各自的目录过程。

目标缓冲文件
格式: object_cache_file=
例子: object_cache_file_file=/usr/local/nagios/var/objects。cache
这命令是使用到指定一个文件在缓冲区的目标文件应该复制存储。这个缓冲文件是(re)创造的每次Nagios是(re)开始并且是使用在CGIs。 它是有意的到加速配置文件缓冲在CGIs并且允许你去编辑来源目标配置文件当Nagios是运行没有影响的输出陈列在CGIs。

资源文件
格式: resource_file=
例子: resource_file=/usr/local/nagios/etc/resource。cfg
这是使用到指定一个可选择的资源文件包含$USERn$ 宏定义。$USERn$ 宏是有用的为了贮藏用户名称,口令,和一条普通使用的命令定义(比如目录路径)。 CGIs将不尝试到读取资源文件,因而你能设置限制的许可(600或660) 在他们到保护敏感的信息,你能包括多样的资源文件在加多样的资源文件陈述到主配置文件- Nagios将处理全部的文件。 看例子resource。cfg文件在的底部Nagios目录为了如何的例子到定义$USERn$ 宏。

临时文件
格式: temp_file=
例子: temp_file=/usr/local/nagios/var/nagios。tmp
这是暂时的文件那Nagios周期性地创造到使用就在那个时候更新注释数据,状态数据,等等。 文件是删除就在那个时候它是不再需要。

状态文件
格式: status_file=
例子: status_file=/usr/local/nagios/var/status。dat
Nagios使用这是文件到存储当前的状态下的全部的监控服务的,所有被你监控服务的主机的状态也是被记录在这个文件下。 这个文件是使用 CGIs 因此当前监控的状态能够通过WEB页面的方式传送。 CGIs必须读取这个文件依次完全运行,每次当这个开始时Nagios停止和休息就在那个时候这个文件被删除。

聚合状态更新选项
格式: aggregate_status_updates=<0/1>
例子: aggregate_status_updates=1
这选项决定Nagios是否将聚合更新主机的,服务,和安排状态数据。如果你不使能够这选项,状态数据是更新每次一个主机或服务终止发生。 这能导致CPU载入负荷并且文件I/O如果监控许多的服务。 如果你只想要Nagios更新状态数据(在状态文件) 每次很少的秒(同样地坚决的在status_update_interval选项),能够这个选项。 如果你想要直接的更新,不使用它。 我将非常的推荐使用聚合更新(在短的间隔) 除非你有好理由不使用。
价值是依下列各项:
0 = 不使用聚合更新
1 = 激活的聚合更新(默认)

聚合状态更新间隔
格式: status_update_interval=<秒>
例子: status_update_interval=15
这设置确定如何时常(在秒) 那Nagios将更新状态数据在状态文件。最小的更新间隔是五秒。 如果你有不使用的合计状态更新(有aggregate_status_updates选项),这选项没有结果。

Nagios使用者
格式: nagios_user=<用户名称/UID>
例子: nagios_user=nagios
该值是设置Nagios作为运行的有效的组。 之后最初的程序启动和在监控任何事之前,Nagios将下降它的有效的特权和运行同样地这个使用者。你可能指定任一用户名称或UID。

Nagios组
格式: nagios_group=
例子: nagios_group=nagios
这是使用到设置有效的组那Nagios程序应该运行同样地。最初的程序启动之后和在监控任何事之前,Nagios将降低它的有效的特权和运行同样地这组。你可能规定任一组名或GID。

通知选项
格式: enable_notifications=<0/1>
例子: enable_notifications=1
这个选项决定了Nagios开始启动的时候是否要执行请求和有规则的预定主机检查。如果这个选项是不可执行的,Nagios将不执行任何一个主机的检查,尽管它能保持接受主机被动的检查除非你使他们不可执行,这个选项通常被用到在设置监控服务器的时候,记录在冗余文件里或者在安装一个分布式的监控环境里。注意:如果你保持状态是激活的,Nagios将忽视这个设置,就在它开始启动的时候和最后的知道的设置选项的时候(同样地存储在保持状态文件),除非你使use_retained_program_state这个选项不可用的,如果你想改变这个选项在这个选项是保持激活状态的时候(并且use_retained_program_state是被激活的),你将使用到适当的外部命令或则改变这个页面。
确切定义如下:
0 = 不能通知
1 = 能够通知(默认)

服务检查实行选项
格式: execute_service_checks=<0/1>
例子: execute_service_checks=1
这个选项决定了Nagios是否将执行服务检查当它开始启动的时候。如果这选项是不可用的,Nagios将不执行任何的服务检查并且将保持在一种“睡眠”模式(它能安静的接受被动的检查除非你已经使他们不可用了)。这选项是最常用就在配置备份的监控服务器的时候,同样地描写在冗余文件上,或就在那个时候设置向上分布式的监测环境。注意: 如果你有保持状态激活的,Nagios将不理睬这设置就在它开始启动时候和使用最后知道的设置为了这选项(同样地存储在保持状态文件),除非你使use_retained_program_state选项不可用。如果你想要到改变这选项就在那个时候保持状态是活动的(和use_retained_program_state是激活的),你将有到使用适当的外部命令或改变它的页面。
确切定义如下:
0 = 不要执行服务检查
1 = 执行服务检查(默认)

接受被动的服务检查选项
格式: accept_passive_service_checks=<0/1>
例子: accept_passive_service_checks=1
这选项确定Nagios是否将接受被动的服务检查就在它开始启动的时候。 如果这选项是不可用的,Nagios将不接受任何的被动的服务检查。 注意: 如果你有保持状态激活的,Nagios将不理睬这设置就在它开始启动时候和使用最后知道的设置为了这选项(同样地存储在保持状态文件),除非你使use_retained_program_state选项不可用。如果你想要到改变这选项就在那个时候保持状态是活动的(和use_retained_program_state是激活的),你将有到使用适当的外部命令或改变它的页面。
确切定义如下:
0 = 不接受被动的服务检查
1 = 接受被动的服务检查(默认)

主机检查实行选项
格式: execute_host_checks=<0/1>
例子: execute_host_checks=1
这个选项决定了Nagios开始启动的时候是否要执行请求和有规则的预定主机检查。如果这个选项是不可执行的,Nagios将不执行任何一个主机的检查,尽管它能保持接受主机被动的检查除非你使他们不可执行,这个选项通常被用到在设置监控服务器的时候,记录在冗余文件里或者在安装一个分布式的监控环境里。注意:如果你保持状态是激活的,Nagios将忽视这个设置,就在它开始启动的时候和最后的知道的设置选项的时候(同样地存储在保持状态文件),除非你使use_retained_program_state这个选项不可用的,如果你想改变这个选项在这个选项是保持激活状态的时候(并且use_retained_program_state是被激活的),你将使用到适当的外部命令或则改变这个页面。
确切定义如下:
0 = 不执行主机检查
1 = 执行主机检查(默认)

主机接受被动的检查选项
格式: accept_passive_host_checks=<0/1>
例子: accept_passive_host_checks=1
这选项决定Nagios在它开始启动的时候是否将接受被动的主机检查。如果这选项是不可用的,Nagios将不接受任何的被动的主机检查。 注意:如果你有保持状态激活的,Nagios将不理睬这设置就在它开始启动时候和使用最后知道的设置为了这选项(同样地存储在保持状态文件),除非你使use_retained_program_state选项不可用。如果你想要到改变这选项就在那个时候保持状态是活动的(和use_retained_program_state是激活的),你将有到使用适当的外部命令或改变它的页面。
确切定义如下:
0 = 不执行被动的主机检查
1 = 执行被动的主机检查(默认)

0=不接受被动主机检查
1=接受被动主机检查(默认值)

事件处理选项
格式:enable_event_handlers=<0/1>
案例:enable_event_handlers=1
这个选项决定了在一开始Nagios(重)启动时会否运行事件处理程序。如果这个选项不选,Nagios不会执行任何主机或服务器事件处理程序。注意:如果选择保持状态,Nagios在(重)启动时则会忽略这个设置并采用这个选项的最终设置(存于状态保持文件中)除非你取消use_retained_program_state选项。如果你想在状态保持选项激活时改变选项(同时use_retained_program_state也是激活的),则你必须采用正确的外部命令或者通过网络界面来改变它。确切定义如下:
0=取消事件处理
1=启动事件处理(默认值)

日志循环覆盖法
格式:log_rotation_method=
案例:log_rotation_method=d
这是你想Nagios为你的日志文件选用的一种循环方法。确切定义如下:
n =无(不循环日志-此为默认值)
h =每小时(在每个小时的开始循环日志)
d =每天(在每天的午夜循环日志)
w =每周(在每周六的午夜循环日志)
m =每月(在每月最后一天的午夜循环日志)

日志存档路径
格式:log_archive_path=
案例:log_archive_path=/usr/local/nagios/var/archives/
这是Nagios应该将已经旋转好的日志文件存放的目录。如果你不选择可使用的旋转日志,则该选项将被忽略。
外部命令检查选项
格式:check_external_commands=<0/1>
案例:check_external_commands=1
这个选项决定了Nagios会否为应执行的内部命令检查命令文件。如果你想通过网络界面使用CGI命令来发布命令,则必须选择该选项。第三方程序也可以通过写入命令文件对Nagios发布命令,只要象在常用问题解答里面罗列出的被赋予文件正当权力即可。
有关外部命令的更多信息在此可以找到。
0=不检查外部命令(默认值)
1=检查外部命令

外部命令检查间隔
格式:command_check_interval =[s]
案例:command_check_interval =1
如果你指定一个数字并给它附加一个s(如,30s),这就是指外部命令检查间隔的秒数。如果你漏掉s,这就是指外部命令检查等待的“时间单位”值。除非你将间隔长度值的默认值60改掉(如下面所定义的),那这个数字将指代的是分钟。注意:如果将这个值设为-1,则Nagios将会尽可能多的检查外部命令。每次Nagios检查外部命令,它会在继续执行其他指令前读取并处理掉命令文件中的所有命令。有关外部命令的更多信息可以在此查到。

外部命令文件
格式:command_file=<文件名 >
案例:command_file=/usr/local/nagios/var/rw/nagios.cmd
这个就是Nagios为即将执行的外部命令检查的文件。CGI命令可在该文件中写入命令。其他第三方程序也可以通过写入命令文件对Nagios发布命令,只要如此处概述的被赋予文件正当权力即可。外部命令文件是通过指定通道(FIFO)执行的,当Nagios启动时就会生成,而当Nagios关闭时就会被移除。在Nagios启动时如果该文件存在,则Nagios程序将会终止并给出一个错误信息。有关外部命令的更多信息可以在此查到。

宕机文件
格式:downtime_file=<文件名>
案例:downtime_file=/usr/local/nagios/var/downtime.dat
这是Nagios用来存储预定的主机和服务器关机信息的文件。主机和服务器通过外部信息CGI可查看并添加注释。

命令文件
格式:comment_file=<文件名>
案例:comment_file=/usr/local/nagios/var/comment.dat
这是Nagios用来存储主机和服务器注释的文件。主机和服务器通过外部信息CGI可查看并添加注释。

锁定文件
格式: lock_file=<文件名>
案例: lock_file=/tmp/nagios.lock
该选项指定了当Nagios作为后台运行时(以-d命令行参数启动)会生成的锁定文件的地址。该文件包括了Nagios程序运行中的处理序号值(PID)。

状态保留选项
格式:retain_state_information=<0/1>
案例:retain_state_information=1
该选项决定了在程序重新启动时Nagios会否为主机和服务器保留状态信息。如果启动该选项,则需要为状态保留文件变量赋予一个值。一旦启动,Nagios会在关闭前(或重新启动时)为主机和服务器储存所有状态信息,同时,在重新启动时也会读入以前
存储的状态信息。
0=不保留状态信息(默认值)
1=保留状态信息

状态保留文件
格式:state_retention_file=<文件名>
案例:state_retention_file=/usr/local/nagios/var/retention.dat
这是Nagios在关闭前用来存储服务器和主机状态信息的文件。当Nagios重新启动开始监测任何东西前,它会采用储存在该文件中的信息来设定初始状态。当Nagios在重启动时读取了初始状态信息以后,该文件将被删除。如果想要在Nagios程序重新启动间隔中间保留状态信息,则必须启动保留状态信息选项。

自动状态保留升级间隔
格式:retention_update_interval=<分钟>
案例: retention_update_interval=60
这个设置决定了Nagios在正常处理时多久(以分钟计)会自动存储保留数据。如果将该值设为0,Nagios在规定间隔内不会保留数据,但它在关闭前或重新启动时仍然会存储保留数据。如果取消了状态保留(通过状态保留信息选项),则该选项无效。

采用保留程序状态选项
格式:use_retained_program_state=<0/1>
Example: use_retained_program_state=1
该设置决定了Nagios会否根据存储在保留文件中的值来设置不同的程序范围内的状态变量。这些程序范围内的状态变量中的一些在程序重启动时会正常存储,只要状态保留选项是激活的,包括enable_notifications,enable_flap_detection,enable_event_handlers,execute_service_checks,和accept_passive_service_checks选项。如果没有激活状态保留,则该选项无效。
0=不用保留程序状态
1=采用保留程序状态(默认值)

采用保留进度信息选项
格式:use_retained_scheduling_info=<0/1>
案例:use_retained_scheduling_info=1
该设置决定了Nagios会否在重启动时为主机和服务器保留进度信息(下次检查时间)。如果添加了大量的(大百分比的)主机和服务器,建议在首次启动Nagios时取消该选项,因为它会对初始检测的开展很不利。此外,你可能也将取消改选项。
0=不采用保留进度信息
1=采用保留进度信息(默认值)

系统日志记录日志选项
格式:use_syslog=<0/1>
案例:use_syslog=1
该变量决定了信息会否被记录到当地主机的系统日志工具中。变量如下:
0=不采用系统日志工具
1=采用系统日志工具

日志记录选项
格式:log_notifications=<0/1>
案例:log_notifications=1
该变量决定了布告信息会否被记录。如果有很多接触点或者规则的服务故障,你的记录文件将会相当快的增长。用该选项可防止接触布告被记录。
0=不记录布告
1=记录布告

服务器检查重试记录选项
格式:log_service_retries=<0/1>
案例:log_service_retries=1
该变量决定了服务器检查重试会否被记录。当服务器检查导致出现非正确状态时服务器检查重试就会发生,而你在对错误作出反映之前已经设置了Nagios不止一次地重启系统。在这种情况下通常认为服务器处在“软”状态。记录服务器检查重试对于试图调试Nagios或者检测出服务事件处理而言非常有用。
0=不记录服务器检查重试
1=记录服务器检查重试

主机检查重试记录选项
格式:log_host_retries=<0/1>
案例:log_host_retries=1
该变量决定了主机检查重试会否被记录。记录主机检查重试对于试图调试Nagios或者检测出服务事件处理而言非常有用。
0=不记录主机检查重试
1=记录主机检查重试

事件处理记录选项
格式:log_event_handlers=<0/1>
案例:log_event_handlers=1
该变量决定了服务器或主机事件处理会否被记录。事件处理是个可选命令,当服务器或主机改变状态时均可运行。记录事件处理对于调试Nagios或者首次提炼事件处理材料而言非常有用。
0=不记录事件处理
1=记录事件处理

初始状态记录选项
格式:log_initial_states=<0/1>
案例:log_initial_states=1
该变量决定了Nagios会否强制记录所有初始服务器和主机状态即便他们仅仅引起正常状态。初始服务器和主机状态通常仅在第一次检查出现问题时被记录。如果你在使用扫描记录文件的应用软件以决定服务器和主机长期状态统计时启动该选项非常有用。
0=不记录初始状态(默认值)
1=记录初始状态

外部命令记录选项
格式:log_external_commands=<0/1>
案例:log_external_commands=1
该变量决定了Nagios会否记录从外部命令文件中收到的外部命令。注意:该选项不能控制被动服务检查(外部命令的一种)被记录。要启动或取消记录被动检可用log_passive_service_checks选项。
0=不记录外部命令
1=记录外部命令

被动检查记录选项
格式:log_passive_checks=<0/1>
案例:log_passive_checks=1
该变量决定了Nagios会否记录从外部命令文件中收到的被动主机和服务器检查。如果你设置了分布式的监测环境或者计划进行大量正规意义上的被动检查,或许你会希望取消这个选项,这样你的记录文件就不会变得很大。
0=不记录被动检查
1=记录被动检查

全局主机事件处理选项
格式:global_host_event_handler=
案例:global_host_event_handler=log-host-event-to-db
你可以用该选项来定义一个主机事件处理命令,该命令在每次主机状态改变时均会运行。全局事件处理的执行会优先于你之前随意在每个主机定义中定义的事件处理。command参数是对你在目标配置文件中所定义命令的简称。该命令能运行的最长时间是由event_handler_timeout选项控制的。更多的事件处理信息可在此查到。

全局服务器事件处理选项
格式:global_service_event_handler=
案例:global_service_event_handler=log-service-event-to-db
你可以用该选项来定义一个服务器事件处理命令,该命令在每次主机状态改变时均会运行。全局事件处理的执行会优先于你之前随意在每个主机定义中定义的事件处理。command参数是对你在目标配置文件中所定义命令的简称。该命令能运行的最长时间是由event_handler_timeout选项控制的。更多的事件处理信息可在此查到。

内部检查睡眠时间
格式:sleep_time=
案例:sleep_time=1
这个秒数值指的是Nagios在检测进度队列中下一次服务器或主机检查该不该被执行前睡眠的时间长度。注意Nagios仅会在其赶上已经落后的队列服务器检查后才会处于睡眠状态。