$ sudo apt-get install nagios3 nagios3-doc
Durante la instalación se le preguntará por el "Nagios web administration password:" - Este password será para el usuario de Nagios "nagiosadmin". Cuando llegue el momento, escriba el password de su cuenta sysadm.
Nota: Si no lo ha hecho ya, se le pedirá que configure el MTA Postfix (programa de transferencia de correo) durante el proceso de instalación de Nagios. Simplemente acepte el valor por defecto "Internet Site".
Abra un navegador, y vaya a su servidor así:
http://pcN.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.
Crearemos tres archivos, routers.cfg, switches.cfg y pcs.cfg, y añadiremos entradas para el hardware usado en nuestra clase.
$ cd /etc/nagios3/conf.d (Solo para estar seguro)
$ sudo editor switches.cfg
En este archivo agregue lo siguiente (COPIAR Y PEGAR!):
define host {
use generic-host
host_name sw
alias Backbone Switch
address 10.10.0.253
}
Salve el fichero y salga del editor.
Tenemos un total de hasta 10 enrutadores. Estos son rtr1-rtr9 y el gw. Además, tenemos 1 o 2 puntos de acceso inalámbrico (ap1, ap2), definiremos entradas para ellos también. Si alguno de estos dispositivos no existe en la red del taller, no lo incluya. Recuerde: COPIAR Y PEGAR!
$ sudo editor routers.cfg
define host {
use generic-host
host_name gw
alias Classrooom Gateway Router
address 10.10.0.254
}
define host {
use generic-host
host_name rtr1
alias Group 1 Gateway Router
address 10.10.1.254
}
define host {
use generic-host
host_name rtr2
alias Group 2 Gateway Router
address 10.10.2.254
}
*** Nota: No es necesario añadir las definiciones de todos los routers ahora => siempre puede volver y añadir el resto más tarde! ***
define host {
use generic-host
host_name ap1
alias Wireless Access Point 1
address 10.10.0.251
}
define host {
use generic-host
host_name ap2
alias Wireless Access Point 2
address 10.10.0.252
}
Salve el fichero y salga del editor.
Ahora añadiremos algunas máquinas virtuales de nuestra clase. Debajo le damos algunas entradas para comenzar. Debería completar el archivo con tantas PCs como quiera añadir. Le recomendamos que, como mínimo, agregue las 4 PCs de su grupo, así como el NOC del taller y al menos una PC de otro grupo (recuerde COPIAR Y PEGAR!):
$ sudo editor pcs.cfg
define host {
use generic-host
host_name noc
alias Servidor NOC del Taller
address 10.10.0.250
}
#
# Grupo 1
#
define host {
use generic-host
host_name pc1
alias pc1
address 10.10.1.1
}
define host {
use generic-host
host_name pc2
alias pc2
address 10.10.1.2
}
#
# Otro PC (solo ejemplo!)
#
define host {
use generic-host
host_name pc20
alias pc20
address 10.10.5.20
}
Puede grabar y salir del editor ahora. Puede añadir más entradas de PCs después.
$ sudo nagios3 -v /etc/nagios3/nagios.cfg
Debería ver algunas advertencias como las mostradas debajo. Puede ignorarlas por ahora.
Checking services...
Checked 7 services.
Checking hosts...
Warning: Host 'gw' has no services associated with it!
Warning: Host 'rtr1' has no services associated with it!
Warning: Host 'rtr2' has no services associated with it!
etc....
...
Total Warnings: N
Total Errors: 0
Todo parece estar bien, no se detectaron problemas serios durante la comprobación. Nagios está diciendo que no es muy normal monitorear un nodo sólo por su existencia en la red, sin monitorear también algún servicio.
$ sudo service nagios3 restart
PISTA: 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 service nagios3 restart
El símbolo '&&' es un "AND" lógico y asegura que el reinicio sólo se ejecute si la configuración es válida.
Vaya a la interfaz web (http://pcN.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.
Vaya a http://pcN.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.).
Ahora que ya hemos agregado los nodos, podemos comenzar diciendole a Nagios qué servicios monitorear sobre el hardware configurado, como agrupar los nodos de manera útil, como agrupar servicios, etc.
$ sudo editor hostgroups_nagios2.cfg
members localhost
a
members localhost,noc
Grabe el fichero editado y salga.
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 service nagios3 restart
En la interfaz web de Nagios encuentre el enlace "Services" (en el menu de la izquierda) y presionelo. Debería poder encontrar los cambios recientes:
noc SSH PENDING ...
Nota: El "normal_check_interval" por defecto es 5 (minutos) para verificar los servicios. Esto esta definido en "generic-service_nagios2.cfg". Quizá quiera cambiar esto a 1 (1 minuto) para acelerar la detección de problemas en los servicios, al menos para este taller.
Esto es esencial en el uso de Nagios y herramientas de monitoreo en general. Hasta el momento sólo hemos usado "ping" para saber que el nodo tiene conectividad de red, y hemos configurado un chequeo para un solo nodo (su PC). El siguiente paso es decidir qué servicios (servidor web, SSH, etc.) se quiere monitorear para cada host del taller.
En esta clase en particular tenemos:
Entonces vamos a configurar Nagios para chequear estos servicios en estos dispositivos.
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. Acabamos de modificar este fichero, añadiendo el host 'noc', de forma que se queda como:
# A list of your ssh-accessible servers
define hostgroup {
hostgroup_name ssh-servers
alias SSH servers
members localhost,noc
}
¿Qué le parece que debería cambiar? Correcto, la línea "members". Debe agregar entradas para cada PC, enrutador y switch de la clase que tenga SSH. Con esta información y con el diagrama de la red debería ser capaz de completar esta entrada.
La entrada debe verse algo así como:
define hostgroup {
hostgroup_name ssh-servers
alias SSH servers
members localhost,noc,pc1,pc2,...,ap1,rtr1,rtr2,...,gw
}
Nota: no elimine "localhost". Este es su PC y representa el punto de vista de Nagios. Así que, por ejemplo, si usted está en "pc3", no incluya "pc3" en la lista ya que este esta representado por la entrada localhost.
La entrada "members" será una larga línea 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í:
Recuerde que debe incluir todos los PCs y los routers que se han definido en los archivos "pcs.cfg", "switches.cfg" y "routers.cfg". Sólo añadir entradas a partir de estos archivos (es decir: no añada "PC8" en su lista de hostgroup si "PC8" no está definido en "pcs.cfg" también).
Una vez que haya terminado, ejecute el chequeo pre-flight y reinicie Nagios:
$ sudo nagios3 -v /etc/nagios3/nagios.cfg && sudo service nagios3 restart
... 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 virtuales. Edite el archivo hostgroups_nagios2.cfg de nuevo:
$ sudo editor hostgroups_nagios2.cfg
y añada lo siguiente al final del archivo (COPIAR Y PEGAR):
# Una lista de enrutadores virtuales
define hostgroup {
hostgroup_name routers
alias Cisco 7200 Routers
members rtr1,rtr2,...
}
Sólo listar los routers que ha definido en el "routers.cfg".
Guarde y salga del archivo. Verifique que todo está bien:
$ sudo nagios3 -v /etc/nagios3/nagios.cfg
Si todo está bien, entonces reinicie Nagios
$ sudo service nagios3 restart
Este paso es prácticamente idéntico al anterior. Simplemente cambie el servicio HTTP para agregar cada PC (no enrutadores ni switches). Recuerde, no es necesario agregar su máquina ya que ésta está definida como "localhost". Busque este hostgroup en el archivo hostgroups_nagios3.cfg y actualice la línea "members" de manera correspondiente.
Si tiene preguntas o está confundido, por favor no dude en preguntar a un instructor.