zoukankan      html  css  js  c++  java
  • Nagios配置文件详解

    1. 概述

    2. 配置文件

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

    • 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. 主配置文件中的路径可能是相对的或绝对的。相对路径相对于主配置文件的位置。

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

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

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

    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=1

    该选项允许用户指定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实际上不监控行为量化,然后采用宏定义的方式实现批量处理。
    比如监控对象颗粒化:主机,主机组,服务,服务组;
    时间颗粒化:监控时刻或者时间段,报警时刻或者时间段,通知时刻或者时间段
    行为颗粒化:主机(组)检查行为,服务(组)检查行为,报警和通知行为,事件处理(控制)行为等

  • 相关阅读:
    jQuery 设置checkbox全选
    jQuery 判断checkbox是否选中的方法
    jQuery 设置控件的显示与隐藏
    play freamwork 页面的Html+Groovy模板中添加Java代码
    play freamwork 页面的Html+Groovy模板中的if判断
    play freamwork 页面的form表单样式
    获取微信用户列表Openid
    play freamwork 定时任务
    Xitrum学习笔记20
    Xitrum学习笔记19
  • 原文地址:https://www.cnblogs.com/liwanliangblog/p/9267672.html
Copyright © 2011-2022 走看看