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 3

La instalación de Nagios ya está hecha. Puede saltar al paso 3

$ sudo apt-get install nagios3 nagios3-doc

Nagios web administration password: Userid: nagiosadmin

$ sudo apt-get 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

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

$ sudo systemctl enable nagios3
$ sudo systemctl start nagios3

4.3 Observe la configuración inicial de Nagios

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

http://hostX.campusY.ws.nsrc.org/nagios3/

En la ventana de login, escriba lo siguiente:

        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/nagios3/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-host
    host_name   transit1.nren
    alias       Campus Y Transit Provider Router
    address     transit1.nren.ws.nsrc.org
}

define host {
    use         generic-host
    host_name   bdr1.campusY
    alias       Campus Y Border Router
    address     bdr1.campusY.ws.nsrc.org
}

define host {
    use         generic-host
    host_name   core1.campusY
    alias       Core Router 1, Campus Y
    address     core1.campusY.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 nagios3 -v /etc/nagios3/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 nagios3

Y en un navegador, vea lo siguiente:

http://hostX.campusY.ws.nsrc.org/nagios3/

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/nagios3/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       Distribution Switch 1, Building 1, Campus Y
    address     dist1-b1.campusY.ws.nsrc.org
}
define host {
    use         generic-host
    host_name   dist1-b2.campusY
    alias       Distribution Switch 1, Building 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/nagios3/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         generic-host
    host_name   srv1.campusY
    alias       Server 1, Campus Y
    address     srv1.campusY.ws.nsrc.org
}

Este es un ejemplo de la entrada para nodo 1:

define host {
    use         generic-host
    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 nagios3 -v /etc/nagios3/nagios.cfg

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

Checking services...
        Checked 6 services.
Checking hosts...
Warning: Host 'bdr1.campus6' has no services associated with it!
Warning: Host 'core1.campus6' has no services associated with it!
Warning: Host 'db.campus6' has no services associated with it!

etc....
...
Total Warnings: 11
Total Errors:   0

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 nagios3

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 nagios3 -v /etc/nagios3/nagios.cfg && sudo systemctl restart nagios3

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/nagios3) 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

Vaya a http://hostX.campusY.ws.nsrc.org/nagios3

Oprima el enlace "Map" en el menú de la izquierda. Debería ver todos sus nodos con el proceso de Nagios en el medio. Los símbolos "?" significan que no hemos indicado a Nagios qué tipo de nodo es cada uno (enrutador, switch, AP, PC corriendo Linux, etc.). Esto lo haremos más adelante.

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

$ cd /etc/nagios3/conf.d                                (Solo para estar seguro)
$ sudo editor hostgroups_nagios2.cfg
members         localhost

a

members         localhost,srv1.campusY

done "Y" es sú número de campus.

Salga y grabe el archivo editado.

Verifique que los cambios están bien:

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

Reinicie Nagios para ver el nuevo servicio asociado a nuestro nodo:

$ sudo systemctl restart nagios3

En la interfaz web de Nagios encuentre el enlace "Services" (en el menú de la izquierda) y oprímalo. Debería poder encontrar los cambios recientes:

srv1.campusY  SSH      PENDING ...

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

En el archivo "services_nagios2.cfg" hay ya una entrada para comprobar el servicio SSH, así que no tiene que crearla en este paso. En su lugar, simplemente tiene que redefinir la entrada "ssh-servers" en el archivo /etc/nagios3/conf.d/hostgroups_nagios2.cfg. Modificar este archivo, añadiendo el host 'srv1.campusY', de forma que quede como:

# 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  host1.campusY, host2.campusY, host3.campusY, host4.campusY, \
                         host5.campusY, host6.campusY, srv1.campusY, transit1.nren,  \
                         bdr1.campusY, core1.campusY, dist1-b1.campusY, dist1-b2.campusY
        }

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 nagios3 -v /etc/nagios3/nagios.cfg && sudo systemctl restart nagios3

... y vea sus cambios en la interfaz web.

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/nagios3/conf.d                                (Solo para estar seguro)
$ sudo editor hostgroups_nagios2.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,transitN.nren
        }

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

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

Si todo está bien, entonces reinicie Nagios

$ sudo systemctl restart nagios3

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_nagios2.cfg:

$ cd /etc/nagios3/conf.d                                (Solo para estar seguro)
$ sudo editor hostgroups_nagios2.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 nagios3 -v /etc/nagios3/nagios.cfg

Si todo está bien, reinicie Nagios:

$ sudo systemctl restart nagios3

Ahora, diríjase a la interfaz web de Nagios y oprima la opción "Hosts" en el menú de la izquierda.

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.

    Si lo desea, puede ignorarlo, pero si quiere arregarlo debe editar /etc/nagios-plugins/config/disk.cfg y cambiar la linea command_line de la estructura de la definición del comando check_all_disks:

    # '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
            }