zoukankan      html  css  js  c++  java
  • Nagios监控配置文件及监控流程

    1、安装路径/usr/local/nagios/下存在etc、bin、sbin、share、var 这五个目录。Nagios 各个目录用途说明如下:

    bin    Nagios 可执行程序所在目录
    etc   Nagios 配置文件所在目录
    sbin  Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录
    share        Nagios网页文件所在的目录
    libexec      Nagios 外部插件所在目录
    var   Nagios 日志文件、lock 等文件所在的目录
    var/archives     Nagios 日志自动归档目录
    var/rw      用来存放外部命令文件的目录
    ls /usr/local/nagios/etc/objects/
    commands.cfg contacts.cfg  localhost.cfg  printer.cfg switch.cfg  templates.cfg  timeperiods.cfg  windows.cfg
    每个文件或目录含义如下表所示:
    文件名或目录名     用途
    cgi.cfg           控制CGI访问的配置文件
    nagios.cfg         Nagios 主配置文件
    resource.cfg    变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$USER1$
    objects     objects 是一个目录,在此目录下有很多配置文件模板,用于定义Nagios 对象
    objects/commands.cfg    命令定义配置文件,其中定义的命令可以被其他配置文件引用
    objects/contacts.cfg        定义联系人和联系人组的配置文件
    objects/localhost.cfg       定义监控本地主机的配置文件
    objects/printer.cfg  定义监控打印机的一个配置文件模板,默认没有启用此文件
    objects/switch.cfg   定义监控路由器的一个配置文件模板,默认没有启用此文件
    objects/templates.cfg     定义主机和服务的一个模板配置文件,可以在其他配置文件中引用
    objects/timeperiods.cfg  定义Nagios 监控时间段的配置文件
    objects/windows.cfg        监控Windows 主机的一个配置文件模板,默认没有启用此文件。

    第一:定义监控哪些主机、主机组、服务和服务组;

    第二:定义这个监控要用什么命令实现;

    第三:定义监控的时间段;

    第四:定义主机或服务出现问题时要通知的联系人和联系人组。

    nagios.cfg内容详解:
    log_file=/usr/local/nagios/var/nagios.log   # 定义nagios日志文件的路径  
    cfg_file=/usr/local/nagios/etc/objects/commands.cfg     # “cfg_file”变量用来引用对象配置文件,如果有更多的对象配置文件,在这里依次添加即可。  
    cfg_file=/usr/local/nagios/etc/objects/contacts.cfg    
    cfg_file=/usr/local/nagios/etc/objects/hosts.cfg  
    cfg_file=/usr/local/nagios/etc/objects/services.cfg  
    cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg  
    cfg_file=/usr/local/nagios/etc/objects/templates.cfg  
    cfg_file=/usr/local/nagios/etc/objects/localhost.cfg       # 本机配置文件
    cfg_file=/usr/local/nagios/etc/objects/windows.cfg         # windows 主机配置文件  
    object_cache_file=/usr/local/nagios/var/objects.cache      # 该变量用于指定一个“所有对象配置文件”的副本文件,或者叫对象缓冲文件  
    precached_object_file=/usr/local/nagios/var/objects.precache  
    resource_file=/usr/local/nagios/etc/resource.cfg           # 该变量用于指定nagios资源文件的路径,可以在nagios.cfg中定义多个资源文件。  
    status_file=/usr/local/nagios/var/status.dat               # 该变量用于定义一个状态文件,此文件用于保存nagios的当前状态、注释和宕机信息等。  
    status_update_interval=10                                  # 该变量用于定义状态文件(即status.dat)的更新时间间隔,单位是秒,最小更新间隔是1秒。  
    nagios_user=nagios         # 该变量指定了Nagios进程使用哪个用户运行。  
    nagios_group=nagios       # 该变量用于指定Nagios使用哪个用户组运行。  
    check_external_commands=1     # 该变量用于设置是否允许nagios在web监控界面运行cgi命令;  
                                                               # 也就是是否允许nagios在web界面下执行重启nagios、停止主机/服务检查等操作;  
                                                               # “1”为运行,“0”为不允许。  
    command_check_interval=10s         # 该变量用于设置nagios对外部命令检测的时间间隔,如果指定了一个数字加一个"s"(如10s);  
                                                               # 那么外部检测命令的间隔是这个数值以秒为单位的时间间隔;  
                                                               # 如果没有用"s",那么外部检测命令的间隔是以这个数值的“时间单位”的时间间隔。  
    interval_length=60              # 该变量指定了nagios的时间单位,默认值是60秒,也就是1分钟;  
    # 即在nagios配置中所有的时间单位都是分钟。

    timeperiods.cfg文件详解:

    define contact{  
            name                            generic-contact    ; 联系人名称  
            service_notification_period     24x7               ; 当服务出现异常时,发送通知的时间段,这个时间段"24x7"在timeperiods.cfg文件中定义  
            host_notification_period        24x7               ; 当主机出现异常时,发送通知的时间段,这个时间段"24x7"在timeperiods.cfg文件中定义  
            service_notification_options    w,u,c,r            ; 这个定义的是“通知可以被发出的情况”。w即warn,表示警告状态,u即unknown,表示不明状态;  
                                                               ; c即criticle,表示紧急状态,r即recover,表示恢复状态;  
                                                               ; 也就是在服务出现警告状态、未知状态、紧急状态和重新恢复状态时都发送通知给使用者。  
            host_notification_options       d,u,r                   ; 定义主机在什么状态下需要发送通知给使用者,d即down,表示宕机状态;  
                                                                    ; u即unreachable,表示不可到达状态,r即recovery,表示重新恢复状态。  
            service_notification_commands   notify-service-by-email ; 服务故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件;  
                                                                    ; 其中“notify-service-by-email”在commands.cfg文件中定义。  
            host_notification_commands      notify-host-by-email    ; 主机故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件;  
                                                                    ; 其中“notify-host-by-email”在commands.cfg文件中定义。   
            register                        0                    ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!  
            }  
    define host{  
            name                            generic-host    ; 主机名称,这里的主机名,并不是直接对应到真正机器的主机名;  
                                                            ; 乃是对应到在主机配置文件里所设定的主机名。  
            notifications_enabled           1               ; Host notifications are enabled  
            event_handler_enabled           1               ; Host event handler is enabled  
            flap_detection_enabled          1               ; Flap detection is enabled  
            failure_prediction_enabled      1               ; Failure prediction is enabled  
            process_perf_data               1               ; 其值可以为0或1,其作用为是否启用Nagios的数据输出功能;  
                                                            ; 如果将此项赋值为1,那么Nagios就会将收集的数据写入某个文件中,以备提取。  
            retain_status_information       1               ; Retain status information across program restarts  
            retain_nonstatus_information    1               ; Retain non-status information across program restarts  
            notification_period             24x7            ; 指定“发送通知”的时间段,也就是可以在什么时候发送通知给使用者。  
            register                        0               ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!  
            }

    2、Nagios监控客户端流程及步骤

    1)Nagios客户端安装需要安装两个软件,nagios-plugins-1.4.14.tar.gz和nrpe-2.14.tar.gz,安装方法如下:

    wget http://nchc.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.14/nrpe-2.14.tar.gz;useradd nagios ;tar -xzf  nagios-plugins-1.4.14.tar.gz &&cd nagios-plugins-1.4.14 &&./configure --prefix=/usr/local/nagios &&make &&make install
    tar -xzf nrpe-2.14.tar.gz && cd nrpe-2.14 &&./configure --enable-ssl --with-ssl-lib &&make all && make install-plugin && make install-daemon && make install-daemon-config
    chown -R nagios:nagios /usr/local/nagios/ ;cd .. ;cp nrpe.cfg /usr/local/nagios/etc/nrpe.cfg
    启动nrpe客户端命令:/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

    2) Nrpe客户端配置

    修改vi /usr/local/nagios/etc/nrpe.cfg 修改默认配置段的内容如下,去掉#号,做相应修改。
    command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
    command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
    command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda2
    command[check_procs]=/usr/local/nagios/libexec/check_procs -w 50 -c 100 
    command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20 -c 10

    3)Nagios服务器Nrpe配置

    Nagios 服务器端也需要安装nrpe,同时需要定义Nrpe监控命令,写command.cfg末尾即可:
    define command{
         command_name check_nrpe
          command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
      }

    4) Nagios监控端客户机配置

    在192.168.0.112.cfg加入如下配置段,引用客户端nrpe.cfg里面配置的check_load命令,命令一般格式为:check_nrpe!command

    define service{
    
            use                              local-service     
    
            host_name                        192.168.0.112
    
            service_description               Current Load
    
            check_command                   check_nrpe!check_load
    
            }

     

    5) Nagios设置时间间隔

    max_check_attempts 3
    normal_check_interval 3
    retry_check_interval 2
    notification_interval 3

    Nagios每三分钟检测一次服务,当某次检测到服务状态为异常时,直接进入软态(1/3 soft state),此后,以每2分钟(retry_check_interval)的检测频率,再进行2次(一共进行3次检测,从而达到 max_check_attempts)检测,如果这两次检测服务都为异常,则直接进入硬态(hard state)。进入硬态后,Nagios以每3分钟(normal_check_interva)一次的频率检测服务,这与常态时是一样的;同时每3分钟(notification_interval)进行一次告警。

  • 相关阅读:
    蓝桥网试题 java 基础练习 特殊的数字
    蓝桥网试题 java 基础练习 杨辉三角形
    蓝桥网试题 java 基础练习 查找整数
    蓝桥网试题 java 基础练习 数列特征
    蓝桥网试题 java 基础练习 字母图形
    蓝桥网试题 java 基础练习 01字串
    蓝桥网试题 java 基础练习 回文数
    蓝桥网试题 java 基础练习 特殊回文数
    Using text search in Web page with Sikuli
    each of which 用法
  • 原文地址:https://www.cnblogs.com/legenidongma/p/10774114.html
Copyright © 2011-2022 走看看