Nagios配置文件详解

1. 概述

2. 配置文件

Nagios配置文件官方说明文档:https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/toc.html
Nagios配置文件分为四部分:html

  • Main Configuration File 主配置文件
  • Resource File(s) 资源配置文件
  • Object Definition Files 对象定义文件
  • CGI Configuration File CGI配置文件

Main Configure File
主配置文件包含了一些列用于nagios core daemon工做的指令。该配置文件须要对nagios core daemon和CGI 有可读权限。
配置文件说明:
1. 行首以#开始的为注释
2. 变量名必须在行首开始处,而且以前不能拥有空格
3. 变量名区分大小写
4. 主配置文件中的路径多是相对的或绝对的。相对路径相对于主配置文件的位置。ios

本系列博客中,Main Configure File位于:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/nagios.cfgweb

3. 主配置文件nagios.cfg详解

官方配置文件详解:https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/configmain.htmlwindows

nagios.cfg是Nagios监控系统的主要配置文件,是Nagios基本功能的实现。
下面表格中的配置及参数,是本系列博客部署Nagios(版本4.4.1)时的参数,仅供参考。缓存

3.1 Log File

log_file:/usr/local/globle/softs/monitor/nagios/4.4.1/var/nagios.log
nagios运行时的总日志文件。必须是配置文件的第一个选项。默认开启。服务器

3.2 Object Configuration File

主要有cfg_fileh和cfg_dir两部分组成网络

cfg_fie:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/commands.cfg   
命令模板配置文件。默认开启
cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/contacts.cfg   
联系人模板配置文件。默认开启
cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/timeperiods.cfg
报警时间模板配置文件。默认开启
cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/templates.cfg
监控模板配置文件。默认开启
cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/localhost.cfg
本机(监控主机)配置文件。默认开启
cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/windows.cfg
windows监控配置。默认关闭
cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/switch.cfg
交换机监控配置。默认关闭
cfg_file:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/objects/printer.cfg
打印机监控配置。默认关闭
cfg_dir:/usr/local/globle/softs/monitor/nagios/4.4.1/etc/servers
服务监控目录。启用时,位于该目录下的xxx.cfg文件所有生效,方便用户自定义配置管理。默认关闭

3.3 Object Configuration Directory

object_cache_file:/usr/local/globle/softs/monitor/nagios/4.4.1/var/objects.cache
对象缓存文件。在Nagios启动或者重启时,被CGI读取使用,避免CGI从配置文件读取对象配置时,因Nagios对象配置文件修改形成的冲突。

3.4 Precached Object File

precached_object_file:/usr/local/globle/softs/monitor/nagios/4.4.1/var/objects.precache
>此选项肯定预缓存对象文件的位置。若是使用-p 命令行选项运行 Nagios, 它将预处理对象配置文件, 并将缓存的配置写入此文件。 而后, 您可使用-u 选项启动 Nagios 以使其读取此预缓存文件中的对象定义, 而不是标准对象配置文件 (请参见上面的 cfg_file 和 cfg_dir 选项)。使用预缓存对象文件能够加快 (从新) 启动所需的时间。若是您有一个大的和/或复杂的配置, Nagios 过程。阅读有关优化 Nagios 的文档部分, 以找到更有关此功能的工做原理。

3.5 Resource File

resource_file=/usr/local/globle/softs/monitor/nagios/4.4.1/etc/resource.cfg
这是一个可选的资源文件,包含了USERx的宏定义。经过配置多个resource_file能够设置多个资源文件。
CGI不会读取资源文件,所以敏感的用户密码等信息能够定义为此文件中的宏,而且能够将文件权限设置文件600

3.6 Status FIle and Update Interval

status_file=/usr/local/globle/softs/monitor/nagios/4.4.1/var/status.dat
存储当前全部被监控的服务和主机状态的文件。它的值被CGI读取和执行。在nagios重启时这些内容会被删除。
status_update_internal=10
该选项肯定nagios周期性转存program,host,servicie的频率值

3.7 Nagios User and Group

nagios_user=nagios
运行nagios的系统用户
nagios_group=nagios
运行nagios的用户组

3.8 Temp File and Path

temp_file=/usr/local/globle/softs/monitor/nagios/4.4.1/var/nagios.tmp
这是nagios更新状态日志,清除内容文件等划出的临时目录。该目录在nagios启动时建立,使用和删除
temp_path=/tmp
nagios为service和host检查结果建立的临时目录

External Command Check Option

check_external_commands=1socket

该选项容许用户指定nagios是否检查外部指令(在下面定义的command file选项)。默认状况下,nagios将会检查外部命令。若是用户想启用CGI命令接口,能够开启该项。0表示不开启,1表示开启。默认开启。优化

command_file=/usr/local/globle/softs/monitor/nagios/4.4.1/var/rw/nagios.cmd命令行

该选项是nagios检查外部命令请求的文件。它也是用户经过CGI提交的命令的地方。所以对于web server的用户必须是可写权限的。权限设置须要在目录级别而非文件,而且该文件在执行完其内容后总被删除。默认开启

Query Socket

query_socket=/usr/local/globle/softs/monitor/nagios/4.4.1/var/rw/nagios.qh
该选项是Query Handler interface建立的socker套接字

Check Workers?

check_worker=10
该项设置指定当nagios core 开始时,有多少worker process应该启动。worker process 用于执行主机和服务的检查。
若是未指定,默认的值为每一个计算核心1.5个worker process,最小4个worker process

Disable Service Checks When Host Down?

host_down_disable_service_checks=0/1
该项设置将会关闭服务检查当其所在主机宕机时。虽然在某些环境中是可取的, 但启用此值可能会扭曲报表值, 由于预期的检查数量不会执行

Notificatioins Option?

enable_notification=0/1
该项设置决定了当nagios启动或者重启时是否发送警告信息。若是禁用,nagios不会发送任何主机或者服务的报警。
注意:若是用户开启了【state retention】,nagios将会忽略此项配置,并在(从新)启动时使用最后一次该选项的配置(存储在state retention file中),除非禁用掉【use_retained_program_state】选项。
若是用户在【state retention】启用时想要改变此项配置(use_retained_program_state开启),用户将不得不经过web interface来实现。

lock_file=/var/run/nagios.lock
程序运行时pid的锁文件

event_broker_options=-1
控制那些数据发送到事件中断器。0表示不发送,-1表示发送全部。其余值参照文档。

EVENT BROKER MODULES
该选项指令主要用于指定一个在nagios启动时被加载的事件中断模块。经过定义多个指定来加载多个模块。
启动时传递给模块的参数经过空格隔开。
例如:

broker_module=<modulepath>    [moduleargs]
    breoker_module=/somewhere/module1.0
    breoker_module=/somewhere/module2.0    arg1    arg2=3    debud=0

Log Rotation Method

日志轮换方式主要争对nagios的主日志文件。其值包括:

  • n 不进行日志轮换
  • h 以小时为单位进行日志轮换
  • d 以天为单位进行日志轮换
  • w 以周为单位进行日志轮换(每周最后一天)
  • m 以月为单位进行日志轮换(每个月最后一天)
log_rotation_method=d 
默认以天为单位进行日志轮换

Log Archive Path

log_archive_path=/usr/local/globle/softs/monitor/nagios/4.4.1/var/archives**    
该选项定义日志轮换归档目录

use_syslog=1
该现象表示是否记录到syslog中。1表示记录,0表示不记录。
log_notification=1
日志notifications级别是否被记录。1表示记录,0表示不记录。
log_service_retries=1
服务检查重启记录是否记录到日志。1表示记录,0表示不记录。
log_host_retries=1
主机检查重试记录是否记录到日志。1表示记录,0表示不记录。
log_event_handlers=1
若是不但愿host和service事件句柄被记录到日志,设置为0,反之设置为1。
log_initial_states=0
若是用户但愿记录全部的主机和服务的开始状态到日志文件中。若是用户不使用具备长期状态的外部应用程序统计报告, 您不须要启用此选项。 在此状况下, 将值设置为0
log_current_states=1
若是不但愿 Nagios 在将日志存储到主日志文件以后记录全部当前主机和服务状态, 能够经过将此值设置为0来禁用此选项。默认值为1。
log_external_commands=1
若是不但愿 Nagios 记录外部命令, 请将此值设置为0。 若是外部指令应该被记录, 请将此值设置为 1
注意: 此选项不包括对被动服务检查的日志记录(请参阅如下选项以控制是否记录被动检查)
log_passive_checks=1
若是用户不但愿nagios记录主动检查日志,设置为0。反之为1
GLOBAL HOST AND SERVICE EVENT HANDLERS
这些选项容许您指定要为每一个主机或服务状态更改运行的主机和服务事件处理程序命令。
全局事件处理程序在您在每一个主机或服务定义中有选择地指定的事件处理程序以前当即执行。
命令参数是您在主机配置文件中定义的命令定义的简称。
有关详细信息, 请阅读 HTML 文档。

4. 对象配置文件

4.1 对象配置文件概述

Nagios的对象包括:服务,服务组,主机,主机组,联系人,联系人组,命令集,时间段,通知方式,通知和执行依赖。
Nagios的Object 在主配置文件中的cfg_file和cfg_dir两个参数定义文件和目录。
主机和主机组
主机通常是物理设备,如服务器,工做站,路由器,交换机,打印机等;主机通常有IP地址或者MAC地址;主机上有一个或者多个服务运行;主机之间存在父子关系,一般可以反映真实的网络链接
主机组是一个或者更多的主机
服务和服务组
服务主要包括:主机资源如CPU负载,磁盘使用,系统负载等;网络服务,如HTTP,POP3,FTP,SSH等;
服务组是一个或者更多的服务
联系人和联系人组
联系方式定义,报警应答。
时刻和时间段
主机或者服务监控的时间段,通知联系人的时间段
命令集
包括:主机和服务的检查,报警,事件处理,其余命令

不难发现: Nagios实际上不监控行为量化,而后采用宏定义的方式实现批量处理。 好比监控对象颗粒化:主机,主机组,服务,服务组; 时间颗粒化:监控时刻或者时间段,报警时刻或者时间段,通知时刻或者时间段 行为颗粒化:主机(组)检查行为,服务(组)检查行为,报警和通知行为,事件处理(控制)行为等

相关文章
相关标签/搜索