主配置文件位置:
[root@localhost etc]# find / -name nagios.cfg /usr/local/nagios/etc/nagios.cfg ;这个就是主配置文件的绝对路径 /usr/local/src/ndoutils-1.4b9/config/nagios.cfg /usr/local/src/nagios/t-tap/smallconfig/nagios.cfg /usr/local/src/nagios/sample-config/nagios.cfg /usr/local/src/nagios/t/etc/nagios.cfg /usr/local/pnp4nagios/etc/nagios.cfg [root@localhost etc]#
修改配置文件前最好先备份:
[root@localhost ~]# cp /usr/local/nagios/etc/nagios.cfg /usr/local/nagios/etc/nagios.cfg0712 [root@localhost ~]#
主配置文件权限:
[root@localhost ~]# ll /usr/local/nagios/etc/ |grep "nagios.cfg$" -rw-rw-r-- 1 nagios nagios 44911 Jul 12 13:16 nagios.cfg [root@localhost ~]#
主配置文件内容:
第一部分:日志文件
# LOG FILE # This is the main log file where service and host events are logged # for historical purposes. This should be the first option specified # in the config file!!! log_file=/usr/local/nagios/var/nagios.log //设定Nagios的主日志文件路径
日志文件,用来记录主机活动事件的主要日志文件文件,这应该是配置文件中位于最首的
第二部分:对象配置文件模块
这些配置文件将会分别用来定义主机、主机组、联系人、联系人组、服务、等等。这些更应当被理解为“对象定义”文件较为贴切。可以通过将一些对象通过多个不同独立的cfg_file语句指明的配置文件分开定义。Nagios将会读取并且处理所有这些配置文件中记载的定义。对于需要将命令定义和其他类似于主机、联系人等定义分开处理记录的话,将会非常有用。
######以上省略N行###### fg_file=/usr/local/nagios/etc/objects/commands.cfg //设定命令定义配置文件路径 cfg_file=/usr/local/nagios/etc/objects/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
第三部分:对象缓存文件
object_cache_file=/usr/local/nagios/var/objects.cache #设定对象缓存文件的路径
第四部分:状态文件
这个文件将保存着目前检测到的服务和主机数据信息。这个文件当中的内容是被CGI读取并处理的,而它也是在每次Nagios重新启动的时候被删除清空的。
status_file=/usr/local/nagios/var/status.dat #设定状态文件的路径
第五部分:Nagios服务宿主用户
支撑Nagios服务运行的用户。貌似默认安装后没有这个用户,如果没有的话,手动建立一个
#默认情况下宿主用户就是nagios nagios_user=nagios
第六部分:Nagios服务宿主用户组
支撑Nagios服务运行的用户组。貌似安装后也没,如果没有的话,和用户一起手动建立
nagios_group=nagios #默认情况下宿主用户组就是nagios。
第七部分:外部命令选项
这个选项允许用户指定是否Nagios应该对外部的命令进行检查。默认下,Nagios将不会检查外部命令,如果需要能够使用CGI命令接口的话,那么就必须要启用这个选项。设定0值表示关闭命令检查(默认),其它值表示启用。
#check_external_commands=0 check_external_commands=1 #设定是否检测外部命令。默认是不启用的,但是由于需要配合Apache工作,在Web界面下进行Nagiso的控制和管理的话,必须要将此项打开。
第八部分:外部命令检测时间间隔
这个配置选项是用来指定外部命令检测的频率。默认值-1表示Nagios将会尽可能频繁地进行检测。这里的配置的数值如果不加上单位的话,默认单位表示分钟,如1就是表示1分钟,Nagios每分钟检测一次。如果要指定单位是秒的话,那么需要在数值后面跟上s,如15s就表示15秒。
#设定外部命令检测时间间隔。默认值是-1,Nagios会尽可能频繁地进行检测,这样会造成系统资源换的巨大消耗。这里还是建议将此条注释,而将另外一条备选的15s的项解注,让Nagios每15秒进行一次检测好了。具体值请根据具体情况决定 command_check_interval=15s #command_check_interval=-1
第九部分:外部命令文件
这是Nagios用来检查外部命令请求的文件。这个文件同样也是用户操作提交与CGI命令写入的地方,所以这个文件必须对于相关服务可写,一般是针对Apache的宿主用户可写。并且注意,这个文件所在的目录的权限必须被Apache可写,而不单指这文件,因为这个文件在工作当中是频繁被删除的。(之前我们将Apahe归入Nagios组的时候就已经完成了)
command_file=/usr/local/nagios/var/rw/nagios.cmd #设定外部命令文件的路径
第十部分:外部命令缓冲插槽
这里将设定Nagios守护进程对接收进来的外部命令进行处理前的缓冲区大小。一旦一个外部命令被Nagios守护进程处理完了之后就会被从缓冲区删除掉
external_command_buffer_slots=4096 #设置外部命令缓存区大小
第十一部分:注解文件
这是Nagios用来保存主机和服务的注解信息的文件。
comment_file=/var/log/nagios/comments.dat #设定注解文件的路径。
第十二部分:故障时间文件
这是Nagios用来记录主机和服务故障停机时间数据的文件
downtime_file=/var/log/nagios/downtime.dat #设定故障时间文件。
第十三部分:锁定文件
这是Nagios在守护进程模式运行时用来保存它的PID号的文件
lock_file=/var/run/nagios.pid #设定Nagios的PID文件
第十四部分:临时文件
这是当Nagios更新状态日至、清除注解文件等等工作时暂时保留文件内容的临时文件。它将在Nagios运行时不停地被建立、使用和删除。
temp_file=/var/log/nagios/nagios.tmp #设定临时文件的路径
第十五部分:事件代理选项
控制事件代理将受理什么样的数据。设定0值时表示不代理任何东西,设定-1值时表示代理任何信息,设定其它值的话要参考专门的手册
event_broker_options=-1 #设定事件代理。默认值就是-1
第十六部分:事件代理模块
指定Nagios事件采集代理的模块库的路径,可以指定多个,后面可以跟上参数
#broker_module=/somewhere/module1.o #broker_module=/somewhere/module2.o arg1 arg2=3 debug=0 #默认这里是空的
第十七部分:日志循环方式
指定Nagios用在写主日志记录时的循环记录方式。
值n表示none,不做循环。
值h表示hourly,每小时循环一次。(每小时的开始)
值d表示daily,每天循环一次。(每天的午夜)
值w表示weekly,每周循环一次。(每周六的晚上)
值m表示monthly,每月循环一次。(每上个月的最后一天的午夜)
log_rotation_method=d #设定主日志循环方式,默认是每天循环
第十八部分:日志归档路径
这个路径将作为日志归档存放的地方(需要之前日志循环设定启用)
log_archive_path=/var/log/nagios/archives #设定日志归档路径。
第十九部分:加入系统日志选项
选择是否将Nagios的运行信息加入系统的Syslog当中。值1表示加入,值0表示不加入。
use_syslog=1 #默认设定Nagio信息加入系统日志。
第二十部分:通知消息记录选项
如果不想记录通知消息的话,就设定该项为0值,相对的值1表示记录。
log_notifications=1 #默认设定Nagios的通知信息是记录的。
第二十一部分:服务重启信息记录选项
如果要记录服务重启信息,设定值1。不记录设定值0。
log_service_retries=1 #默认设定记录服务重启信息。
第二十二部分:主机重启信息记录选项
如果要记录主机重启信息,设定值1。不记录设定值0。
log_host_retries=1 #默认设定记录主机重启信息。
第二十三部分:事件处理程序信息记录选项
如果要记录事件处理信息,设定值1。不记录设定值0。
log_event_handlers=1 #默认启用记录事件处理程序信息。
第二十四部分:初始状态信息记录选项
如果想要Nagios记录所有初始化的主机和服务状态到主日志文件的话,那么请将这个配置项的值设定为1。不记录设定值0
log_initial_states=0 #默认不记录初始化状态信息
第二十五部分:外部命令信息记录选项。
如果想要Nagios记录外部命令信息的话,那么请将这个配置项的值设定为1,不记录设定值0。注意,这个选项将不包括被动服务的检查。
log_external_commands=1 #默认设定记录外部命令信息。
第二十六部分:被动检查信息记录
如果想要Nagios记录被动主机和服务的检查信息的话,请设置为1,不记录设定为0。
log_passive_checks=1 #默认设定记录被动检查信息。
第二十七部分:全局主机和服务的事件处理程序
这些选项允许指定针对所有主机或服务状态变化运行的一个主机和服务事件处理程序命令。这个全局事件处理程序将比每一个主机上和服务上的定义要来的优先。命令的参数是在主机配置文件中,命令定义的简短名。
#global_host_event_handler=somecommand #global_service_event_handler=somecommand #默认这里为空。
第二十八部分:服务间内部检查之间延时的方式
这是Nagios启动初始化、对服务展开监控的时候使用的方式。默认情况下使用smart延时计算方式,它将尽力分隔开所有服务的检查,平衡地减少CPU届时的负载。如使用dump方式会造成所有检查作业在初始化时并发(这种方式下它们之间将没有时间延迟间隙)。
值n表示none,不做任何任何延迟。
值d表示dump,表示在两个相邻的检查之间做1秒钟的延迟。
值s表示smart,表示默认精简方式安排延迟。
值x.xx表示手动定制每相邻的检查之间固定的x.xx秒延迟。
service_inter_check_delay_method=s #默认设定服务间检查间隔采用smart算法。
第二十九部分:最大服务检查扩张
这个变量值决定了从程序开始时间起,对所有服务进行一次初始化检查完成的时间框架。默认是30分钟。
max_service_check_spread=30 #默认最大服务检查扩张是30分钟。
第三十部分:服务交错检查因数
这个变量决定了服务检查之间是如何被交错检查的。交错的服务检查将更加离散化,并且减少远程主机的负载。设定值分为s,或者任何比1大的数字。
service_interleave_factor=s #默认下交错因数为s,即smart精简算法。
第三十一部分:主机间内部检查之间延时的方式
这是Nagios启动初始化、对主机展开监控的时候使用的方式。默认情况下使用smart延时计算方式,它将尽力分隔开所有主机的检查,平衡地减少CPU届时的负载。如使用dump方式会造成所有检查作业在初始化时并发(这种方式下它们之间将没有时间延迟间隙)。
值n表示none,不做任何任何延迟。
值d表示dump,表示在两个相邻的检查之间做1秒钟的延迟。
值s表示smart,表示默认精简方式安排延迟。
值x.xx表示手动定制每相邻的检查之间固定的x.xx秒延迟
host_inter_check_delay_method=s #默认设定主机间检查间隔是采用smart算法。
第三十二部分:最大主机检查扩张
这个变量值决定了从程序开始时间起,对所有主机进行一次初始化检查完成的时间框架。默认是30分钟。
max_host_check_spread=30 #默认最大主机检查扩张是30分钟。
第三十三部分:最大并发服务检查
这个选项将影响Nagios任一时刻间对服务检查的并发数量。设定值1的话会防止任何并发的服务检查。如果设定值0的话,每一时刻的服务检查并发数量将不严格按照当时实际执行的服务并发数量。
max_concurrent_checks=0 #默认下这个参数设定是0。
第三十四部分:服务检查结果处理频率
这个值是Nagios将服务检查结果进行处理的频率。
service_reaper_frequency=10 #默认这个频率值设定为10。
第三十五部分:检查结果缓冲区
这个缓冲区是Nagios守护进程对服务检查结果未处理前进行保留缓冲的大小。一旦这些结果被处理完毕之后就被立即清除出缓冲区。
check_result_buffer_slots=4096 #默认这个检查结果的缓冲区是4MB。
第三十六部分:自动重调度选项
这个选项决定了Nagios是否将尝试自动去调度对活动主机和服务的检查,并使这些工作更平稳进行。这将对监视服务器的负载起到均衡帮助。警告:这个值的设定请慎重通过实验性能的测试,否则效果适得其反。
auto_reschedule_checks=0 #默认下自动调度参数为0,关闭。
第三十七部分:自动重调度间隔
这个选项决定了Nagios将多频繁地尝试自动重新调度检查工作,单位为秒。这个选项只有在AUTO-RESCHEULING OPTION选项启用时才有效。默认情况下是30秒。警告:这个值的设定请慎重通过实验性能的测试,否则效果适得其反。
auto_rescheduling_interval=30 #默认下自动重调度间隔时间为30秒。
第三十八部分:自动重调度窗口大小
这个选项决定了Nagios一次尝试自动重新调度检查工作窗口的大小,单位为秒。只有在下一个X秒中内的主机和服务的检查会被重新调度(大小就是由这个值来决定)。同样,这个选项只有在AUTO-RESCHEULING OPTION选项启用时才有效。默认情况下是180秒。警告:这个值的设定请慎重通过实验性能的测试,否则效果适得其反。
auto_rescheduling_window=180 #默认下自动重新调度窗口大小为180秒。
第三十九部分:休眠时间
这个以秒为单位的数值是在检查系统事件和服务检测之间的时间差值。
sleep_time=0.25 #默认休眠时间是0.25秒。