hrtgrsf 发表于 2015-4-2 08:22:01

监控软件nagios之配置文件详解

1.nagios根目录
# ll
total 28
drwxrwxr-x.2 nagios nagios 4096 Apr1 14:50 bin          --二进制文件
drwxrwxr-x.3 nagios nagios 4096 Apr1 15:27 etc          --配置文件
drwxr-xr-x.2 root   root   4096 Apr1 15:23 include         --包含文件
drwxrwxr-x.2 nagios nagios 4096 Apr1 15:23 libexec   --插件文件
drwxrwxr-x.2 nagios nagios 4096 Apr1 15:03 sbin         --cgi文件
drwxrwxr-x. 11 nagios nagios 4096 Apr1 15:23 share      --网页文件和文档
drwxrwxr-x.5 nagios nagios 4096 Apr1 15:34 var          --锁文件和日志文件
#

2.templates.cfg配置文件(定义监控中重复的参数)
# cd etc/
# ll
total 68
-rw-rw-r--. 1 nagios nagios 12027 Apr1 14:53 cgi.cfg               --cgi配置文件
-rw-r--r--. 1nagios ngios      19 Apr   1 14:52 htpasswd            --认证文件
-rw-rw-r--. 1 nagios nagios 44637 Apr1 14:50 nagios.cfg         --主配置文件
drwxrwxr-x. 2 nagios nagios4096 Apr1 15:27 objects               --主机定义文件
-rw-rw----. 1 nagios nagios1324 Apr1 14:50 resource.cfg      --资源管理文件
# ll objects/
total 48
-rw-rw-r--. 1 nagios nagios7700 Apr1 14:50 commands.cfg   --定义命令文件
-rw-rw-r--. 1 nagios nagios2138 Apr1 14:50 contacts.cfg         --定义联系人和联系人组
-rw-rw-r--. 1 nagios nagios5375 Apr1 14:50 localhost.cfg         --本地主机的监控文件
-rw-rw-r--. 1 nagios nagios3096 Apr1 14:50 printer.cfg             --监控打印文件模板
-rw-rw-r--. 1 nagios nagios3265 Apr1 14:50 switch.cfg             --监控交换机文件模板
-rw-rw-r--. 1 nagios nagios 10621 Apr1 14:50 templates.cfg      --作为资源引用文件
-rw-rw-r--. 1 nagios nagios3180 Apr1 14:50 timeperiods.cfg      --定义监控时间段
-rw-rw-r--. 1 nagios nagios3991 Apr1 14:50 windows.cfg          --监控windows主机模板# cd objects/
# vim templates.cfg         --此文件是固定的,是所有文件中的相同配置(定义后可以不在其它配置文件中一一定义了)
define contact{
      name                            generic-contact         --定义 联系人
      service_notification_period   24x7                     --服务出现异常通知联系人         
      host_notification_period      24x7                      --主机出现异常通知联系人
      service_notification_options    w,u,c,r,f,s             --服务器级别,w即warn表示警告状态,u即unknown,表示不明状态,c即criticle表示紧急状态,r即recover,表示恢复态   
      host_notification_options       d,u,r,f,s               --主机故障级别               
      service_notification_commands   notify-service-by-email      --服务发现故障用邮件报警(notify-service-by-email在commands.cfg文件中定义)      
      host_notification_commands      notify-host-by-email             --主机发现故障用邮件报警
      register                        0                     
      }
define host{
      name                            generic-host    --主机名,不是真实主机名,是在nagios页面显示的主机名
      notifications_enabled         1                              
      event_handler_enabled         1               
      flap_detection_enabled          1            
      process_perf_data               1               
      retain_status_information       1               
      retain_nonstatus_information    1            
      notification_period             24x7         
      register                        0            
      }
define host{
      name                            linux-server      --监控linux主机
      use                           generic-host      --引用其它主机的配置
      check_period                  24x7               --监控主机的时间段
      check_interval                  5                     --检查时间间隔
      retry_interval                  1                     --重试检查时间间隔
      max_check_attempts            10            --检查多少次才认为是宕机
      check_command                   check-host-alive   --检查主机状态的命令(check-host-alive在commands.cfg文件中定义)
      notification_period             24X7                        --主机故障时报警时间   
      notification_interval         120                           --当主机一直故障每隔120分钟发送一次报警
      notification_options            d,u,r                        --定义主机在什么状态时被定为宕机
      contact_groups                  admins                     --指定联系人组
      register                        0                                 
      }
define host{
      name                  windows-server      --监控windows主机
      use                     generic-host   
      check_period            24x7         
      check_interval          5            
      retry_interval          1            
      max_check_attempts      10            
      check_command         check-host-alive      
      notification_period   24x7         
      notification_interval   30            
      notification_options    d,r            
      contact_groups          admins         
      hostgroups            windows-servers
      register                0               
      }
define host{
      name                  generic-printer         --监控打印
      use                     generic-host   
      check_period            24x7         
      check_interval          5            
      retry_interval          1            
      max_check_attempts      10            
      check_command         check-host-alive      
      notification_period   workhours            
      notification_interval   30            
      notification_options    d,r            
      contact_groups          admins         
      register                0            
      }
define host{
      name                  generic-switch       --监控交换机
      use                     generic-host
      check_period            24x7         
      check_interval          5            
      retry_interval          1               
      max_check_attempts      10            
      check_command         check-host-alive      
      notification_period   24x7         
      notification_interval   30            
      notification_options    d,r         
      contact_groups          admins         
      register                0            
      }
define service{
      name                            generic-service         --监控服务
      active_checks_enabled         1                     
      passive_checks_enabled          1                     
      parallelize_check               1                     
      obsess_over_service             1                     
      check_freshness               0                     
      notifications_enabled         1                     
      event_handler_enabled         1                     
      flap_detection_enabled          1                     
      process_perf_data               1                     
      retain_status_information       1                     
      retain_nonstatus_information    1                     
      is_volatile                     0                     
      check_period                  24x7                  
      max_check_attempts            3                     
      normal_check_interval         10                     
      retry_check_interval            2                     
      contact_groups                  admins               
      notification_options            w,u,c,r               
      notification_interval         60                     
      notification_period             24x7                  
         register                        0                     
      }

3.resource.cfg配置文件(变量定义文件)
# vim ../resource.cfg
$USER1$=/usr/local/nagios-4.0.8/libexec               --插件的路径

4.commands.cfg配置文件(加入新的监控命令)
# vim commands.cfg
define command{
      command_name    check_local_disk       --定义命令名
      command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$    --监控脚本
      }

5.host.cfg配置文件(默认不存在,被监控主机地址和信息)
# vim host.cfg
define host    {         
      use                     linux-server          #引用主机linux-server的属性信息,linux-server主机在templates.cfg文件中进行了定义.
      host_name               Nagios-Linux          #主机名      
      alias                   Nagios-Linux          #主机别名      
      address               192.168.1.111         #被监控的主机地址,这个地址可以是ip,也可以是域名.      }
#定义一个主机组   
define hostgroup   {            
      hostgroup_name          bsmart-servers      #主机组名称,可以随意指定.      
      alias                   bsmart servers               #主机组别名      
      members               Nagios-Linux            #主机组成员,其中“Nagios-Linux”就是上面定义的主机
   }

6.services.cfg配置文件(默认不存在,主要定义主机资源和服务)
# vim services.cfg
define service   {         
      use                     local-service      #引用local-service服务的属性值,local-service在templates.cfg文件中进行了定义.      
   host_name               Nagios-Linux         #指定要监控哪个主机上的服务,“Nagios-Server”在hosts.cfg文件中进行了定义.   
   service_description   check-host-alive       #对监控服务内容的描述,以供维护人员参考.               
   check_command         check-host-alive       #指定检查的命令.
}

7.contacts.cfg配置文件(定义联系人和联系组)
# vim contacts.cfg
define contact{
      contact_name                     David               #联系人的名称,这个地方不要有空格
      use                     generic-contact      #引用generic-contact的属性信息,其中“generic-contact”在templates.cfg文件中进行定义
      alias                           Nagios Admin      email                           david.tang@bsmart.cn
}
define contactgroup{
      contactgroup_name       ts             #联系人组的名称,同样不能空格
      alias                   Technical Support               #联系人组描述
      members               David                  #联系人组成员,其中“david”就是上面定义的联系人,如果有多个联系人则以逗号相隔
}

8.timeperiods.cfg配置文件(定义监控时间段)
# vim timeperiods.cfg
define timeperiod{
      timeperiod_name 24x7
      alias         24 Hours A Day, 7 Days A Week
      sunday          00:00-24:00
      monday          00:00-24:00
      tuesday         00:00-24:00
      wednesday       00:00-24:00
      thursday      00:00-24:00
      friday          00:00-24:00
      saturday      00:00-24:00
      }

# 'workhours' timeperiod definition
define timeperiod{
      timeperiod_name workhours
      alias         Normal Work Hours
      monday          09:00-17:00
      tuesday         09:00-17:00
      wednesday       09:00-17:00
      thursday      09:00-17:00
      friday          09:00-17:00
      }

9.nagios.cfg配置文件(核心配置文件,所有的配置文件必须要在这个配置文件中引用进来)
# vim ../nagios.cfg
cfg_file=/usr/local/nagios-4.0.8/etc/objects/commands.cfg
cfg_file=/usr/local/nagios-4.0.8/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios-4.0.8/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios-4.0.8/etc/objects/templates.cfg

10.检查配置文件是否有异常
# /usr/local/nagios-4.0.8/bin/nagios -v /usr/local/nagios-4.0.8/etc/objects/localhost.cfg

页: [1]
查看完整版本: 监控软件nagios之配置文件详解