Información blog

Linux, tutoriales, noticias, sistemas, redes y seguridad informática, entre otras cosas.

lunes, 1 de junio de 2015

Continuamos con Nagios: configuración

En mi último articulo hablé sobre el procedimiento que había que seguir para instalar Nagios en Debian8, pero cómo habréis podido comprobar, sólo es capaz de monitorizar el propio servidor en el que se ha instalado Nagios y la interfaz gráfica no muestra ningún recurso a nivel de configuración, pues dicha interfaz solo está diseñada para monitorizar.

Para añadir un host nuevo y poder visualizar los servicios de otras máquinas, la ruta a la que hay que dirigirse es: /usr/local/nagios/etc/objects. En dicha ruta podemos observar distintos ficheros de configuración que podemos usar para añadir nuevos equipos que queramos monitorizar; Dependiendo de lo que deseemos añadir, habría que: añadir nuevos parámetros a el ficheros windows.cfg para añadir un equipo Windows o copiar el fichero localhost.cfg y crear un nuevo fichero llamado linux.cfg para añadir un equipo Linux. Aunque los ficheros de configuración tienen valores distintos, la forma de configurarlos es muy parecida para ambos ficheros, con la diferencia que para un host de Linux hay que hacer un pequeño paso adicional, con lo que voy a realizar los pasos necesarios para añadir un host Linux; si bien recalco que el proceso para uno de Windows es prácticamente el mismo.


Añadiendo un host Linux

Para definir un nuevo host Linux existen dos opciones; La primera es crear el fichero .cfg desde 0, cosa que te da mayor control pero que puede hacer que nos olvidemos de algo; o copiar el fichero localhost.cfg y crear un nuevo .cfg llamado linux.cfg. Cómo en mi opinión lo más recomendable es hacerlo mediante la copia de localhost vamos a usar dicho método. Para ello comenzaríamos con lo básico; es decir, realizar la copia mediante el comando:

  1. cp localhost.cfg linux.cfg

Una vez realizada la copia, llegaría el turno de configurar el recién creado fichero. La configuración requiere unas cuantas modificaciones del fichero, pero gracias a que tenemos todos los parámetros definidos, estas modificaciones serán sencillas. La primera modificación habría que hacerla sería en el propio host en él habría que modificar los parámetros:

  1. use: Aquí es importante echar un vistazo al fichero templates.cfg, el cual está alojado en el directorio /usr/local/nagios/etc/objects/.En él hay definidos una serie de  plantillas que se podrían clasificar en tres grupos: contactos, hosts y servicios. Dependiendo del contexto habría que usar uno u otro; Por ejemplo a la hora de definir un host habría que escoger el nombre de una plantilla del grupo host, mientras que para un servicio habría que coger el nombre de plantilla del grupo de servicios. Por ejemplo, para añadir un host de linux habría que escoger el nombre de host linux-server, mientras que para uno de Windows se usaría el nombre windows-server.
  2. alias: Un nombre intuitivo que se quiera poner para distinguir mejor el host.
  3. host_name: Habría que poner el de la máquina que deseamos controlar.
  4. address: Tendría que ser la ip que posee el servidor. 
En mi caso por ejemplo poseería los siguientes parámetros.

  1. define host{
  2.       use                  linux-server
  3.       host_name            Ubuntu_server
  4.       alias                Ubuntu_14.04
  5.       address              192.168.1.6
  6.      }

Además suele ser recomendable añadir un grupo de hosts para tener todas los equipos agrupados. No es algo obligatorio, pero sí recomendable. Un ejemplo del hostgroup a configurar sería algo cómo lo siguiente:

  1. define hostgroup{
  2.         hostgroup_name  Linux-servers ; The name of the hostgroup
  3.         alias           Linux_Servers ; Long name of the group
  4.         members         Ubuntu_server     ; Comma separated list of hosts that belong to this group
  5.         }

Por último hay una serie de módulos que representan los diferentes servicios que se desean monitorizar. Estos servicios van desde el acceso por ssh, al simple ping. Aquí hay dos valores que habría que modificar para que se pudiese monitorizar el host correctamente:
  1. use: Al igual que con el host, hay que usar una plantilla del fichero templates.cfg. En este caso habría que escoger una plantilla del grupo servicios; grupo en el que solamente hay dos opciones: local-service o generic-service. En este caso escogeríamos generic-service.
  2. host_name: Aquí simplemente habría que especificar el nombre del host que se va a monitorizar; En mi caso concreto sería Ubuntu_server.
He aquí el ejemplo de uno de los módulos:

  1. define service{
  2.         use                             generic-service         ; Name of service template to use
  3.         host_name                       Ubuntu_server
  4.         service_description             PING
  5.         check_command                   check_ping!100.0,20%!500.0,60%
  6.         }

Con todo configurado, faltaría que Nagios reconozca el fichero linux.cfg (ésto por ejemplo no sería necesario con windows.cfg), ya que no estaba por defecto, sino que ha tenido que ser creado. Para ello habría que dirigirse a: /usr/local/nagios/etc/nagios.cfg y añadir ésta línea:

  1. cfg_file=/usr/local/nagios/etc/objects/linux.cfg

El último paso que habría que realizar sería reiniciar el servicio mediante un /etc/init.d/nagios restart y ya Nagios preparado para monitorizar el nuevo servicio. La mejor forma de comprobarlo sería accediendo a la interfaz web y consultando la sección "hosts" en la cual debería apareceros el propio servidor que contiene el software instalado y el nuevo host.


Espero que os sea útil. 

Saludos.

No hay comentarios :

Publicar un comentario