Configuración de Nagios 1/2

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

Nagios almacena su configuración en un directorio separado, normalmente en:

/etc/nagios/

o en:

/usr/local/etc/nagios/

En nuestro caso encontraremos el archivo de configuración en /etc/nagios/.

El archivo principal de configuración es nagios.cfg, que se carga durante la inicialización de Nagios.

La sintaxis de nagios.cfg es simple:

  • Cualquier línea que empieza con # es un comentario.
  • Para establecer el valor de un parámetro: <parámetro>=<valor>. El mismo parámetro puede aparecer varias veces, como por ejemplo para indicar archivos o directorios adicionales a cargar.

Veamos un ejemplo de este archivo de configuración:

Imagen1

La primera opción del archivo siempre debe ser el archivo de log a usar. Después aparecen parámetros que modifican el comportamiento y el rendimiento de Nagios. Algunos de los más comunes son:

  • log_file: Especifica el archivo de log a usar.
  • cfg_file: Archivo de configuración a leer para la definición de objetos. Puede aparecer múltiples veces.
  • cfg_dir: Directorio de configuración que contiene todos los archivos que deberían leerse para la definición de objetos. Puede aparecer múltiples veces.
  • resource_file: Archivo que almacena las definiciones de macro adicionales.
  • temp_file: Archivo usado para datos temporales.
  • lock_file: Archivo usado para sincronización.
  • temp_path: Directorio en el que Nagios puede crear archivos temporales. Por defecto es /tmp.
  • status_file: Archivo que almacena el estado actual de todos los hosts y servicios.
  • status_update_interval: Intervalo de actualización del archivo de status. Por defecto son 10 segundos.
  • nagios_user: Usuario como el que ejecutar el demonio.
  • nagios_group: Grupo como el que ejecutar el demonio.
  • command_file: Ruta a una línea de comandos externa usada por otros procesos para controlar el demonio de Nagios.
  • use_syslog: Especifica si Nagios debe usar también el sistema syslog. Por defecto es 1 (yes).
  • state_retention_file: Archivo que almacena información de estado en las paradas (shutdowns).
  • retention_update: Intervalo de actualización del archivo de retención. Por defecto, 60 segundos.
  • service_check_timeout: Segundos tras los que una comprobación de servicio se considera que ha fallado. Por defecto, 60 segundos.
  • host_check_timeout: Segundos tras los que una comprobación de host se considera que ha fallado. Por defecto, 60 segundos.
  • event_handler_timeout: Número de segundos tras los que debería terminarse un event handler. Por defecto, 30 segundos.
  • notification_timeout: Número de segundos tras los que se considera que un intento de notificación ha fallado. Por defecto, 30 segundos.
  • enable_embedded_perl: Si debería usarse un intérprete de Perl. Por defecto, 1 (yes).
  • use_embedded_perl_implicitly: Si Perl está habilitado, indica si los plugins en Perl deberían usar el intérprete embebido a menos que especifiquen otro, por defecto 1 (yes).
  • enable_environment_macros: Indica si Nagios debería pasar todas las macros como variables de entorno a los plugins. Por defecto 1 (yes).
  • interval_length: Número de segundos de que se compone una “unidad de intervalo”. Por defecto son 60 segundos y no se recomienda cambiarlo.

Podemos obtener una lista detallada de los parámetros en la documentación de Nagios:

http://nagios.sourceforge.net/docs/3_0/configmain.html

 Estructura de Directorios

Una buena estructura de directorios hace que Nagios sea mucho más fácil de controlar, como por ejemplo, para deshabilitar todos los objetos relacionados con una parte de nuestra infraestructura TI.

Para esto vamos a proponer una estructura que crearemos en el archivo de configuración de Nagios.

Eliminamos de nagios.cfg todas las líneas cfg_file que existan y añadimos las siguientes:

cfg_dir=/etc/nagios/commands
cfg_dir=/etc/nagios/timeperiods
cfg_dir=/etc/nagios/contacts
cfg_dir=/etc/nagios/hosts
cfg_dir=/etc/nagios/services

 Imagen2

 Para usar los plugins por defecto de Nagios, copiamos el archivo de definición de comandos /etc/nagios/objects/commands.cfg a /etc/nagios/commands/default.cfg.

Imagen3

Nos aseguramos también de que las siguientes opciones están configuradas en nagios.cfg.

check_external_commands=1
interval_length=60
accept_passive_service_checks=1
accept_passive_host_checks=1

 

Definiciones de Macros

La definición de macros es una de las características clave de Nagios. Ofrecen una gran flexibilidad al definir objetos y comandos y nos permiten especificar parámetros comunes a grupos de objetos similares usando plantillas.

Todas las definiciones de comandos pueden usar macros.

Todas las llamadas a macros empiezan y terminan con $. Veamos un ejemplo:

Imagen4

 

El comando será:

Imagen5

 

Podemos encontrar una lista de macros en el siguiente enlace:

http://nagios.sourceforge.net/docs/3_0/macrolist.html

 

Nagios 3 también permite la definición personalizada de macros de forma que permite a los administradores añadir atributos a cada tipo de objeto.

Funcionan de forma que un objeto tiene una directiva que empieza con el símbolo de subrayado y está escrita en mayúsculas. Será referenciada según el tipo de objeto en que está definida:

$_HOST<variable>$

$_SERVICE<variable>$

$_CONTACT<variable>$

Veamos un ejemplo:

Imagen6

 En el próximo post veremos cómo configurar los hosts y los servicios que vamos a monitorizar con Nagios.