1 Instalación y Configuración de Nagios

2 Introducción

2.1 Metas

2.2 Notas

3 Ejercicios

4 PARTE I

4.1 Ingrese a su máquina virtual como usuario ‘sysadm’.

4.2 Instalar Nagios Versión 4

_La instalación de Nagios ya está hecha. Asi, algunos pasos son extras__

$ sudo apt install nagios4

Nagios web administration password: Userid: nagiosadmin

$ sudo apt install --reinstall iputils-ping

En este momento tendrá un servidor web instalado en su nodo, pero es posible que necesite iniciarlo. Para iniciar su servidor web, haga lo siguiente:

$ sudo systemctl enable apache2
$ sudo systemctl start apache2

Verificamos si apache2 esta corriendo como esperado:

$ sudo systemctl status apache2

Apreta ‘q’ para salir si los datos llena su pagina:

Para que iniciar Nagios ahora, y para que se inicie automáticamente cuando el nodo se inicie, ejecute lo siguiente:

$ sudo systemctl enable nagios4
$ sudo systemctl start nagios4

Verificamos que natios3 esta corriendo como esperamos:

$ sudo systemctl status nagios4

Apreta ‘q’ para salir si los datos llena su pagina:

4.3 Observe la configuración inicial de Nagios

Abra un navegador, y vaya a su servidor así:

https://oob.hostX.campusY.p.vtp-us.nsrc.org/nagios4/

En la ventana de login, escriba lo siguiente (posible que no hay usuario/clave):

        User Name: nagiosadmin
        Password:  <PASSWORD DE LA CLASE>

Oprima el enlace “Hosts” situado a la izquierda de la página inicial de Nagios para ver lo que se ha configurado por defecto.

Oprima el enlace “Services” para ver que servicios locales están siendo monitoreados1.

4.4 Añadir Routers, PCs y Switches

Crearemos tres archivos, routers.cfg, switches.cfg y pcs.cfg y entradas para los dispositivos en su campus. Si lo desea, puede simplemente crear un solo archivo para todos los elementos. Nagios leerá cualquier archivo llamado *.cfg y resolverá los detalles por su cuenta.

4.4.1 Creando el archivo “routers.cfg”

Si quiere ayuda para comprender cómo se ve la red de su campus, eche un vistazo al diagrama de red detallado para el campus1, cuyo enlace se encuentra en la página principal de su taller.

Cada grupo terminará monitorizando cada elemento en su campus, incluyendo:

Enrutadores

Conmutadores

Estaciones

$ cd /etc/nagios4/conf.d                (Solo para estar seguro)
$ sudo editor routers.cfg

’’ ‘NOTA:’ ’’ Y es el número de su campus (1, 2, 3, 4, 5 ó 6)

define host {
  use           generic-switch
  host_name     transit1.nren
  alias         Transit Router 1
  address       transit1.nren.ws.nsrc.org
}

define host {
  use           generic-switch
  host_name     bdr1.campus6
  alias         Campus 6 Enrutador Borde
  address       bdr1.campus6.ws.nsrc.org
}

define host {
  use           generic-switch
  host_name     core1.campus6
  alias         Campus 6 Enrutador Core
  address       core1.campus6.ws.nsrc.org
}

Grabe el archivo y salga del editor.

Verifiquemos que nuestros cambios están funcionando. En la línea de comandos, haga lo siguiente:

$ sudo nagios4 -v /etc/nagios4/nagios.cfg

Si no encuentra ningún error (las advertencias “warnings” no son críticas), entonces puede reiniciar Nagios con su nueva configuración:

$ sudo systemctl reload nagios4

Y en un navegador, vea lo siguiente:

https://oob.hostX.campusY.p.vtp-us.nsrc.org/nagios4/

y oprima “hosts”. Debería poder ver su lista de enrutadores. Es posible que estén todavía por chequear. En su momento, se verán de color verde, cuando Nafios haya corrido el chequeo.

Ahora seguiremos el mismo procedimiento para los conmutadores.

4.4.2 Crear el archivo switches.cfg

En este archivo, agregue la siguiente entrada (COPIAR y RESTAURAR!):

$ cd /etc/nagios4/conf.d                (para estar seguros)
$ sudo editor switches.cfg

Agregue las siguientes entradas en el archivo. Si quiere, puede COPIAR y RESTAURAR, pero asegurese de actualizar “Y” con el número de su campus:

define host {
    use         generic-host
    host_name   dist1-b1.campusY
    alias       Switch de distribucion 1, Edificio 1, Campus Y
    address     dist1-b1.campusY.ws.nsrc.org
}
define host {
    use         generic-host
    host_name   dist1-b2.campusY
    alias       Switch de distribucion 1, Edificio 2, Campus Y
    address     dist1-b2.campusY.ws.nsrc.org
}

Grabe el archivo y salga del editor.

4.4.3 Crear el archivo pcs.cfg

Ahora crearemos entradas para las 6 máquinas virtuales individuales (nodos 1 al 6) y el servidor compartido de nuestro campus (srv1)

$ cd /etc/nagios4/conf.d                                (Solo para estar seguro)
$ sudo editor pcs.cfg

Para cada campus, introduzca lo siguiente al inicio del archivo pcs.cfg (reemplace la letra “Y” con el número de su campus):

define host {
    use         linux-server
    host_name   srv1.campusY
    alias       Servidor 1, Campus Y
    address     srv1.campusY.ws.nsrc.org
}

Este es un ejemplo de la entrada para nodo 1:

define host {
    use         linux-server
    host_name   host1.campusY
    alias       Host 1, Campus Y
    address     host1.campusY.ws.nsrc.org
}

Repita estos pasos para cada uno de los nodos restantes. Al final deberá tener un archivo pcs.cfg con una entrada srv1.campusY definida, y sus otros 6 nodos, para un total de 7 entradas.

** REPITA LOS SIGUIENTES PASOS CADA VEZ QUE HAGA CAMBIOS EN SU CONFIGURACIÓN **

4.4.4 Verifique que sus archivos de configuración están correctos:

$ sudo nagios4 -v /etc/nagios4/nagios.cfg

Debería ver algunas advertencias como las mostradas debajo. Puede ignorarlas por ahora.

Checking objects...
        Checked 8 services.
        Checked 13 hosts.
        Checked 1 host groups.
        Checked 0 service groups.
        Checked 1 contacts.
        Checked 1 contact groups.
        Checked 212 commands.
        Checked 5 time periods.
        Checked 0 host escalations.
        Checked 0 service escalations.
Checking for circular paths...
        Checked 13 hosts
        Checked 0 service dependencies
        Checked 0 host dependencies
        Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

Todo parece estar bien. No se detectaron problemas serios durante el chequeo de la configuración. Nagios está diciendo que no es común monitorear un nodo sólo por su existencia en la red, sin monitorear también algún servicio.

4.4.5 Reiniciar Nagios

$ sudo systemctl restart nagios4

SUGERENCIA: Va a estar haciendo esto muchas veces. Si lo hace en una sola línea, como sigue, entonces puede usar la flecha hacia arriba para repetir el comando:

$ sudo nagios4 -v /etc/nagios4/nagios.cfg && sudo systemctl restart nagios4

El símbolo ‘&&’ es un “AND” lógico y asegura que el reinicio sólo se ejecute si la configuración es válida.

4.4.6 Verificar en la interfaz web

Vaya a la interfaz web (http://hostX.campusY.ws.nsrc.org/nagios4) y compruebe que los nodos que acaba de agregar aparecen en la interfaz. Oprima “Hosts” a la izquierda de la pantalla para verlos. Puede que vea el estado “PENDING” hasta que el chequeo se realice.

4.5 Ver el mapa de estado

https://oob.host6.campus6.p.vtp-us.nsrc.org/nagios4/

Oprima el enlace “Map” en el menú de la izquierda. Debería ver todos sus nodos con el proceso de Nagios en el medio. El “(Legacy)” no va a funcionar en este caso.

5 PARTE II - Configure un chequeo de servicio para el servidor SRV del taller

5.1 Configuración

Ahora que ya hemos agregado los nodos, podemos comenzar diciéndole a Nagios qué servicios monitorear sobre los nodos configurados, cómo agrupar los nodos de manera útil, cómo agrupar servicios, etc.

5.2 Agregar una chequeo de servicio para el SRV del taller

En este parte vamos a crear una definición de tipo de servicio y una definición de grupos (hostgroups) en que Nagios hace un chequeo de servicio por los hosts que son miembros.

$ cd /etc/nagios4/conf.d                                (Solo para estar seguro)
$ sudo editor services.cfg

Ahora, creamos una definición del servicio ssh:

En el archivo services.cfg agrega:

define service {
        hostgroup_name                  ssh-servers
        service_description             SSH
        check_command                   check_ssh
        use                             generic-service
        # ssh occasionally flaps. Let's be sure it's down.
        retry_interval                  2
        max_check_attempts              10
        notification_interval           0 ; set > 0 if you want to be renotified
}

Guardar y exitar el archivo.

Y, ahora, vamos a hacer un grupo de maquinas (hosts) que corren ssh:

$ sudo editor hostgroups.cfg

Y, empezamos con algo simple. Definamos que el localhost y el host srv1.campus6 corren ssh:

En el archivo agrega:

define hostgroup
  hostgroup_name  ssh-servers
  alias           SSH Servers
  members         localhost,srv1.campus6
}

Y, ahora, para asegurar que todo esta bien:

$ sudo nagios4 -v /etc/nagios4/nagios.cfg && sudo systemctl restart nagios4

Para verificar que esta corriendo bien abre tu pagina web de Nagios:

https://oob.host6.campus6.p.vtp-us.nsrc.org/nagios4/

Y, apreta a la izquierda de la pantalla “Services” para ver si los hosts “localhost” y “srv1.campusY” estan.

6 PARTE III - Definir servicios para todos los PCs

6.1 Determine qué servicios definir para cada nodo

Para empezar, simplemente estamos usando ping para verificar que nuestros servidores y dispositivos de red responden o estan “Arriba”. Hasta ahora solo estamos monitoreando ssh en el servidor en su campus.

Ahora agreguemos monitoreo de servicios para los otros servidores y dispositivos de red:

En este taller en particular tenemos:

El NOC del taller está actualmente ejecutando un servicio SNMP que podemos monitorear, si lo desea.

6.2 Verificar que SSH está corriendo en las PCs y los enrutadores

Como acabamos de hacer, tenemos el service ssh configurado, asi solamente necesita agregar mas maquinas en el archivo /etc/nagios4/conf.d/hostgroups.cfg. Como tenemos ahora:

# A list of your ssh-accessible servers
define hostgroup {
        hostgroup_name  ssh-servers
                alias           SSH servers
                members         localhost,srv1.campusY
        }

Ahora actualice con el resto de los dispositivos del campus, así como también con el enrutador de tránsito.

La entrada debe lucir como sigue:

define hostgroup {
  hostgroup_name  ssh-servers
  alias           SSH Servers
  members         srv1.campus6, host1.campus6, host2.campus6, host3.campus6, \
                  host4.campus6, host5.campus6, host6.campus6, transit1.nren, \
                  bdr1.campus6, core1.campus6, dist1-b1.campus6, dist1-b2.campus6
}

NOTA:

Hemos eliminado a “localhost” (nodo local) de la lista anterior. Haremos lo mismo para los “hostgroups” restantes.

La entrada “members” será una línea larga y probablemente no cabrá en la pantalla. Si prefiere, puede agregar entradas en líneas adicionales usando el carácter “" para indicar que la línea continúa, así:

Solo incluya entradas que haya definido previamente. Por lo tanto, incluya todos los servidores, enrutadores y conmutadores que haya configurado previamente.

Una vez que haya terminado, ejecute el chequeo de la configuración y reinicie Nagios:

$ sudo nagios4 -v /etc/nagios4/nagios.cfg && sudo systemctl restart nagios4

… y vea sus cambios en la interfaz web en “Services” en la izquierda de la pantalla.

Para continuar con los hostgroups puede agregar grupos adicionales para usar más tarde, por ejemplo, los enrutadores del campus. Edite el archivo hostgroups_nagios2.cfg de nuevo:

$ cd /etc/nagios4/conf.d                                (Solo para estar seguro)
$ sudo editor hostgroups.cfg

y añada lo siguiente al final del archivo (COPIAR Y RESTAURAR):

# Una Lista de nuestros enrutadores
 define hostgroup {
        hostgroup_name  routers
        alias           Cisco Routers and Switches for CampusY
        members         bdr1.campusY,core1.campusY,transit1.nren
}

Grabe y salga del archivo. Verifique que todo está bien:

$ sudo nagios4 -v /etc/nagios4/nagios.cfg

Si todo está bien, entonces recarga Nagios

$ sudo systemctl reload nagios4

6.3 Comprobar HTTP en todos los PCs

De manera similar al grupo “ssh-servers”, crearemos un chequeo para HTTP en todos los dispositivos corriendo un servidor web en su campus. Esto incluirá:

Hosts

Edite el archivo hostgroups.cfg:

$ cd /etc/nagios4/conf.d                                (Solo para estar seguro)
$ sudo editor hostgroups.cfg

Y busque lo siguiente:

# Una lista de sus servidores web
define hostgroup {
        hostgroup_name  http-servers
        alias           HTTP servers
        members         localhost
}

Actualice esta entrada para agregar los nodos en la lista de más arriba. Puede eliminar el nodo “locahost”.

Si tiene preguntas o está confundido, por favor no dude en preguntar a un instructor.

Cuando termine con sus cambios, grabe su archivoy verifique la configuración:

$ sudo nagios4 -v /etc/nagios4/nagios.cfg

Si todo está bien, recarga Nagios:

$ sudo systemctl reload nagios4

Ahora, diríjase a la interfaz web de Nagios y oprima la opción “Hosts” en el menú de la izquierda y, después, la opción “Host Groups” y vea que hay en esta pagīna.

Ya está listo para continuar con el próximo grupo de ejercicios.


  1. Si vé el error “DISK CRITICAL - /sys/kernel/debug/tracing is not accessible: Permission denied” indica que ha encontrado un minor bug.

    It is safe to ignore this, but if you want to fix it you would edit /etc/nagios-plugins/config/disk.cfg and change the command_line of the check_all_disks command definition like this:

    # 'check_all_disks' command definition
    define command{
            command_name    check_all_disks
            command_line    /usr/lib/nagios/plugins/check_disk -w '$ARG1$' -c '$ARG2$' -e -X tracefs -X cgroup -X tmpfs
            }
    ↩︎