码迷,mamicode.com
首页 > 移动开发 > 详细

Nagios监控配置文件及监控流程

时间:2019-04-26 15:01:25      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:hosts   nstat   make   mail   缓冲   host   Fix   localhost   dev   

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

        }

 

Nagios监控配置文件及监控流程

标签:hosts   nstat   make   mail   缓冲   host   Fix   localhost   dev   

原文地址:https://www.cnblogs.com/legenidongma/p/10774114.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!