Nagios – Contacts, templates y time periods

Los ficheros de configuración a tratar en este capítulo serán contacts.cfg, templates.cfg y timeperiods.cfg.

contacts.cfg:

En el fichero contacts podemos definir tanto contactos como grupos de contactos.

Los grupos de contactos aquí definidos podrán ser luego aplicados a las plantillas para establecer quien recibirá las notificaciones.

Ejemplo de contactos y grupo de contacto:


define contact{
        contact_name                    oper1
        use                             generic-contact        
        alias                           Nagios oper number one
        email                           operador.1@dominios.com
        }

define contact{
        contact_name                    oper2
        use                             generic-contact        
        alias                           Nagios oper number two
        email                           operador.2@dominios.com
        }

En este ejemplo, registramos los contactos oper1 y oper2. definimos sus emails. El resto de opciones las va a coger de la plantilla generic-contact.


define contactgroup{
        contactgroup_name       operadores
        alias                   Nagios operators
        members                 oper1,oper2
        }

En este ejemplo, registramos en el grupo operadores, a los usuarios oper1 y oper2.

A partir de este momento, en las plantillas, al definir un fichero, podremos asignarle el grupo operadores, que heredará la configuración definida en el contacto generic-contact, también definido en templates.

templates.cfg:

Templates es un fichero donde podremos definir las plantillas, de todas las entidades con las que trabajamos en Nagios.

Vamos a ver un ejemplo con una plantilla de servicio:

En esta plantilla definimos generic-service:


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                       
        failure_prediction_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, operadores                
        notification_options            w,u,c,r                 
        notification_interval           60                      
        notification_period             24x7                    
         register                        0                      
        }

Al definir mas tarde un servicio, le diremos que utilice la plantilla generic-service.

Podemos definir diferentes tipos de plantillas para diferentes tipos de chequeo. Por ejemplo, servicio-noche y servicio-dia, en los que definiríamos dos checkperiods diferentes (con diferentes time periods), para que uno tuviera un chequeo de diferente intensidad dependiendo de la hora.

quedaría algo asi:


define service{
        name                            generic-service-day         
        check_period                    dia
        max_check_attempts              3                       
        normal_check_interval           5                      
        retry_check_interval            2                       
        }
define service{
        name                            generic-service-night
        check_period                    noche
        max_check_attempts              10                       
        normal_check_interval           10                      
        retry_check_interval            5                       
        }

De esta forma, tenemos las plantillas generic-service-day y generic-service-night, las cuales podremos aplicar a los chequeos, de forma que por la noche el chequeo sea menos intenso que por el día y ante servicios que se recuperan solos tras una caida, tendremos menos posibilidades de que nos despierten ;) .

timeperiods.cfg

Con lo visto en el ejemplo anterior, ya sabemos que podemos definir diferentes time_periods, aplicables tanto a chequeos de host y servicio, como a envio de notificaciones.

el típico timeperiod 24×7, definido por defecto es así:


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
        }

Pasamos a definir dos timeperiods personalizados: day y night:

define timeperiod{
        timeperiod_name day
        alias           solo durante horario de oficina
        sunday          09:00-16:59
        monday          09:00-16:59
        tuesday         09:00-16:59
        wednesday       09:00-16:59
        thursday        09:00-16:59
        friday          09:00-16:59
        saturday        09:00-16:59
        }

define timeperiod{
        timeperiod_name night
        alias           Fuera del horario de oficina
        sunday          17:01-08:59
        monday          17:01-08:59
        tuesday         17:01-08:59
        wednesday       17:01-08:59
        thursday        17:01-08:59
        friday          17:01-08:59
        saturday        17:01-08:59
        }

Los comentarios están cerrados.