Para empezar a trabajar con los archivos de Nagios Core, primero tenemos que tener claro cuál es la estructura y cómo debemos manejarlos.
Los archivos de configuración que se necesita gestionar para la utilización de Nagios Core en la monitorización están situados en la carpeta:
/usr/local/nagios/etc/
Aquí se encuentran los archivos de configuración. El primer archivo que se debe revisar es el “nagios.cfg”. En este archivo encontramos la configuración básica de Nagios Core.
El primer apartado tenemos la ubicación del archivo log de Nagios.
# LOG FILE
# This is the main log file where service and host events are logged
# for historical purposes. This should be the first option specified
# in the config file!!!
log_file=/usr/local/nagios/var/nagios.log
En la siguiente nos indica la ubicación de todos los archivos de configuración de objetos que tiene Nagios por defecto. También es posible indicar una carpeta donde están todos los objetos.
Tanto si decidimos tener un directorio con todos los archivos de objetos, como tenerlos en diferentes directorios, el único requisito es que sean un archivo .cfg.
# OBJECT CONFIGURATION FILE(S)
# These are the object configuration files in which you define hosts,
# host groups, contacts, contact groups, services, etc.
# You can split your object definitions across several config files
# if you wish (as shown below), or keep them all in a single config file.
# You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
…
# You can also tell Nagios to process all config files (with a .cfg # extension) in a particular directory by using the cfg_dir
# directive as shown below:
cfg_dir=/usr/local/nagios/etc/servers
cfg_dir=/usr/local/nagios/etc/printers cfg_dir=/usr/local/nagios/etc/switches
cfg_dir=/usr/local/nagios/etc/routers
A partir de aquí están el resto de especificaciones generales de Nagios Core, si queréis más información sobre esta parte podéis consulta la siguiente URL:
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/configmain.html
Otro archivo muy importante en la configuración de Nagios Core es el “resource.cfg”. En él se encuentran los usuarios y contraseñas que usan los comandos que ejecuta Nagios Core. Por ejemplo, aquí se ubicará el usuario y contraseña de una base de datos a la que necesitemos conectarnos para monitorizarla.
Nagios nos ofrece por defecto algunos archivos para tener ejemplos de diferentes tipos de objetos. Por un lado, tenemos archivos más funcionales:
-commands.cfg: donde se encuentran los comandos que ejecutará Nagios para monitorizar.
-contacts.cfg: donde se encuentran los contactos a los que se notifican las alertas de Nagios.
-timeperiods.cfg: donde se configuran los diferentes horarios de ejecución de comandos y de envío de notificaciones.
-templates: donde se encuentran las plantillas básicas de host, service, contacs, etc.
Por otro lado, nos ofrece archivos con ejemplo de servers, printers, switches… , pero estos archivos no son un modelo estricto a seguir. Podemos crear tantos archivos como deseemos y de las tipologías que deseemos.
Por ejemplo, podemos crear los archivos en función del sistema operativo de los hosts. Así tendríamos un archivo para Windows, otro para Linux, … También podemos crear archivos por ubicación si los hosts monitorizados se pueden encontrar en diferentes localizaciones. O si lo deseamos podemos hacerlo por proveedor si somos una empresa. Otra opción es combinar algunas de las anteriores opciones.
Es muy importante hacer esta reflexión y llegar a una buena decisión antes de comenzar a crear archivos de este tipo. Ya que una vez hecho y pasado un tiempo, es muy engorroso cambiar el sistema elegido, hemos de recordar que los archivos son texto plano y hay que hacer los cambios a manos.
Nuestra recomendación es que combinéis. Es bueno agrupar los hosts por sistema operativo o por tipología (impresoras, bases de datos, APs, switchs,…), ya que los comandos que utilizaremos serán siempre los mismo en cada grupo y será más fácil realizar grandes cambios. Si un día se decide cambiar el comando que se utiliza para comprobar la CPU de los Windows, es mejor tenerlos todos en un solo archivo que ir buscando todos los Windows que haya en diferentes archivos. Lo mismo pasaría si decidimos cambiar un comando referente a las impresoras.
Para empezar a crear archivos de objetos, mirar primero los ejemplos que proporciona Nagios ya que son una buena manera de aprender cómo se estructura la información. También podéis consultar la siguiente página para más información:
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/objectdefinitions.html
Redactado por Conchi Rodríguez (Técnico de Solucions-IM)
"