您的位置:首页 > 移动开发 > IOS开发

Nagios各独立配置文件详细介绍

2015-12-05 15:37 411 查看

以下介绍各配置文件的详细情况

查看安装正文请点击此处

a. templates.cfg文件

    nagios主要用于监控主机资源以及服务,在nagios配置中称为对象,为了不必重复定义一些监控对象,Nagios引入了一个模板配置文件,将一些共性的属性定义成模板,以便于多次引用。这就是templates.cfg的作用。

下面详细介绍下templates.cfg文件中每个参数的含义:

[code=bash;toolbar:false">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!         } define host{         name                            linux-server    ; 主机名称         use                             generic-host    ; use表示引用,也就是将主机generic-host的所有属性引用到linux-server中来;                                                         ; 在nagios配置中,很多情况下会用到引用。         check_period                    24x7            ; 这里的check_period告诉nagios检查主机的时间段         check_interval                  5               ; nagios对主机的检查时间间隔,这里是5分钟。         retry_interval                  1               ; 重试检查时间间隔,单位是分钟。         max_check_attempts              10              ; nagios对主机的最大检查次数,也就是nagios在检查发现某主机异常时,并不马上判断为异常状况;                                                         ; 而是多试几次,因为有可能只是一时网络太拥挤,或是一些其他原因,让主机受到了一点影响;                                                         ; 这里的10就是最多试10次的意思。         check_command                   check-host-alive ; 指定检查主机状态的命令,其中“check-host-alive”在commands.cfg文件中定义。         notification_period             24x7            ; 主机故障时,发送通知的时间范围,其中“workhours”在timeperiods.cfg中进行了定义;                                                         ; 下面会陆续讲到。         notification_interval           10              ; 在主机出现异常后,故障一直没有解决,nagios再次对使用者发出通知的时间。单位是分钟;                                                         ; 如果你觉得,所有的事件只需要一次通知就够了,可以把这里的选项设为0         notification_options            d,u,r           ; 定义主机在什么状态下可以发送通知给使用者,d即down,表示宕机状态;                                                         ; u即unreachable,表示不可到达状态;                                                         ; r即recovery,表示重新恢复状态。         contact_groups                  ts              ; 指定联系人组,这个“admins”在contacts.cfg文件中定义。         register                        0               ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!         } define host{         name                    windows-server  ; The name of this host template         use                     generic-host    ; Inherit default values from the generic-host template         check_period            24x7            ; By default, Windows servers are monitored round the clock         check_interval          5               ; Actively check the server every 5 minutes         retry_interval          1               ; Schedule host check retries at 1 minute intervals         max_check_attempts      10              ; Check each server 10 times (max)         check_command           check-host-alive        ; Default command to check if servers are "alive"         notification_period     24x7            ; Send notification out at any time - day or night         notification_interval   10              ; Resend notifications every 30 minutes         notification_options    d,r             ; Only send notifications 24000  for specific host states         contact_groups          ts              ; Notifications get sent to the admins by default         hostgroups              windows-servers ; Host groups that Windows servers should be a member of         register                0               ; DONT REGISTER THIS - ITS JUST A TEMPLATE         } define service{         name                            generic-service         ; 定义一个服务名称         active_checks_enabled           1                       ; Active service checks are enabled         passive_checks_enabled          1                       ; Passive service checks are enabled/accepted         parallelize_check               1                       ; Active service checks should be parallelized;                                                                 ; (disabling this can lead to major performance problems)         obsess_over_service             1                       ; We should obsess over this service (if necessary)         check_freshness                 0                       ; Default is to NOT check service 'freshness'         notifications_enabled           1                       ; Service notifications are enabled         event_handler_enabled           1                       ; Service event handler is enabled         flap_detection_enabled          1                       ; Flap detection is enabled         failure_prediction_enabled      1                       ; Failure prediction is enabled         process_perf_data               1                       ; Process performance data         retain_status_information       1                       ; Retain status information across program restarts         retain_nonstatus_information    1                       ; Retain non-status information across program restarts         is_volatile                     0                       ; The service is not volatile         check_period                    24x7             ; 这里的check_period告诉nagios检查服务的时间段。         max_check_attempts              3                ; nagios对服务的最大检查次数。         normal_check_interval           5                ; 此选项是用来设置服务检查时间间隔,也就是说,nagios这一次检查和下一次检查之间所隔的时间;                                                          ; 这里是5分钟。         retry_check_interval            2                ; 重试检查时间间隔,单位是分钟。         contact_groups                  ts           ; 指定联系人组         notification_options            w,u,c,r          ; 这个定义的是“通知可以被发出的情况”。w即warn,表示警告状态;                                                          ; u即unknown,表示不明状态;                                                          ; c即criticle,表示紧急状态,r即recover,表示恢复状态;                                                          ; 也就是在服务出现警告状态、未知状态、紧急状态和重新恢复后都发送通知给使用者。         notification_interval           10               ; Re-notify about service problems every hour         notification_period             24x7             ; 指定“发送通知”的时间段,也就是可以在什么时候发送通知给使用者。         register                        0                ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!         } define service{         name                            local-service           ; The name of this service template         use                             generic-service         ; Inherit default values from the generic-service definition         max_check_attempts              4             ; Re-check the service up to 4 times in order to determine its final (hard) state         normal_check_interval           5             ; Check the service every 5 minutes under normal conditions         retry_check_interval            1             ; Re-check the service every minute until a hard state can be determined         register                        0             ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!         }[p]#notify-host-by-email命令的定义  define command{         command_name    notify-host-by-email             #命令名称,即定义了一个主机异常时发送邮件的命令。         command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$                                     #命令具体的执行方式。         }#notify-service-by-email命令的定义  define command{         command_name    notify-service-by-email          #命令名称,即定义了一个服务异常时发送邮件的命令         command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$         } #check-host-alive命令的定义 define command{         command_name    check-host-alive                 #命令名称,用来检测主机状态。         command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5                                      # 这里的变量$USER1$在resource.cfg文件中进行定义,即$USER1$=/usr/local/nagios/libexec;                         # 那么check_ping的完整路径为/usr/local/nagios/libexec/check_ping;                         # “-w 3000.0,80%”中“-w”说明后面的一对值对应的是“WARNING”状态,“80%”是其临界值。                         # “-c 5000.0,100%”中“-c”说明后面的一对值对应的是“CRITICAL”,“100%”是其临界值。                         # “-p 1”说明每次探测发送一个包。         } define command{         command_name    check_local_disk         command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$            #$ARG1$是指在调用这个命令的时候,命令后面的第一个参数。         } define command{         command_name    check_local_load         command_line    $USER1$/check_load -w $ARG1$ -c $ARG2$         } define command{         command_name    check_local_procs         command_line    $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$         } define command{         command_name    check_local_users         command_line    $USER1$/check_users -w $ARG1$ -c $ARG2$         } define command{         command_name    check_local_swap         command_line    $USER1$/check_swap -w $ARG1$ -c $ARG2$         } define command{         command_name    check_ftp         command_line    $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$         } define command{         command_name    check_http         command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$         } define command{         command_name    check_ssh         command_line    $USER1$/check_ssh $ARG1$ $HOSTADDRESS$         } define command{         command_name    check_ping         command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5         } define command{         command_name    check_nt         command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$         }[p]############################################################################### # LOCALHOST.CFG - SAMPLE OBJECT CONFIG FILE FOR MONITORING THIS MACHINE # # # NOTE: This config file is intended to serve as an *extremely* simple  #       example of how you can create configuration entries to monitor #       the local (Linux) machine. # ############################################################################### ############################################################################### ############################################################################### # # HOST DEFINITION # ############################################################################### ############################################################################### # Define a host for the local machine define host{         use                     linux-server                     host_name               10.0.0.14         alias                   10.0.0.14         address                 127.0.0.1         } ############################################################################### ############################################################################### # # HOST GROUP DEFINITION # ############################################################################### ############################################################################### # Define an optional hostgroup for Linux machines define hostgroup{         hostgroup_name  linux-servers          alias           Linux Servers         members         10.0.0.14             } ############################################################################### ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### ############################################################################### # Define a service to "ping" the local machine define service{         use                             local-service          host_name                       10.0.0.14         service_description             PING check_command check_ping!100.0,20%!500.0,60%         } # Define a service to check the disk space of the root partition # on the local machine.  Warning if < 20% free, critical if # < 10% free space on partition. define service{         use                             local-service            host_name                       10.0.0.14         service_description             Root Partition check_command check_local_disk!20%!10%!/        } # Define a service to check the number of currently logged in # users on the local machine.  Warning if > 20 users, critical # if > 50 users. define service{         use                             local-service          host_name                       10.0.0.14         service_description             Current Users check_command check_local_users!20!50         } # Define a service to check the number of currently running procs # on the local machine.  Warning if > 250 processes, critical if # > 400 users. define service{         use                             local-service           host_name                       10.0.0.14         service_description             Total Processes check_command check_local_procs!250!400!RSZDT         } # Define a service to check the load on the local machine.  define service{         use                             local-service           host_name                       10.0.0.14         service_description             Current Load check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0         } # Define a service to check the swap usage the local machine.  # Critical if less than 10% of swap is free, warning if less than 20% is free define service{         use                             local-service             host_name                       10.0.0.14         service_description             Swap Usage check_command check_local_swap!20!10         } # Define a service to check SSH on the local machine. # Disable notifications for this service by default, as not all users may have SSH enabled. define service{         use                             local-service          host_name                       10.0.0.14         service_description             SSH check_command check_ssh notifications_enabled 0         } # Define a service to check HTTP on the local machine. # Disable notifications for this service by default, as not all users may have HTTP enabled. define service{         use                             local-service         host_name                       10.0.0.14         service_description             HTTP check_command check_http notifications_enabled 0         }[p]windows.cfg
define host{         use             windows-server  ; Inherit default values from a template         host_name       Nagios-Windows  ; The name we're giving to this host         alias           My Windows Server       ; A longer name associated with the host         address         192.168.1.113   ; IP address of the host         } define hostgroup{         hostgroup_name  windows-servers ; The name of the hostgroup         alias           Windows Servers ; Long name of the group         } define service{         use                     generic-service         host_name               Nagios-Windows         service_description     NSClient++ Version         check_command           check_nt!CLIENTVERSION         } define service{         use                     generic-service         host_name               Nagios-Windows         service_description     Uptime         check_command           check_nt!UPTIME         } define service{         use                     generic-service         host_name               Nagios-Windows         service_description     CPU Load         check_command           check_nt!CPULOAD!-l 5,80,90         } define service{         use                     generic-service         host_name               Nagios-Windows         service_description     Memory Usage         check_command           check_nt!MEMUSE!-w 80 -c 90         } define service{         use                     generic-service         host_name               Nagios-Windows         service_description     C:\ Drive Space         check_command           check_nt!USEDDISKSPACE!-l c -w 80 -c 90         } define service{         use                     generic-service         host_name               Nagios-Windows         service_description     W3SVC         check_command           check_nt!SERVICESTATE!-d SHOWALL -l W3SVC         } define service{         use                     generic-service         host_name               Nagios-Windows         service_description     Explorer         check_command           check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe         }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”就是上面定义的联系人,如果有多个联系人则以逗号相隔         }[p][strong]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           }[p]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: