首先要看看目前Nagios的主配置路径下有哪些文件。
[root@KCentOS5A ~]# ll /etc/nagios/*
-rw-rw-r-- 1 nagios nagios 9545 Apr 16 01:36 /etc/nagios/cgi.cfg
-rw-rw-r-- 1 nagios nagios 8567 Apr 16 01:36 /etc/nagios/commands.cfg
-rw-r--r-- 1 root root 109 Oct 1 06:58 /etc/nagios/htpasswd.users
-rw-rw-r-- 1 nagios nagios 12469 Apr 16 01:36 /etc/nagios/localhost.cfg
-rw-rw-r-- 1 nagios nagios 30883 Apr 16 01:36 /etc/nagios/nagios.cfg
-rw-rw---- 1 nagios nagios 1334 Apr 16 01:36 /etc/nagios/resource.cfg
Nagios主配置文件:
Nagios的主配置文件为/etc/nagios/nagios.cfg,在进行操作前首先要对主配置文件进行备份。
[root@KCentOS5A ~]# cp /etc/nagios/nagios.cfg /etc/nagios/nagios.cfg.backup
配置Nagios的主配置文件:
一般来说初级使用的话并不需要对主配置文件做多少的更改,但是如果想将Nagios进行专家级的灵活应用的话就必须要对主配置文件非常了解并进行高级复杂的配置了。出于加深对Nagios的理解,这里我还是尽可能地将一些配置详细说明。(平时根本不可能有这个时间和功夫,国庆真美好= =),对主配置文件的理解有助于对Nagios主系统进行调优操作。
[root@KCentOS5A ~]# vi /etc/nagios/nagios.cfg
--------------------------------------------------------------------------------
第一部分:日志文件
# 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!!!
日志文件,用来记录主机活动事件的主要日志文件文件,这应该是配置文件中位于最首的。(这条应该比较重要吧,原文中可是连加了3个感叹号来的= =)
log_file=/var/log/nagios/nagios.log
设定Nagios的主日志文件路径。
第二部分:对象配置文件模块
# OBJECT CONFIGURATION FILE(S)
# This is the configuration file in which you define hosts, host
# groups, contacts, contact groups, services, etc. I guess it would
# be better called an object definition file, but for historical
# reasons it isn't. You can split object definitions into several
# different config files by using multiple cfg_file statements here.
# Nagios will read and process all the config files you define.
# This can be very useful if you want to keep command definitions
# separate from host and contact definitions...
对象配置文件。这些配置文件将会分别用来定义主机、主机组、联系人、联系人组、服务、等等。这些更应当被理解为“对象定义”文件较为贴切。可以通过将一些对象通过多个不同独立的cfg_file语句指明的配置文件分开定义。Nagios将会读取并且处理所有这些配置文件中记载的定义。对于需要将命令定义和其他类似于主机、联系人等定义分开处理记录的话,将会非常有用。
# Command definitions
cfg_file=/etc/nagios/commands.cfg
设定命令定义配置文件路径。
# Host and service definitions for monitoring this machine
cfg_file=/etc/nagios/localhost.cfg
设定主机和服务监视定义配置文件路径。
# You can split other types of object definitions across several
# config files if you wish (as done here), or keep them all in a
# single config file.
以下则是其它类型细分定义的配置文件,也可以将它们全部写在一张配置文件当中。这些默认是加注的,如果要启用的话需要手动解注。而且这些文件默认也是没有的,如果要启用还必须手动建立它们。
#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
# Extended host/service info definitions are now stored along with
# other object definitions:
以下是一些扩展的主机/服务信息定义配置文件。
#cfg_file=/etc/nagios/hostextinfo.cfg
#cfg_file=/etc/nagios/serviceextinfo.cfg
第三部分:对象缓存文件
# OBJECT CACHE FILE
# This option determines where object definitions are cached when
# Nagios starts/restarts. The CGIs read object definitions from
# this cache file (rather than looking at the object config files
# directly) in order to prevent inconsistencies that can occur
# when the config files are modified after Nagios starts.
对象缓存文件。这些选项将决定当Nagios启动时或重新启动时,对象定义将被缓存在什么地方。CGI将从这个对象文件中读取对象的定义,而不是在之前的对象配置文件路径中去找。这样做是为了避免修改Nagios配置文件后引起的不一致问题。换句简单的话说就是更改配置文件后要重新运新Nagios新的配置参数才会生效,而当前运行的Nagios只参考缓存中的配置参数而已。
object_cache_file=/var/log/nagios/objects.cache
设定对象缓存文件的路径。
第四部分:状态文件
# STATUS FILE
# This is where the current status of all monitored services and
# hosts is stored. Its contents are read and processed by the CGIs.
# The contents of the status file are deleted every time Nagios
# restarts.
状态文件。这个文件将保存着目前检测到的服务和主机数据信息。这个文件当中的内容是被CGI读取并处理的,而它也是在每次Nagios重新启动的时候被删除清空的。
status_file=/var/log/nagios/status.dat
设定状态文件的路径。
第五部分:Nagios服务宿主用户
# NAGIOS USER
# This determines the effective user that Nagios should run as.
# You can either supply a username or a UID.
支撑Nagios服务运行的用户。貌似默认安装后没有这个用户,如果没有的话,手动建立一个。
nagios_user=nagios
默认情况下宿主用户就是nagios。
第六部分:Nagios服务宿主用户组
# NAGIOS GROUP
# This determines the effective group that Nagios should run as.
# You can either supply a group name or a GID.
支撑Nagios服务运行的用户组。貌似安装后也没,如果没有的话,和用户一起手动建立。
nagios_group=nagios
默认情况下宿主用户组就是nagios。
第七部分:外部命令选项
# EXTERNAL COMMAND OPTION
# This option allows you to specify whether or not Nagios should check
# for external commands (in the command file defined below). By default
# Nagios will *not* check for external commands, just to be on the
# cautious side. If you want to be able to use the CGI command interface
# you will have to enable this. Setting this value to 0 disables command
# checking (the default), other values enable it.
外部命令选项。这个选项允许用户指定是否Nagios应该对外部的命令进行检查。默认下,Nagios将不会检查外部命令,如果需要能够使用CGI命令接口的话,那么就必须要启用这个选项。设定0值表示关闭命令检查(默认),其它值表示启用。
#check_external_commands=0
check_external_commands=1
设定是否检测外部命令。默认是不启用的,但是由于需要配合Apache工作,在Web界面下进行Nagiso的控制和管理的话,必须要将此项打开。
第八部分:外部命令检测时间间隔
# EXTERNAL COMMAND CHECK INTERVAL
# This is the interval at which Nagios should check for external commands.
# This value works of the interval_length you specify later. If you leave
# that at its default value of 60 (seconds), a value of 1 here will cause
# Nagios to check for external commands every minute. If you specify a
# number followed by an "s" (i.e. 15s), this will be interpreted to mean
# actual seconds rather than a multiple of the interval_length variable.
# Note: In addition to reading the external command file at regularly
# scheduled intervals, Nagios will also check for external commands after
# event handlers are executed.
# NOTE: Setting this value to -1 causes Nagios to check the external
# command file as often as possible.
这个配置选项是用来指定外部命令检测的频率。默认值-1表示Nagios将会尽可能频繁地进行检测。这里的配置的数值如果不加上单位的话,默认单位表示分钟,如1就是表示1分钟,Nagios每分钟检测一次。如果要指定单位是秒的话,那么需要在数值后面跟上s,如15s就表示15秒。
command_check_interval=15s
#command_check_interval=-1
设定外部命令检测时间间隔。默认值是-1,Nagios会尽可能频繁地进行检测,这样会造成系统资源换的巨大消耗。这里还是建议将此条注释,而将另外一条备选的15s的项解注,让Nagios每15秒进行一次检测好了。具体值请根据具体情况决定。
第九部分:外部命令文件
# EXTERNAL COMMAND FILE
# This is the file that Nagios checks for external command requests.
# It is also where the command CGI will write commands that are submitted
# by users, so it must be writeable by the user that the web server
# is running as (usually 'nobody'). Permissions should be set at the
# directory level instead of on the file, as the file is deleted every
# time its contents are processed.
这是Nagios用来检查外部命令请求的文件。这个文件同样也是用户操作提交与CGI命令写入的地方,所以这个文件必须对于相关服务可写,一般是针对Apache的宿主用户可写。并且注意,这个文件所在的目录的权限必须被Apache可写,而不单指这文件,因为这个文件在工作当中是频繁被删除的。(之前我们将Apahe归入Nagios组的时候就已经完成了)
command_file=/var/log/nagios/rw/nagios.cmd
设定外部命令文件的路径。
第十部分:外部命令缓冲插槽
# EXTERNAL COMMAND BUFFER SLOTS
# This settings is used to tweak the number of items or "slots" that
# the Nagios daemon should allocate to the buffer that holds incoming
# external commands before they are processed. As external commands
# are processed by the daemon, they are removed from the buffer.
这里将设定Nagios守护进程对接收进来的外部命令进行处理前的缓冲区大小。一旦一个外部命令被Nagios守护进程处理完了之后就会被从缓冲区删除掉。
external_command_buffer_slots=4096
设置外部命令缓存区大小。
第十一部分:注解文件
# COMMENT FILE
# This is the file that Nagios will use for storing host and service
# comments.
这是Nagios用来保存主机和服务的注解信息的文件。
comment_file=/var/log/nagios/comments.dat
设定注解文件的路径。
第十二部分:故障时间文件
# DOWNTIME FILE
# This is the file that Nagios will use for storing host and service
# downtime data.
这是Nagios用来记录主机和服务故障停机时间数据的文件。
downtime_file=/var/log/nagios/downtime.dat
设定故障时间文件。
第十三部分:锁定文件
# LOCK FILE
# This is the lockfile that Nagios will use to store its PID number
# in when it is running in daemon mode.
这是Nagios在守护进程模式运行时用来保存它的PID号的文件。
lock_file=/var/run/nagios.pid
设定Nagios的PID文件。
第十四部分:临时文件
# TEMP FILE
# This is a temporary file that is used as scratch space when Nagios
# updates the status log, cleans the comment file, etc. This file
# is created, used, and deleted throughout the time that Nagios is
# running.
这是当Nagios更新状态日至、清除注解文件等等工作时暂时保留文件内容的临时文件。它将在Nagios运行时不停地被建立、使用和删除。
temp_file=/var/log/nagios/nagios.tmp
设定临时文件的路径。
第十五部分:事件代理选项
# EVENT BROKER OPTIONS
# Controls what (if any) data gets sent to the event broker.
# Values: 0 = Broker nothing
# -1 = Broker everything
# = See documentation
控制事件代理将受理什么样的数据。设定0值时表示不代理任何东西,设定-1值时表示代理任何信息,设定其它值的话要参考专门的手册。
event_broker_options=-1
设定事件代理。默认值就是-1。
第十六部分:事件代理模块
# EVENT BROKER MODULE(S)
# This directive is used to specify an event broker module that should
# by loaded by Nagios at startup. Use multiple directives if you want
# to load more than one module. Arguments that should be passed to
# the module at startup are seperated from the module path by a space.
#
# Example:
#
# broker_module= [moduleargs]
指定Nagios事件采集代理的模块库的路径,可以指定多个,后面可以跟上参数。
#broker_module=/somewhere/module1.o
#broker_module=/somewhere/module2.o arg1 arg2=3 debug=0
默认这里是空的。如果有强人找到定制模块或者自己开发的话就写在这边吧= =||
第十七部分:日志循环方式
# LOG ROTATION METHOD
# This is the log rotation method that Nagios should use to rotate
# the main log file. Values are as follows..
# n = None - don't rotate the log
# h = Hourly rotation (top of the hour)
# d = Daily rotation (midnight every day)
# w = Weekly rotation (midnight on Saturday evening)
# m = Monthly rotation (midnight last day of month)
指定Nagios用在写主日志记录时的循环记录方式。
值n表示none,不做循环。
值h表示hourly,每小时循环一次。(每小时的开始)
值d表示daily,每天循环一次。(每天的午夜)
值w表示weekly,每周循环一次。(每周六的晚上)
值m表示monthly,每月循环一次。(每上个月的最后一天的午夜)
log_rotation_method=d
设定主日志循环方式,默认是每天循环。
第十八部分:日志归档路径
# LOG ARCHIVE PATH
# This is the directory where archived (rotated) log files should be
# placed (assuming you've chosen to do log rotation).
这个路径将作为日志归档存放的地方(需要之前日志循环设定启用)
log_archive_path=/var/log/nagios/archives
设定日志归档路径。
第十九部分:加入系统日志选项
# LOGGING OPTIONS
# If you want messages logged to the syslog facility, as well as the
# NetAlarm log file set this option to 1. If not, set it to 0.
选择是否将Nagios的运行信息加入系统的Syslog当中。值1表示加入,值0表示不加入。
use_syslog=1
默认设定Nagio信息加入系统日志。
第二十部分:通知消息记录选项
# NOTIFICATION LOGGING OPTION
# If you don't want notifications to be logged, set this value to 0.
# If notifications should be logged, set the value to 1.
如果不想记录通知消息的话,就设定该项为0值,相对的值1表示记录。
log_notifications=1
默认设定Nagios的通知信息是记录的。
第二十一部分:服务重启信息记录选项
# SERVICE RETRY LOGGING OPTION
# If you don't want service check retries to be logged, set this value
# to 0. If retries should be logged, set the value to 1.
如果要记录服务重启信息,设定值1。不记录设定值0。
log_service_retries=1
默认设定记录服务重启信息。
第二十二部分:主机重启信息记录选项
# HOST RETRY LOGGING OPTION
# If you don't want host check retries to be logged, set this value to
# 0. If retries should be logged, set the value to 1.
如果要记录主机重启信息,设定值1。不记录设定值0。
log_host_retries=1
默认设定记录主机重启信息。
第二十三部分:事件处理程序信息记录选项
# EVENT HANDLER LOGGING OPTION
# If you don't want host and service event handlers to be logged, set
# this value to 0. If event handlers should be logged, set the value
# to 1.
如果要记录事件处理信息,设定值1。不记录设定值0。
log_event_handlers=1
默认启用记录事件处理程序信息。
第二十四部分:初始状态信息记录选项
# INITIAL STATES LOGGING OPTION
# If you want Nagios to log all initial host and service states to
# the main log file (the first time the service or host is checked)
# you can enable this option by setting this value to 1. If you
# are not using an external application that does long term state
# statistics reporting, you do not need to enable this option. In
# this case, set the value to 0.
如果想要Nagios记录所有初始化的主机和服务状态到主日志文件的话,那么请将这个配置项的值设定为1。不记录设定值0
log_initial_states=0
默认不记录初始化状态信息。
第二十五部分:外部命令信息记录选项。
# EXTERNAL COMMANDS LOGGING OPTION
# If you don't want Nagios to log external commands, set this value
# to 0. If external commands should be logged, set this value to 1.
# Note: This option does not include logging of passive service
# checks - see the option below for controlling whether or not
# passive checks are logged.
如果想要Nagios记录外部命令信息的话,那么请将这个配置项的值设定为1,不记录设定值0。注意,这个选项将不包括被动服务的检查。
log_external_commands=1
默认设定记录外部命令信息。
第二十六部分:被动检查信息记录
# PASSIVE CHECKS LOGGING OPTION
# If you don't want Nagios to log passive host and service checks, set
# this value to 0. If passive checks should be logged, set
# this value to 1.
如果想要Nagios记录被动主机和服务的检查信息的话,请设置为1,不记录设定为0。
log_passive_checks=1
默认设定记录被动检查信息。
第二十七部分:全局主机和服务的事件处理程序
# GLOBAL HOST AND SERVICE EVENT HANDLERS
# These options allow you to specify a host and service event handler
# command that is to be run for every host or service state change.
# The global event handler is executed immediately prior to the event
# handler that you have optionally specified in each host or
# service definition. The command argument is the short name of a
# command definition that you define in your host configuration file.
# Read the HTML docs for more information.
这些选项允许指定针对所有主机或服务状态变化运行的一个主机和服务事件处理程序命令。这个全局事件处理程序将比每一个主机上和服务上的定义要来的优先。命令的参数是在主机配置文件中,命令定义的简短名。
#global_host_event_handler=somecommand
#global_service_event_handler=somecommand
默认这里为空。
第二十八部分:服务间内部检查之间延时的方式
# SERVICE INTER-CHECK DELAY METHOD
# This is the method that Nagios should use when initially
# "spreading out" service checks when it starts monitoring. The
# default is to use smart delay calculation, which will try to
# space all service checks out evenly to minimize CPU load.
# Using the dumb setting will cause all checks to be scheduled
# at the same time (with no delay between them)! This is not a
# good thing for production, but is useful when testing the
# parallelization functionality.
# n = None - don't use any delay between checks
# d = Use a "dumb" delay of 1 second between checks
# s = Use "smart" inter-check delay calculation
# x.xx = Use an inter-check delay of x.xx seconds
这是Nagios启动初始化、对服务展开监控的时候使用的方式。默认情况下使用smart延时计算方式,它将尽力分隔开所有服务的检查,平衡地减少CPU届时的负载。如使用dump方式会造成所有检查作业在初始化时并发(这种方式下它们之间将没有时间延迟间隙)。
值n表示none,不做任何任何延迟。
值d表示dump,表示在两个相邻的检查之间做1秒钟的延迟。
值s表示smart,表示默认精简方式安排延迟。
值x.xx表示手动定制每相邻的检查之间固定的x.xx秒延迟。
service_inter_check_delay_method=s
默认设定服务间检查间隔采用smart算法。
第二十九部分:最大服务检查扩张
# MAXIMUM SERVICE CHECK SPREAD
# This variable determines the timeframe (in minutes) from the
# program start time that an initial check of all services should
# be completed. Default is 30 minutes.
这个变量值决定了从程序开始时间起,对所有服务进行一次初始化检查完成的时间框架。默认是30分钟。
max_service_check_spread=30
默认最大服务检查扩张是30分钟。
第三十部分:服务交错检查因数
# SERVICE CHECK INTERLEAVE FACTOR
# This variable determines how service checks are interleaved.
# Interleaving the service checks allows for a more even
# distribution of service checks and reduced load on remote
# hosts. Setting this value to 1 is equivalent to how versions
# of Nagios previous to 0.0.5 did service checks. Set this
# value to s (smart) for automatic calculation of the interleave
# factor unless you have a specific reason to change it.
# s = Use "smart" interleave factor calculation
# x = Use an interleave factor of x, where x is a
# number greater than or equal to 1.
这个变量决定了服务检查之间是如何被交错检查的。交错的服务检查将更加离散化,并且减少远程主机的负载。设定值分为s,或者任何比1大的数字。
service_interleave_factor=s
默认下交错因数为s,即smart精简算法。
第三十一部分:主机间内部检查之间延时的方式
# HOST INTER-CHECK DELAY METHOD
# This is the method that Nagios should use when initially
# "spreading out" host checks when it starts monitoring. The
# default is to use smart delay calculation, which will try to
# space all host checks out evenly to minimize CPU load.
# Using the dumb setting will cause all checks to be scheduled
# at the same time (with no delay between them)!
# n = None - don't use any delay between checks
# d = Use a "dumb" delay of 1 second between checks
# s = Use "smart" inter-check delay calculation
# x.xx = Use an inter-check delay of x.xx second
这是Nagios启动初始化、对主机展开监控的时候使用的方式。默认情况下使用smart延时计算方式,它将尽力分隔开所有主机的检查,平衡地减少CPU届时的负载。如使用dump方式会造成所有检查作业在初始化时并发(这种方式下它们之间将没有时间延迟间隙)。
值n表示none,不做任何任何延迟。
值d表示dump,表示在两个相邻的检查之间做1秒钟的延迟。
值s表示smart,表示默认精简方式安排延迟。
值x.xx表示手动定制每相邻的检查之间固定的x.xx秒延迟
host_inter_check_delay_method=s
默认设定主机间检查间隔是采用smart算法。
第三十二部分:最大主机检查扩张
# MAXIMUM HOST CHECK SPREAD
# This variable determines the timeframe (in minutes) from the
# program start time that an initial check of all hosts should
# be completed. Default is 30 minutes.
这个变量值决定了从程序开始时间起,对所有主机进行一次初始化检查完成的时间框架。默认是30分钟。
max_host_check_spread=30
默认最大主机检查扩张是30分钟。
第三十三部分:最大并发服务检查
# MAXIMUM CONCURRENT SERVICE CHECKS
# This option allows you to specify the maximum number of
# service checks that can be run in parallel at any given time.
# Specifying a value of 1 for this variable essentially prevents
# any service checks from being parallelized. A value of 0
# will not restrict the number of concurrent checks that are
# being executed.
这个选项将影响Nagios任一时刻间对服务检查的并发数量。设定值1的话会防止任何并发的服务检查。如果设定值0的话,每一时刻的服务检查并发数量将不严格按照当时实际执行的服务并发数量。
max_concurrent_checks=0
默认下这个参数设定是0。
第三十四部分:服务检查结果处理频率
# SERVICE CHECK REAPER FREQUENCY
# This is the frequency (in seconds!) that Nagios will process
# the results of services that have been checked.
这个值是Nagios将服务检查结果进行处理的频率。
service_reaper_frequency=10
默认这个频率值设定为10。
第三十五部分:检查结果缓冲区
# CHECK RESULT BUFFER SLOTS
# This settings is used to tweak the number of items or "slots" that
# the Nagios daemon should allocate to the buffer that holds
# service check results before they are processed. As check results
# are processed by the daemon, they are removed from the buffer.
这个缓冲区是Nagios守护进程对服务检查结果未处理前进行保留缓冲的大小。一旦这些结果被处理完毕之后就被立即清除出缓冲区。
check_result_buffer_slots=4096
默认这个检查结果的缓冲区是4MB。
第三十六部分:自动重调度选项
# AUTO-RESCHEDULING OPTION
# This option determines whether or not Nagios will attempt to
# automatically reschedule active host and service checks to
# "smooth" them out over time. This can help balance the load on
# the monitoring server.
# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE
# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY
这个选项决定了Nagios是否将尝试自动去调度对活动主机和服务的检查,并使这些工作更平稳进行。这将对监视服务器的负载起到均衡帮助。警告:这个值的设定请慎重通过实验性能的测试,否则效果适得其反。
auto_reschedule_checks=0
默认下自动调度参数为0,关闭。
第三十七部分:自动重调度间隔
# AUTO-RESCHEDULING INTERVAL
# This option determines how often (in seconds) Nagios will
# attempt to automatically reschedule checks. This option only
# has an effect if the auto_reschedule_checks option is enabled.
# Default is 30 seconds.
# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE
# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY
这个选项决定了Nagios将多频繁地尝试自动重新调度检查工作,单位为秒。这个选项只有在AUTO-RESCHEULING OPTION选项启用时才有效。默认情况下是30秒。警告:这个值的设定请慎重通过实验性能的测试,否则效果适得其反。
auto_rescheduling_interval=30
默认下自动重调度间隔时间为30秒。
第三十八部分:自动重调度窗口大小
# AUTO-RESCHEDULING WINDOW
# This option determines the "window" of time (in seconds) that
# Nagios will look at when automatically rescheduling checks.
# Only host and service checks that occur in the next X seconds
# (determined by this variable) will be rescheduled. This option
# only has an effect if the auto_reschedule_checks option is
# enabled. Default is 180 seconds (3 minutes).
# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE
# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY
这个选项决定了Nagios一次尝试自动重新调度检查工作窗口的大小,单位为秒。只有在下一个X秒中内的主机和服务的检查会被重新调度(大小就是由这个值来决定)。同样,这个选项只有在AUTO-RESCHEULING OPTION选项启用时才有效。默认情况下是180秒。警告:这个值的设定请慎重通过实验性能的测试,否则效果适得其反。
auto_rescheduling_window=180
默认下自动重新调度窗口大小为180秒。
第三十九部分:休眠时间
# SLEEP TIME
# This is the number of seconds to sleep between checking for system
# events and service checks that need to be run.
这个以秒为单位的数值是在检查系统事件和服务检测之间的时间差值。
sleep_time=0.25
默认休眠时间是0.25秒。
1,支持系统;redhat5.7 redhat6.0
2,目前使用了81T,1年之后可能200T左右,能在线扩展空间吗?
3,容灾能力怎么样
4,我们这里都是小文件,但是特别多,读写速率怎么样哦,会不会对系统产生负载
5,一个存储允许多少个挂载点,有没有限制
特点:
每个文件有3个备份
用户上传的文件,只有用户能看到
有java和python的SDK api接口
不支持mount
北京联通 (土城和北显) 北京电信 (兆维) 上海电信 可以放在这几个点
扩容不用担心
功能:
桶操作:
需要和机房绑定 上传文件就需要创建桶
文件操作:
文件形式是key,value 通过key才能下载
权限操作:
可以设置桶的权限
数据库跨机房存储:
java sdk
python sdk
Service Reaper Frequency
格式:service_reaper_frequency= <>
例如: service_reaper_frequency=10
该选项让你控制间隔若干时间接收"reaper"服务频率。"Reaper"活动进程结果来源于已完成执行的平行服务检测.。这些活动是由逻辑Nagios的监控核心组成。
Host Inter-Check Delay Method
格式:Host_inter_check_delay_method= <>
例如: Host_inter_check_delay_method=s
该选项允许你如何控制队列中那些初始化时的基于规则基础上的被预定的检测终端。使用 " 智能 " 延迟算法(不)会导致Nagios计算平均间隔时间去检测所有的主机,从而消除CPU负荷高峰。通常不推荐使用不延迟。非延迟将引起所有预定的检测在同一时间启用。关于更多如何估算内部延迟怎么影响终端主机行程的信息可以在这里找到,值如下:
N=不使用任何延误-所有主机预定检测服务立即执行(即同时!)
D=在2主机检测间延迟1妙
S= 用"智能"延迟算法均匀地广播主机检测(缺省)35
X.XX=用用户自定义内部检测X..XX秒延迟
Maximum Host Check Spread
格式:max_host_check_spread= < 分钟 >
例如:max_host_check_spread=30
这个选项定义了Nagnios开始对所有主机(定期)检查的最大数值。 这个办法将自动调整所在间检查延误(如有必要),以确保检查所有主机最初发生在你指定的时间。 一般,这个办法将不会造成影响,如果时间安排检查接收资料正在用use_retained_scheduling_info保留选择。 设定值为30(30分钟)。
Timing Interval Length
Format: interval_length=
Example: interval_length=60
这是每个用于定时安排队列每单元间隔数,重通知等。 "Units intervals" 被用在以确定如何配置档案管理服务经常检查,多长时间再通知联络等配置文件对象中。
重要性:缺省值为60,这意味着每单元配置中将有60妙(1分钟)。 没有对这个测试值的变数确定,如果自己做有危险性!
Auto-Rescheduling Option
Format: auto_reschedule_checks=<0/1>
Example: auto_reschedule_checks=1
这选项定义Nagios是否允许自动安排活动主机和核查服务平稳的过渡。 这有助于平衡服务器负担监控,既为了使检查期间连续一致,牺牲执行更严格的检查日程。
警告:这是一个试验性的特点,可以排除在未来版本。如果使用不当,这个办法可以使业绩下降,而非增加!
Auto-Rescheduling Interval
36
Format: auto_rescheduling_interval=
Example: auto_rescheduling_interval=30
这个选项确定多久(秒)Nagios会自动尝试重新选择监测。这个选项仅当Thisauto_reschedule_checks设为有效时对其影响。 缺省值是30秒。
警告:这是一个试验性的参数,可以排除在未来版本。 使自动重新计划性能下降择,而不是增加,如果使用不当!
Auto-Rescheduling Window
Format: auto_rescheduling_window=
Example: auto_rescheduling_window=180
这个选项确定"windows"时间(秒)Nagios会自动重新检查看。仅仅主机与监测服务连续若干秒(被定义为可用)出现将重新启用。这选项仅只选择auto_reschedule_checks为有效时受影响.缺省值为180秒(3分钟)。
警告:这是一个试验性的特点,可以排除在未来版本。如果使用不当,使自动重计划性能下降,而不是增加!
Agressive Host Checking Option
Format: use_agressive_host_checking=<0/1>
Example: use_agressive_host_checking=0
Nagios试图将如何及何时检查聪明的主人地位。 Nagios试图快速地怎么和何时检测主机现状. 一般,取消该选项,允许Nagios作出了一系列决定和迅速地检测主机.。使该选项有效能增加检测主机所需时间,有可能提高点可靠性.除非有问题,Nagios不推荐主机接收,本人也不建议该选项有效.
0=不使用攻击主机检测(缺省)。
1=使用该功能
Flap Detection Option
Format: enable_flap_detection=<0/1>
Example: enable_flap_detection=0
37
这个选项决定了“Nagios”是否尝试寻找已经“Flapping”的主机和服务。当一台主机或服务变化过于频繁会造成Flapping并发送出一个阻塞消息。当“Nagios”发现某台主机或服务“Flapping”了,它将临时停止响应那台主机/服务的请求直到恢复正常。FLAP选项在这一点上十分有经验价值,所以在使用这个选项的时候非常注意!在这里可以找到更多关于“FLAP探测”和“处理工作”的信息。注意:如果你选择了“保持状态”,“Nagios”将会忽略这个选项,当“Nagios”启动的时候将会使用最后一次可用配置(保存在状态记录文件中),除非你禁止“use_retained_program_state”选项。当保持状态选项处于活跃(而且use_retained_program_state选项开启),你必须使用外部命令或者通过WEB界面来修改它。
0=关闭“Flap发现”选项(默认值)
1=开启“Flap发现”选项
Low Service Flap Threshold
Format: low_service_flap_threshold=
Example: low_service_flap_threshold=25。0
这个选项是用于降低“flapping”的开销。 下面是关于FLAP探测和处理(这个选项的影响的信息。
High Service Flap Threshold
Format: high_service_flap_threshold=
Example: high_service_flap_threshold=50。0
这个选项是用于降低“flapping”的开销。 下面是关于FLAP探测和处理(这个选项的影响的信息。
Low Host Flap Threshold
Format: low_host_flap_threshold=
Example: low_host_flap_threshold=25。0
这个选项是用于降低“flapping”的开销。 下面是关于FLAP探测和处理(这个选项的影响的信息。
High Host Flap Threshold
Format: high_host_flap_threshold=
Example: high_host_flap_threshold=50。0
38
这个选项是用于降低“flapping”的开销。 下面是关于FLAP探测和处理(这个选项的影响的信息。
Soft Service Dependencies Option
Format: soft_state_dependencies=<0/1>
Example: soft_state_dependencies=0
这个选项决定了Nagios在检查服务依赖性的时候是否使用“软”服务状态。通常Nagios在检查服务依赖性的时候使用最后一次可用的“硬”服务状态。如果你希望上一次状态(不管是“软”还是“硬”),启用该项。
0=不检查服务的状态
1=检查服务的状态
Service Check Timeout
Format: service_check_timeout=
Example: service_check_timeout=60
这个选项表明了Nagios允许检查服务过程运行的最大秒数。如果检查超时,检查程序将被终止,一个“CRITICAL”状态将被返回。同时日志会纪录一条超时错误。这个选项的实际功能经常被混淆。这个选项通常被用来作为最后的机制来终止那些不能及时完成的程序。这个选项应该被设置的大些(比如60秒),这样所有程序的可以在规定的时间内完成检查。如果一个程序的检查超过了时限,Nagio将会终止该进程。
Host Check Timeout
Format: host_check_timeout=
Example: host_check_timeout=60
这个选项表明了Nagios允许检查服务过程运行的最大秒数。如果检查超时,检查程序就被停掉,返回一个“CRITICAL”状态并且主机将被认为“down”掉,日志会记录一个超时错误。这选项实际经常产成广播冲突。它时常被用于最后的装置以停掉那些异常的和不能及时完成的程序。它经常被设置为60秒或更高,以便主机在规定时间内每台主机能正常完成检查。如果有主机运行超时,Nagios将停止它,认为它是已完成的进程。
Event Handler Timeout
Format: event_handler_timeout=
Example: event_handler_timeout=60
这是Nagios允许进程运行的最大妙值。如果一个进程超时则将被停掉,且会写入报警日志。启用该选项经常造成广播冲突,它被用作最后的装置来杀掉那些匿名的超时的命令。值常设置为60秒(或更高),以便每个进程能在规定时间内完成。如果某个进程超时,则Nagios将把它作为已运行完的进程而停掉。
Notification Timeout
Format: notification_timeout=
Example: notification_timeout=60
这是Nagios允许超时通知命令运行的最大妙值。如果通知命令超时则被停止且写入报警日志。启用该选项则造成广播冲突,此选项经常作为最后的装置来停止那些匿名的和超时的进程。一般设置为60秒等(更高),以便每个通知命令都能在规定时间内完成。如果它运行超时,nagios将认为是已完成的进程而停止它。
Obsessive Compulsive Service Processor Timeout
Format: ocsp_timeout=
Example: ocsp_timeout=5
这是设置Nagios允许强制服务进程运行的最大值。如果该进程超时将被停止且写入报警日志。
Obsessive Compulsive Host Processor Timeout
Format: ochp_timeout=
Example: ochp_timeout=5
40
这是监控程序(Nagios)将允许一个强制性的主处理机授权运行的最大时限。如果一个授权超过这个时限,它将被断开并在日志文件中记录下一个警告(warning)。
运行数据处理时限
格式: perfdata_timeout=<秒>
例子: perfdata_timeout=5
这是一个监控程序将允许一个主数据处理机或使用性能数据处理机授权运行的最大时限。如果一个授权超过这个时限,它将被断开并在日志文件中记录下一个警告(warning)。
Obsess Over Services Option
格式: obsess_over_services=<0/1>
例子: obsess_over_services=1
这个值决定了是否监控程序会困绕(obsess)服务器检查结果并且运行你定义的强制性服务器处理机程序。我知道的—滑稽的名字,但是这是我能想到的全部。这个选项对执行分布式监视器是有用的。如果你没有做分布式监视器,不要使用这个选项。
0=没有强制性服务器(默认)
1=强制性服务器
强制性服务器处理命令
格式: ocsp_command=<命令>
例子: ocsp_command=obsessive_service_handler
这个选项允许你在每一次服务器检查之后指定一个命令来运行,这在分布式监视器也有用。这个命令在任何一个事件处理或通告命令后被执行。这个命令的争论之处是一个命令定义的简短的名字,你定义在你的对象配置文件中。这个命令能够运行的最大时间由ocsp-timeout选项控制。这里能找到关于分布式监视器更多的信息。仅当obsess_over_services选项被广泛使用和obsess_over_services直接在服务器定义中被使用,这个命令才能够执行。
Obsess Over Services Option
格式: obsess_over_hosts=<0/1>
例子: obsess_over_hosts=1
这个值决定了是否监控程序会困绕(obsess)主机检查结果并且运行你定义的强制性主机处理机程序。我知道的—滑稽的名字,但是这是我能想到的全部。这个选项对执行分布式监视器是有用的。如果你没有做分布式监视器,不要使用这个选项。
0=没有强制性主机(默认)
1=强制性主机
强制性主机处理命令
格式: ochp_command=<命令>
例子: ochp_command=obsessive_host_handler
这个选项允许你在每一次主机检查之后指定一个命令来运行,这在分布式监视器也有用。这个命令在任何一个事件处理或通告命令后被执行。这个命令的争论之处是一个命令定义的简短的名字,你定义在你的对象配置文件中。这个命令能够运行的最大时间由ocsp-timeout选项控制。这里能找到关于分布式监视器更多的信息。仅当obsess_over_ hosts选项被广泛使用和obsess_over_ hosts直接在主机定义中被使用,这个命令才能够执行。
运行数据处理选项
格式: process_performance_data=<0/1>
例子: process_performance_data=1
这个选项的值决定是否监控程序将处理主机和服务器检测运行数据。
0=不处理运行数据(默认)
1=处理运行数据
主机运行数据处理命令
格式: host_perfdata_command=<命令>
例子: host_perfdata_command=process-host-perfdata
这个选项允许你在每一个对处理主机运行数据的主机检查后指定一个命令来运行,这个运行数据还能从检查中被返回。这个命令的争论之处是一个命令定义的简短的名字,你定义在你的对象配置文件中。仅当process_performance_data选项被广泛使用和process_performance_data直接在主机定义中被使用,这个命令才能够执行。
服务器运行数据处理命令
格式: service_perfdata_command=<命令>
例子: service_perfdata_command=process-service-perfdata
这个选项允许你在每一个对处理服务器运行数据的服务器检查后指定一个命令来运行,这个运行数据还能从检查中被返回。这个命令的争论之处是一个命令定义的简短的名字,你定义在你的对象配置文件中。仅当process_performance_data选项被广泛使用和process_performance_data直接在服务器定义中被使用时,这个命令才能够执行。
主机运行数据文件
格式: host_perfdata_file=
例子: host_perfdata_file=/usr/local/nagios/var/host-perfdata。dat
这个选项允许你指定一个文件,主机运行数据在每一次主机检查后将被写在这个文件里。数据被写到这个运行文件时受主机运行数据文件模板(host_perfdata_file_template)选项的指定。仅当process_performance_data选项被广泛使用和process_performance_data直接在主机定义中被使用时,运行数据才被写到这个文件中。
服务器运行数据文件
格式: service_perfdata_file=
例子: service_perfdata_file=/usr/local/nagios/var/service-perfdata。dat
这个选项允许你指定一个文件,服务器运行数据在每一次服务器检查后将被写在这个文件里。数据被写到这个运行文件时受服务器运行数据文件模板(service _perfdata_file_template)选项的指定。仅当process_performance_data选项被广泛使用和process_performance_data直接在服务器定义中被使用时,运行数据才被写到这个文件中。
主机运行数据文件模板
格式: host_perfdata_file_template=<模板>
例子: host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$
这个选项决定了什么样的数据或时数据怎么样被写到主机运行数据文件中。这个模板包含了宏观的,专门的字符(\t代表跳格,\r代表回车,\n代表换行)和纯文本。在每次写到运行数据文件里后,会自动换行。
服务器运行数据文件模板
格式: service_perfdata_file_template=<模板>
例子:
service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$
这个选项决定了什么样的数据或时数据怎么样被写到服务器运行数据文件中。这个模板包含了宏观的,专门的字符(\t代表跳格,\r代表回车,\n代表换行)和纯文本。在每次写到运行数据文件里后,会自动换行。
主机运行数据文件模式
格式: host_perfdata_file_mode=<方式>
例子: host_perfdata_file_mode=a
这个选项决定了是否服务器运行数据文件在写或添加模式下处于打开状态。除非这个文件被指定为pipe,否则你可能会使用添加路径的默认模式。
A =用添加模式打开文件(默认)
W =用写模式打开文件
服务器运行数据文件模式
格式: service_perfdata_file_mode=<方式>
例子: service_perfdata_file_mode=a
这个选项决定了是否服务器运行数据文件在写或添加模式下处于打开状态。除非这个文件被指定为pipe,否则你可能会使用添加路径的默认模式。
A =用添加模式打开文件(默认)
W =用写模式打开文件
主机运行数据文件处理间隔
格式: host_perfdata_file_processing_interval=<秒>
例子: host_perfdata_file_processing_interval=0
这个选项允许你在主机运行数据文件在使用主机运行数据文件处理命令处理时指定一个时间间隔(用秒)。当它的值为0时表明运行数据文件不应该以正常的时间间隔来处理。
服务器运行数据文件处理间隔
格式: service_perfdata_file_processing_interval=<秒>
例子: service_perfdata_file_processing_interval=0
这个选项允许你在服务器运行数据文件在使用服务器运行数据文件处理命令处理时指定一个时间间隔(用秒)。当它的值为0时表明运行数据文件不应该以正常的时间间隔来处理。
主机运行数据文件处理命令
格式: host_perfdata_file_processing_command=<命令>
例子: host_perfdata_file_processing_command=process-host-perfdata-file
这个选项允许你指定一个命令,这个命令应该被执行来处理主机运行数据文件。这个命令的争论之处是一个命令定义的简短的名字,你定义在你的对象配置文件中。这个命令执行的时间间隔直接由host_perfdata_file_processing_interval决定。
服务器运行数据文件处理命令
格式: service_perfdata_file_processing_command=<命令>
例子: service_perfdata_file_processing_command=process-service-perfdata-file
这个选项允许你指定一个命令,这个命令应该被执行来处理服务器运行数据文件。这个命令的争论之处是一个命令定义的简短的名字,你定义在你的对象配置文件中。这个命令执行的时间间隔直接由service_perfdata_file_processing_interval决定。
孤立服务器检查选项
格式: check_for_orphaned_services=<0/1>
例子: check_for_orphaned_services=0
这个选项允许你能够或是禁止对孤立服务器检查的检测。孤立服务器检查是已经执行的并且从事件队列中出去的一种检测,但是从长远来看没有任何结果报告。因为关于服务器并不产生结果,所以它并不先在事件队列中预定安排。这可以导致服务器检查停止执行。一般情况这种现象很少发生---但是如果当一个外部用户或一个进程断开了用来执行服务器检查的程序,这种现象就会发生。如果这个选项被激活并且监视程序并没有发现返回一个特定服务器检查的结果,那就会在运行日志中添加一个错误信息并且重新安排这个服务器检查。如果你开始观察服务器检查,并且重来没有重新安排预定,那就激活这个选项还要注意你是否在关注关于这个孤立服务器的任何日志记录。
0=不对孤立服务器检查进行检测(默认)
1=检测孤立服务器检查
服务器更新检查选项
格式: check_service_freshness=<0/1>
例子: check_service_freshness=0
这个选项决定了是否检测程序将周期性的检测服务器检查的更新状态。激活这个选项对于帮助确认是否被动服务器检查以一种及时的方式获得是很有用的。这里可以找到关于更新检查的更多的信息。
0=不检测服务器更新
1=检测服务器更新(默认)
服务器更新检查间隔
格式: service_freshness_check_interval=<秒>
例子: service_freshness_check_interval=60
这个设置决定了检测程序隔多长时间(以秒)会周期的检测服务器检查结果的更新。如果你断开服务器更新检查(用check_service_freshness这个选项),这个选项将不起作用。这里可以找到关于更新检查的更多的信息
主机更新检查选项
格式: check_host_freshness=<0/1>
例子: check_host_freshness=0
这个选项决定了是否检测程序将周期性的检测主机检查的更新状态。激活这个选项对于帮助确认是否被动主机检查以一种及时的方式获得是很有用的。这里可以找到关于更新检查的更多的信息。
0=不检测主机更新
1=检测主机更新(默认)
主机更新检查间隔
格式: host_freshness_check_interval=<秒>
例子: host_freshness_check_interval=60
这个设置决定了检测程序隔多长时间(以秒)会周期的检测主机检查结果的更新。如果你断开主机更新检查(用check_host_freshness这个选项),这个选项将不起作用。这里可以找到关于更新检查的更多的信息。
日期格式
格式: date_format=<选项>
例子: date_format=设置
.这些选择允许你指明需要的日期时间格式,Nagio应该被用在网络页面和日期/时间防火墙上。
。供选择的选项为(附带输写范例):
格式输出的例子
月/日/年 小时/分/秒:SS 06/30/2002 03:15:00
欧洲 日/月/年 小时/分/秒:SS 30/06/2002 03:15:00
国际8601标准 年-月-日 小时:分:秒:SS 2002-06-30 03:15:00
严格的8601国际标准 年-月-日T小时:分:秒:SS 2002-06-30T03:15:00
推荐用这个iso-8601格式啊!
非法的对象名称字符
格式: illegal_object_name_chars=<字符。。。>
例子: illegal_object_name_chars=‘~!$%^&*"|’<>?,()=
这个选项允许你表明那些不能在主机、服务器或一些物体列别表述上使用的非法字符。Nagio允许你使用物体表述的大部分字符,但是我要提醒你不要用上面提到的字符。.那样做会给你的网络界面、通知命令等方面到来麻烦。
非法的宏输出字符
格式: illegal_macro_output_chars=<字符。。。>
例子: illegal_macro_output_chars=‘~$^&"|’<>
这个选项允许你表述一些被宏抛弃的非法字符,这些非法字符在通知、事故处理和其它命令中使用。这种DOES NOT会影响服务器或主机检查命令中的宏。你可以选择不抛弃以上例子中提到的字符,但是我提醒你不要这样做。一些字符会被耳机翻译(例如:返回),并且会带来一些可能性的问题。
以下这些是在你是表述时会被宏放弃的字符:
$HOSTOUTPUT$,$HOSTPERFDATA$,$HOSTACKAUTHOR$,$HOSTACKCOMMENT$,
$SERVICEOUTPUT$,$SERVICEPERFDATA$,$SERVICEACKAUTHOR$,
$SERVICEACKCOMMENT$
使用正则式选项
格式: use_regexp_matching=<0/1>
例子: use_regexp_matching=0
这些选项决定了在物体定义是否具有指令性,这个物体定义是作为合法表述执行的。
以下为更多使用信息。
0 =不要使用正则式匹配(默认)
1 =使用正则式匹配
使用正则式匹配
格式: use_true_regexp_matching=<0/1>
例子: use_true_regexp_matching=0
如果你使用正则式匹配指令,这个选项会决定那些指令是合法的表述。
如果选项失效,指令会直接认为包含a * 或者?的字符为合法字符。如果这些指令有效,所有恰当的指令都会被当作合法的指令-有效时一定要注意!
以下为更多使用信息。
0 =不要使用正则式匹配(默认)
1 =使用正则式匹配
管理员电子邮件地址
格式: admin_email=
例子: admin_email=root@localhost。localdomain
这个电邮地址是为当地机器管理员提供的(例如:Nagios的操作者)。在使用$ADMINEMAIL$ 宏时,这个值被用来识别命令。
管理员短信配置页面
格式: admin_pager=
例子: admin_pager=pageroot@localhost。localdomain
这个页面值(或页面电邮路径)是为当地机器的管理员(例如:Nagios的操作者)提供的。在使用$ADMINEMAIL$ 宏时,这个页面值/地址被用来识别命令。