Está en la página 1de 60

Manual monitoreo – Ing.

Dayron Oliveros
2023

Manual de configuración de servidor de monitoreo SNMP y Syslog


sobre GNU/Linux
Cacti – Nagios Core – Rsyslog

Contenido
Introducción:...............................................................................................................................................2
Escenario Base:...........................................................................................................................................2
Procedimiento:...........................................................................................................................................3
1. Configuración de Cacti....................................................................................................................3
2. Configuración de Nagios Core.......................................................................................................32
3. Configuración de Servidor Syslog..................................................................................................52

Introducción:
En este manual, se describen los procedimientos de configuración e implementación de un sistema de
monitoreo sobre un servidor Debian 11, que implementará las herramientas Cacti para el monitoreo de

1
Manual monitoreo – Ing. Dayron Oliveros
2023

dispositivos vía SNMP, Nagios Core para el monitoreo de servicios y Rsyslog para la recolección de logs
desde los dispositivos de la red.

Escenario Base:
A continuación, en el diagrama de topología de red, se muestra el escenario base con el cual se trabajará
el manual en el presente documento

Ilustración 1 Diagrama de topología base

Como puede apreciarse, contaremos con dos servidores instalados en máquinas virtuales, las cuales
usarán Debian GNU/Linux (Puede usarse otra distribución de Linux, aunque pueden variar algunos
procedimientos o comandos), dentro de la topología se tienen:

- un router y un switch a ser monitorizados


- un servidor con los servicios ya montados para monitorizar
- un cliente Windows para la prueba de los servicios, aunque este puede ser perfectamente
omitido.
- un servidor Linux Debian sobre el que se instalarán y configurarán los servicios de monitoreo.

Procedimiento:

2
Manual monitoreo – Ing. Dayron Oliveros
2023

1. Configuración de Cacti

Cacti es una herramienta de gestión SNMP que nos permite monitorizar diferentes dispositivos de la red,
así como generar gráficos en tiempo real del rendimiento presentado en diversos aspectos, así como
crear informes y vistas de los elementos monitorizados.

web oficial Cacti: https://www.cacti.net/

Instalación.

Para la instalación de cacti en el sistema Linux, se puede recurrir a los repositorios de la distribución para
ello, sin embargo, el procedimiento puede variar para el tipo de distribución utilizada.

En el caso del ejercicio, primero conectamos la máquina monitor a internet, nos aseguramos de tener
correctamente configurados los repositorios de internet de Debian, y para actualizar los mismos
utilizamos el siguiente comando:

apt update

Actualizamos los paquetes que se puedan actualizar con el siguiente comando:

apt upgrade

Una vez que la actualización de repositorios ha sido completada, procedemos a instalar cacti usando el
siguiente comando:

apt -y install cacti

3
Manual monitoreo – Ing. Dayron Oliveros
2023

Si la ejecución del comando es exitosa, llegaremos a un punto en el que nos piden indicar qué servidor
web utilizaremos para la gestión de la herramienta, en este caso, seleccionamos apache2 y continuamos
con la instalación.

Se configurará una base de datos para almacenar toda la información a ser recibida por los sistemas a
monitorizar, por ende, en la siguiente pantalla responderemos “Yes” para que se configure la base de
datos automáticamente.

4
Manual monitoreo – Ing. Dayron Oliveros
2023

Configuramos la contraseña de acceso a la gestión de cacti. Importante: no olvidar la contraseña


configurada, puesto que después la necesitaremos para acceder al sitio web de gestión de la
herramienta.

Confirmamos la contraseña configurada

5
Manual monitoreo – Ing. Dayron Oliveros
2023

Después de ello, la instalación de cacti se completará correctamente.

Ingreso.

Para acceder a la gestión de cacti, abrimos el navegador web y entramos por medio de la siguiente URL:

http://localhost/cacti

Nos aparecerá la pantalla de inicio de sesión

6
Manual monitoreo – Ing. Dayron Oliveros
2023

Las credenciales para utilizar en el ingreso son admin en la parte de usuario, y la contraseña que
definimos durante la instalación en el campo contraseña. Una vez ingresados los datos de ingreso damos
clic al botón login.

Si el ingreso es correcto, nos deberá aparecer una interfaz similar a la siguiente:

Ya tenemos instalada y lista para utilizar a la herramienta Cacti.

7
Manual monitoreo – Ing. Dayron Oliveros
2023

Agregar hosts a ser monitorizados.

Ahora que tenemos acceso a la herramienta, procedemos a configurar los parámetros de SNMP que nos
permitirán monitorizar a los dispositivos y servidores de la red. Para ello, es necesario agregar el host a
Cacti, y también configurar parámetros de SNMP en cada host a ser monitorizado.

Para el ejemplo, configuraremos parámetros básicos de SNMP v2c en el router R1 y el Switch SW1.

Sobre el router R1, accedemos a su respectiva consola (para este caso, se utilizan dispositivos Cisco) para
realizar los siguientes ajustes de SNMP:

snmp-server contact Dayron Oliveros - Admin - 321 456 7898 -- Añade datos de contacto del
administrador de la red.

snmp-server location Bogota, Colombia -- Establece la ubicación geográfica del dispositivo.

Definimos dos comunidades de SNMP: una publica con permisos de solo lectura que usaremos para
Cacti y otra privada con permisos de lectura y escritura si es necesario modificar los datos de la MIB.

snmp-server community Senapublic ro - Define la comunidad “Senapublic” de solo lectura

snmp-server community Senaprivada rw – Define la comunidad “Senaprivada” de lectura y escritura

Para habilitar el envío de traps SNMP, utilizamos los siguientes comandos:

snmp-server host 192.168.23.6 version 2c Senapublic – Establece el envío de traps a la dirección IP del
servidor de monitoreo, en versión SNMP v2c usando la comunidad “Senapublic” definida previamente.

snmp-server enable traps – Activa el envío de Traps SNMP al host especificado.

Con esta configuración realizada sobre el router, procedemos a agregar el host en la herramienta Cacti,
volviendo al navegador web.

Damos clic en la sección “create devices for network”

8
Manual monitoreo – Ing. Dayron Oliveros
2023

Luego, damos clic al botón “+” ubicado en la parte superior derecha, que nos permitirá crear un nuevo
host.

9
Manual monitoreo – Ing. Dayron Oliveros
2023

Diligenciamos los datos del formulario con la información solicitada, para este caso, las imágenes a
continuación muestran cómo fue agregada la información del router R1.

En la sección Device template, Seleccionamos Cisco Router.

En los parámetros SNMP, nos aseguramos de poner los nombres y versiones correctas de comunidad
para que exista la conexión entre el router y Cacti.

Dejamos el resto de las opciones por defecto y finalmente damos clic al botón Create.

10
Manual monitoreo – Ing. Dayron Oliveros
2023

Si la configuración fue correcta, nos deberá aparecer un mensaje de confirmación que indique que la
adición del host fue exitosa, adicionalmente, en la parte superior del menú para crear el host, debe
aparecer un resultado similar al siguiente:

Puede identificarse el nombre de host de R1, así como los datos de contacto y ubicación configurados
previamente, así como un resumen de la versión de Cisco IOS que se está utilizando.

NOTA: En caso de no obtener un resultado similar, se debe revisar la configuración de SNMP realizada
sobre el dispositivo, así mismo, verificar que los nombres de comunidad SNMP coincidan en el
dispositivo y en Cacti.

Para agregar al switch SW1, deberemos repetir los pasos realizados con el router.

A continuación, se resume la configuración realizada sobre el switch SW1 para este ejemplo:

11
Manual monitoreo – Ing. Dayron Oliveros
2023

Configuración realizada en Cacti para agregar el switch SW1:

Resultado obtenido

Con ambos dispositivos agregados a Cacti, podemos generar diferentes gráficos para monitorizar los
recursos que necesitemos.

Crear gráficos.

Para la creación de gráficos, iremos a la sección izquierda y daremos clic en Management/Devices, en la


vista que aparece, damos clic al dispositivo del cual queremos crear un nuevo gráfico, para este caso, R1

12
Manual monitoreo – Ing. Dayron Oliveros
2023

En la sección superior derecha, donde aparecen las propiedades del host agregado, damos clic sobre
Create Graphs for this Device.

En el menú que aparece, podremos seleccionar las casillas de todos los elementos de los que queremos
generar gráficas.

13
Manual monitoreo – Ing. Dayron Oliveros
2023

Pare este caso, seleccionamos las casillas correspondientes a el tiempo de actividad y consumo de CPU
del sistema, así como la interfaz Ethernet 0/0, de la cual monitorizaremos su tráfico entrante y saliente.
Al tener lista nuestra selección, damos clic al botón Create.

Recibimos un mensaje de confirmación con la creación exitosa de los gráficos seleccionados.

Para acceder a todos los gráficos creados, damos clic en Management/Graphs ubicada en la parte
izquierda de la interfaz de cacti.

14
Manual monitoreo – Ing. Dayron Oliveros
2023

Allí veremos los gráficos creados para cada dispositivo agregado.

NOTA: Los gráficos pueden tardar varios minutos en ser generados y en mostrar estadísticos, por ende,
se recomienda generar algo de tráfico en la red para permitir a la herramienta recopilar estadísticos de
uso con el tiempo, así como dejar el sistema activo durante algunas horas.

Así, con el paso de algunas horas, los gráficos empezarán a reflejar datos de acuerdo con lo
monitoreado.

En este ejemplo, después de algunos minutos, es posible hacer seguimiento al tiempo de actividad de R1
y SW1.

15
Manual monitoreo – Ing. Dayron Oliveros
2023

También, se puede empezar a medir el tráfico entrante y saliente de una de las interfaces de red de R1.

En la pestaña Graphs en la parte superior, y al dar clic en el botón de imagen a la derecha, podremos ver
todos los gráficos creados, inclusive con sus estadísticas en tiempo real.

16
Manual monitoreo – Ing. Dayron Oliveros
2023

Los anteriores gráficos muestran un ejemplo del consumo de CPU, Tiempo de encuesta, Paquetes unicast
entrantes y salientes en una interfaz y el tiempo de actividad del router R1.

Monitoreo de servidores y hosts Linux.

Para realizar correctamente la monitorización de hosts Linux, es necesario realizar la instalación del
Daemon SNMP, para posteriormente configurar las comunidades necesarias.

En este caso, instalaremos SNMP sobre el servidor que tiene sus servicios funcionando.

 Antes de proceder, nos aseguramos de tener los repositorios de paquetes actualizados con el
comando:

apt update

Para hacer la instalación de SNMP, utilizamos el siguiente comando con permisos de administrador en la
consola del servidor:

apt -y install snmpd

17
Manual monitoreo – Ing. Dayron Oliveros
2023

Después de realizada la instalación exitosamente, editamos el fichero de configuración principal de


snmp:

nano /etc/snmp/snmpd.conf

De forma opcional, podemos encontrar y modificar las siguientes líneas del fichero:

Por los datos de contacto y ubicación que consideremos, por ejemplo:

Ubicamos y modificamos la siguiente línea en el fichero, ya que esta habilita los puertos necesarios para
la transmisión de mensajes SNMP.

Realizamos la siguiente modificación que le permitirá abrir el puerto UDP 161 para SNMP

Identificamos las siguientes líneas dentro del fichero

18
Manual monitoreo – Ing. Dayron Oliveros
2023

Y realizaremos las modificaciones de las comunidades SNMP v2c de acuerdo con nuestras necesidades.
Para el caso de este manual, se deshabilita la comunidad SNMP para IPv6 y se modifica la comunidad por
defecto “public” de solo lectura por la comunidad “Senapublic”, además de permitir el envío a nuestra
red local:

Guardamos el fichero y reiniciamos el servicio SNMP por medio del comando:

systemctl restart snmpd

Podemos verificar el correcto estado del funcionamiento del servicio con el comando:

systemctl status snmpd

Con esta configuración realizada, procedemos a agregar el host Linux a Cacti para su monitoreo.

19
Manual monitoreo – Ing. Dayron Oliveros
2023

Al crear el host en Cacti, podemos verificar que es aceptado por la herramienta y que nos aparece el
resultado de SNMP en la parte superior del menú:

En este punto, podemos crear en Cacti los gráficos que consideremos necesarios de acuerdo con lo que
nos ofrece la plantilla.

En este ejemplo, se muestran las gráficas generadas para el servidor con respecto al consumo de CPU y
memoria RAM, carga promedio y los paquetes entrantes y salientes en su interfaz de red.

20
Manual monitoreo – Ing. Dayron Oliveros
2023

Árboles y reportes.

Creación de árboles.

Para organizar los gráficos generados por la herramienta RRDTool de Cacti, podemos hacer uso de
árboles para agrupar los gráficos de acuerdo con nuestras necesidades.

Para crear un árbol nuevo, desde el menú de consola iremos a Management/Trees

21
Manual monitoreo – Ing. Dayron Oliveros
2023

Allí nos aparecerá un menú con los árboles creados, aparecerá el árbol por defecto. Para crear un nuevo
árbol, daremos clic al botón “+” en la parte superior derecha del menú.

Definimos un nombre para el árbol, para este ejemplo, crearemos un árbol para todos los gráficos del
router R1 con el nombre GRAFICOS R1. También podemos definir cómo organizar los gráficos que
añadiremos a la vista, que puede ser de forma manual, alfabética, numérica o natural. Para este caso, se
configurará el orden alfabético, posteriormente damos clic al botón Create.

Con esto, ya habremos creado un árbol donde organizaremos nuestros gráficos. Nos aparecerá una
ventana confirmando la creación del árbol junto a un menú como el siguiente:

Para añadir gráficos a la vista, daremos clic al botón Edit Tree. En la sección baja encontraremos todos
los objetos que tenemos monitoreados en Cacti (Sitios, Dispositivos y Gráficos). Para añadir los objetos
deseados al árbol, debemos seleccionar los objetos en cuestión y arrastrarlos con el clic hacia la zona de
la columna en blanco llamada Tree Items.

22
Manual monitoreo – Ing. Dayron Oliveros
2023

Para este caso, se desea tener una vista de todos los gráficos que hemos creado para R1, por ende, se
lleva al objeto R1 (192.168.23.1) hacia la columna en blanco.

Una vez agregados los objetos deseados, damos clic en el botón Save para guardar los cambios y luego al
botón Publish para publicar el árbol.

Para finalizar, damos clic al botón Finish Editing Tree para bloquear los ajustes del árbol.

Ahora, podremos ver los gráficos organizados de R1 desde la pestaña Graphs utilizando la vista de árbol.

En este ejemplo, se observan los gráficos del tráfico, consumo de CPU, tiempo de operación, entre otros
dentro del árbol GRAFICOS R1.

23
Manual monitoreo – Ing. Dayron Oliveros
2023

Reportes.

La herramienta Cacti nos permite también generar reportes de acuerdo con nuestras necesidades y
enviarlos por medio de correo electrónico.

Primero, es necesario hacer los ajustes referentes al envío de correo electrónico, por ello, vamos a la ruta
Console/Configuration/Settings/”Mail/Reporting/DNS”

En la sección, escribimos todos los datos relacionados, por ejemplo, el nombre y la dirección del correo
que hará envío de las notificaciones, cambiamos el servicio de correo a SMTP e indicamos la dirección IP

24
Manual monitoreo – Ing. Dayron Oliveros
2023

del servidor de correo electrónico, el usuario y la contraseña. La información del servidor DNS es
también necesaria para el envío de correo. A continuación, se muestra un ejemplo de la configuración
realizada.

Una vez realizados los ajustes, damos clic al botón Save y luego en Send a Test Mail para enviar un
correo electrónico de prueba para validar la funcionalidad del servicio de correo electrónico. Si este es
exitoso, deberá aparecer una ventana similar a la siguiente:

25
Manual monitoreo – Ing. Dayron Oliveros
2023

Nota: para que la funcionalidad sea exitosa, en este caso, se tiene un servidor de correo electrónico ya
funcional con el dominio @sena.edu con los usuarios definidos en la configuración. Por ende, para que
la funcionalidad de envío de reportes por correo electrónico funcione correctamente, ya debe haber
un sistema de correo configurado en la red, o bien, usar un servicio de correo electrónico de internet.

Para crear un nuevo reporte, damos clic a la pestaña Reporting de la parte superior. Al ingresar al menú,
damos clic al botón +.

Asignamos un nombre al reporte y diligenciamos los campos requeridos en el formulario que aparecerá.
Para este ejemplo, crearemos un reporte de rendimiento del Servidor monitoreado.

26
Manual monitoreo – Ing. Dayron Oliveros
2023

En la parte inferior, definimos parámetros para el envío del reporte vía correo electrónico. Para este
caso, se tiene un servicio web funcional bajo el dominio @sena.edu. Diligenciamos detalles del asunto,
correo electrónico remitente y destinatario.

Finalmente, damos clic al boton Create.

27
Manual monitoreo – Ing. Dayron Oliveros
2023

Si todo es correcto, nos aparecerá un mensaje de confirmación de creación del reporte

Nos aparecerá posteriormente una vista con múltiples pestañas que nos permitirá seleccionar los ítems a
describir en el informe.

Para añadir ítems al reporte, damos clic a la pestaña Items, y luego al boton +

Añadimos un título para el reporte ajustando las opciones de forma similar a lo que aparece a
continuación.

Damos clic al botón Save, luego al botón Return para guardar los cambios realizados.

Repetimos los anteriores pasos para cada ítem a incluir en el reporte. En este ejemplo, añadiremos los
gráficos del consumo de CPU, Memoria RAM y latencia de ping del servidor, ajustando en cada ítem las
opciones como se muestra a continuación. (Se puede seleccionar la temporalidad del reporte, es decir,
indicar el rendimiento del último día, última semana, último mes, entre otros).

28
Manual monitoreo – Ing. Dayron Oliveros
2023

En la pestaña Preview podemos visualizar cómo quedará el reporte generado.

29
Manual monitoreo – Ing. Dayron Oliveros
2023

Por medio del botón Send Report hacemos envío del reporte.

Confirmamos la recepción del reporte en alguno de los buzones de los correos de los destinatarios.

30
Manual monitoreo – Ing. Dayron Oliveros
2023

De esta forma, contamos con una herramienta de monitoreo que estará analizando nuestros dispositivos
y servidores por medio de SNMP y mantendrá periódicamente gráficos de los aspectos que
consideremos para el análisis, así mismo, para la generación de informes para su posterior revisión.

31
Manual monitoreo – Ing. Dayron Oliveros
2023

2. Configuración de Nagios Core

Nagios Core es una herramienta libre y base de monitoreo que está diseñada para analizar el estado de
los servicios presentes en los hosts de nuestra red, así como para informar sobre errores y fallas que se
presenten en ellos.

Web oficial: https://www.nagios.org/projects/nagios-core/

Instalación.

Para la instalación de Nagios en el sistema Linux, se puede recurrir a los repositorios de la distribución
para ello, sin embargo, el procedimiento puede variar para el tipo de distribución utilizada.

En el caso del ejercicio, primero conectamos la máquina monitor a internet, nos aseguramos de tener
correctamente configurados los repositorios de internet de Debian, y para actualizar los mismos
utilizamos el siguiente comando:

apt update

Actualizamos los paquetes que se puedan actualizar con el siguiente comando:

apt upgrade

Una vez que la actualización de repositorios ha sido completada, procedemos a instalar nagios usando el
siguiente comando:

apt -y install nagios4*

32
Manual monitoreo – Ing. Dayron Oliveros
2023

De forma complementaria, instalamos el plugin de NRPE para Nagios con el comando apt -y install
nagios-nrpe-plugin

Después de terminada la instalación, utilizamos el siguiente comando para permitir que el servicio de
nagios se inicie siempre que el equipo se encienda:

systemctl enable nagios4

Activamos unos módulos de apache2 que serán necesarios para el correcto funcionamiento de nagios, a
través del siguiente comando:

sudo a2enmod rewrite cgi auth_digest authz_groupfile

33
Manual monitoreo – Ing. Dayron Oliveros
2023

Reiniciamos el servicio de apache2 para aplicar los cambios:

systemctl restart apache2

Ahora, configuraremos parámetros de autenticación de nagios. Primero, generaremos el usuario y la


contraseña de autenticación de nagios por medio del siguiente comando:

htdigest -c /etc/nagios4/htdigest.users "Nagios4" nagiosadmin

Para este caso, nuestro usuario es “nagiosadmin”, al ejecutar el comando, nos pedirá asignar una
contraseña al usuario e ingresarla nuevamente para confirmar.

Ahora

Configuraremos los permisos apropiados para el fichero con las credenciales, cambiando la propiedad al
usuario www-data y dando los permisos de lectura y escritura solo a este usuario por medio de los
siguientes comandos:

Pasamos a modificar el fichero de configuración de nagios relacionado con apache2, pero antes, por
seguridad, realizaremos una copia del archivo a modificar con el siguiente comando:

cp /etc/nagios4/apache2.conf /etc/nagios4/apache2.conf.bak

Ahora, realizamos algunas modificaciones en uno de los ficheros de configuración de nagios, por medio
del siguiente comando:

nano /etc/nagios4/apache2.conf

Al acceder al fichero, ubicamos las siguientes líneas:

<Files "cmd.cgi">

AuthDigestDomain "Nagios4"

AuthDigestProvider file

AuthUserFile "/etc/nagios4/htdigest.users"

AuthGroupFile "/etc/group"

AuthName "Nagios4"

34
Manual monitoreo – Ing. Dayron Oliveros
2023

AuthType Digest

Require all granted

#Require valid-user

</Files>

Tomaremos las líneas que están entre la sección <Files “cmd.cgi”> y </Files> y las cortaremos para
ubicarlas fuera de esta sección, el archivo deberá verse de forma similar a lo siguiente:

35
Manual monitoreo – Ing. Dayron Oliveros
2023

Dentro de la sección que movimos, comentamos la línea “Require all granted” y eliminamos el
comentario de la línea “#Require valid-user”, también comentamos la línea “Require ip ::1/128 …” el
fichero nos quedará de esta forma:

Guardamos el fichero. Cerramos el editor. Ahora copiamos el fichero editado al directorio de


configuración de apache2 con el siguiente comando:

cp /etc/nagios4/apache2.conf /etc/apache2/conf-available/nagios4-cgi.conf

Ahora modificamos el fichero cgi de Nagios, por medio del siguiente comando:

nano /etc/nagios4/cgi.cfg

Modificamos la línea: use_authentication=0 por use_authentication=1 para habilitar la autenticación


del módulo CGI.

36
Manual monitoreo – Ing. Dayron Oliveros
2023

Guardamos el fichero, para posteriormente salir y reiniciar los servicios de nagios y apache2.

systemctl restart apache2

systemctl restart nagios4

Verificamos que los servicios se han reiniciado correctamente y sin errores con los siguientes comandos:

systemctl status apache2

systemctl status nagios4

37
Manual monitoreo – Ing. Dayron Oliveros
2023

Si el resultado obtenido es muy distinto al que muestran las imágenes anteriores, es necesario verificar
nuevamente la configuración realizada en pasos anteriores.

Una vez instalado Nagios, es posible acceder a su interfaz web mediante la siguiente URL:

http://localhost/nagios4

Se nos pedirán credenciales de autenticación, las cuales son: usuario – nagiosadmin, contraseña – La
definida.

Si las credenciales son correctamente introducidas, accederemos al entorno de Nagios.

38
Manual monitoreo – Ing. Dayron Oliveros
2023

A través de este entorno podremos verificar el estado de los hosts y servicios a monitorizar.

Adición de servidores y hosts a Nagios Core.

Para agregar los elementos a ser monitoreados por Nagios, definimos archivos dentro del directorio
/etc/nagios4/conf.d. Estos archivos deben cumplir con una cierta estructura, y los plugins disponibles en
Nagios nos permiten monitorizar diferentes cosas de acuerdo con nuestras necesidades.

Para este caso, añadiremos primero un archivo donde definimos el servidor Web, FTP, DNS y de correo
electrónico que vamos monitorear, por ello, creamos un nuevo fichero con el siguiente comando:

nano /etc/nagios4/conf.d/servidores.cfg

Dentro del nuevo fichero, definiremos un host y un grupo de host en donde incluiremos a ese servidor y
a todos los servidores futuros.

39
Manual monitoreo – Ing. Dayron Oliveros
2023

Así, hemos creado dos objetos dentro de Nagios, un host llamado “www.sena.edu” y un grupo de hosts
llamado “Servidores”, cada uno con sus propios parámetros.

Después, dentro del mismo fichero, añadimos el monitoreo de dos servicios básicos de este servidor:
Web y DNS, como se muestra a continuación:

40
Manual monitoreo – Ing. Dayron Oliveros
2023

Guardamos y cerramos el fichero. Al definir los nuevos hosts y servicios, reiniciamos los servicios de
nagios y apache.

En el entorno web, ya debe aparecer el host, el grupo de host y los servicios a ser monitoreados.

41
Manual monitoreo – Ing. Dayron Oliveros
2023

42
Manual monitoreo – Ing. Dayron Oliveros
2023

Esperaremos durante unos minutos a que nagios ejecute las revisiones y deberemos ver el estado de las
pruebas realizadas representados en colores: verde para exitoso, rojo para error, amarillo para
advertencia.

De esta forma, podemos medir otros aspectos (servicios) de acuerdo con las necesidades añadiéndolas
al archivo de configuración.

En este caso, añadimos servicios para monitorear el estado de los servicios FTP y de correo electrónico
SMTP.

43
Manual monitoreo – Ing. Dayron Oliveros
2023

44
Manual monitoreo – Ing. Dayron Oliveros
2023

Al esperar unos minutos, nos aparecerá el resultado de las verificaciones realizadas por nagios.

Monitoreo con plugin NRPE de Nagios.

Opcional: Es posible monitorear las cargas del CPU del servidor y generar alertas al llegar esta a niveles
críticos. La siguiente configuración usa el plugin NRPE junto al plugin check_load para generar alertas si
el consumo de CPU llega a ser mayor al 50% y un error crítico en caso de ser mayor al 70%.

Reniciamos el servicio de nagios para aplicar los cambios y validamos que el servicio inicie
correctamente.

45
Manual monitoreo – Ing. Dayron Oliveros
2023

Para que el monitoreo por plugin NRPE sea exitoso, será necesario instalar el agente NRPE en cada
dispositivo a ser monitoreado con esta herramienta. Par este caso, sobre el servidor Web, ejecutamos los
siguientes comandos:

apt -y install nagios-nrpe-server

systemctl enable nagios-nrpe-server

systemctl status nagios-nrpe-server

Editamos el fichero de configuración del agente:

nano /etc/nagios/nrpe.cfg

En el fichero, buscamos la línea “allowed_hosts” y la modificaremos para permitir el acceso al servidor


nagios.

46
Manual monitoreo – Ing. Dayron Oliveros
2023

Deberá quedar como a continuación:

Dirección IP del servidor Nagios.

Guardamos el fichero y reiniciamos el agente con el comando systemctl restart nagios-nrpe-server.

De esta forma, Nagios puede obtener información sobre el consumo de CPU del servidor y mostrar
alertas en su sistema si se superan los niveles definidos.

Adición de dispositivos SNMP a Nagios Core.

47
Manual monitoreo – Ing. Dayron Oliveros
2023

Con nagios, es también posible monitorear el estado de las interfaces de un router o un switch por
medio de SNMP.

Para este caso, crearemos los hosts correspondientes a R1 y SW1 para monitorear el estado de sus
interfaces. Crearemos un nuevo fichero en la carpeta conf.d de nagios4.

nano /etc/nagios4/conf.d/dispositivos.cfg

Creamos los hosts y grupos requeridos

Definimos un servicio para monitorear el estado de las interfaces de R1 y SW1, usando la comunidad
SNMP v2c Senapublic que se había configurado previamente en ellos.

48
Manual monitoreo – Ing. Dayron Oliveros
2023

Guardamos el fichero y reiniciamos el servicio de nagios.

Después de algunos minutos, podrá visualizarse el estado de las interfaces en Nagios.

Muestras finales.

Gracias a la configuración realizada sobre Nagios, el entorno web nos muestra una amplia cantidad de
hosts y servicios monitoreados, teniendo inclusive un mapa de la red generado por la herramienta.

49
Manual monitoreo – Ing. Dayron Oliveros
2023

50
Manual monitoreo – Ing. Dayron Oliveros
2023

La herramienta nos permite generar reportes variados, por ejemplo, reportes de la disponibilidad de los
dispositivos activos durante las últimas 24 horas, o bien reportes de tendencias de estados del servidor
Web en las últimas 24 horas.

51
Manual monitoreo – Ing. Dayron Oliveros
2023

3. Configuración de Servidor Syslog

Syslog es un protocolo que estandariza los eventos o “logs” presentados en un sistema. Entiéndase por
“log” como un registro de una eventualidad presentada, que puede clasificarse en distintas prioridades o
“severities” así como en los tipos de sistemas que envían el registro o “facilities”. Para el monitoreo de
los eventos presentados en múltiples dispositivos de una red, es conveniente la implementación de un
servidor syslog que almacene, ordene y analice los eventos de forma centralizada.

Existen varias soluciones y aplicaciones que ofrecen el servicio de syslog, para el caso de este manual, se
utilizará uno de los paquetes que se encuentran instalados por defecto en la distribución Debian,
Rsyslog.

Instalación.

Dado que Rsyslog ya viene instalado por defecto en el sistema, no hará falta utilizar un comando de
instalación desde el gestor de paquetes. Sin embargo, si no se encuentra este paquete en el sistema, es
posible hacer su instalación por medio del siguiente comando:

apt -y install rsyslog

Configuración del servidor Syslog.

Para el caso de este manual, utilizaremos al servidor de monitoreo con la dirección IP 192.168.23.6 para
recopilar logs de los otros dispositivos de la red.

Para activar las funcionalidades del servidor syslog, editaremos el archivo de configuración principal de
Rsyslog, ubicado en /etc/rsyslog.conf:

nano /etc/rsyslog.conf

52
Manual monitoreo – Ing. Dayron Oliveros
2023

Habilitamos la recepción de logs tanto por UDP como por TCP removiendo los comentarios de las
siguientes líneas:

De esta forma:

En la parte final del fichero, crearemos una plantilla para definir la ubicación donde se almacenarán
todos los registros enviados por los demás dispositivos en la red. Añadimos las siguientes líneas al final
del fichero:

$template logs-remotos,"/var/log/Red/%HOSTNAME%/%PROGRAMNAME%.log"

*.* ?logs-remotos

En la primera línea, definimos una plantilla llamada “logs-remotos” que indica que los logs serán
guardados en la ubicación /var/log/Red/”nombre del host”/”nombre del programa”.log

En la segunda línea, se indican que los logs de cualquier prioridad y de cualquier programa serán
almacenados de acuerdo con lo definido en la plantilla “logs-remotos”.

Guardamos el fichero y reiniciamos el servicio de rsyslog para aplicar los cambios:

systemctl restart rsyslog

Verificamos el correcto funcionamiento de rsyslog con el comando:

53
Manual monitoreo – Ing. Dayron Oliveros
2023

systemctl status rsyslog

Con esta configuración, ya tenemos listo el servidor de Syslog que recogerá todos los eventos de los
demás dispositivos de la red local. Sin embargo, es necesario realizar algunos ajustes en los dispositivos
para que envíen sus registros de log al servidor de Syslog configurado.

Configuración de Clientes Syslog.

La configuración de los clientes Syslog variará dependiendo del sistema operativo que utiliza en cliente.

- Añadir dispositivos Cisco

Comenzaremos añadiendo al router R1, realizando la siguiente configuración sobre este:

R1(config)#logging host 192.168.23.6 - Envia logs al servidor syslog.

R1(config)#logging trap debugging - Envia Traps de proridad 7 (podría usarse


cualquier valor entre 0 y 7 dependiendo de la
prioridad requerida)

R1(config)#logging on - Habilita el envío de traps al servidor


especificado.

54
Manual monitoreo – Ing. Dayron Oliveros
2023

Nos aparecerá un mensaje en consola indicando que se ha iniciado el envío de logs al servidor indicado:

Ahora, en el servidor Syslog, verificaremos la existencia de los logs recibidos de R1, por medio del
siguiente comando:

ls /var/log/

Debe aparecer una carpeta con el nombre Red, dentro de ella deberán aparecer carpetas con el nombre
de host de R1 o su dirección IP (192.168.23.1 para este caso)

En este caso, hay una carpeta con los logs del servidor local, así como del router, identificado como
“_gateway”

Si verificamos el contenido de la carpeta de R1, veremos los diferentes logs generados por el dispositivo:

55
Manual monitoreo – Ing. Dayron Oliveros
2023

Si abrimos uno de los ficheros, encontraremos el contenido de los logs enviados desde R1:

NOTA: en caso de no encontrar archivos de logs de inmediato, intente lo siguiente:

- Encender y apagar una de las interfaces del router, ya que esto genera un log.
- Verificar que los puertos 514 TCP y UDP están permitidos en el firewall en caso de estar
configurado en el servidor.
- Verificar la existencia de conectividad básica entre el servidor syslog y el cliente.
- Verificar la correcta configuración del servidor syslog y del cliente syslog.

Al repetir la misma configuración que se hizo en R1 sobre el switch S1, podemos apreciar el envío de logs
al servidor:

- Añadir servidores o clientes Linux

Ya que Rsyslog viene instalado por defecto en la mayoría de los sistemas Linux, editamos directamente el
fichero rsyslog.conf. (Recuerde: en caso de no tener rsyslog instalado, puede instalarse por medio del
comando apt -y install rsyslog)

nano /etc/rsyslog.conf

56
Manual monitoreo – Ing. Dayron Oliveros
2023

Iremos al final del fichero y añadiremos las siguientes líneas:

#Activamos envio de logs de sistema por UDP al servidor rsyslog

*.* @192.168.23.6:514

# Activamos envio de logs de sistema por TCP al servidor rsyslog

*.* @@192.168.23.6:514

Guardamos los cambios y reiniciamos el servicio de rsyslog con el comando systemctl restart rsyslog

57
Manual monitoreo – Ing. Dayron Oliveros
2023

Ahora podremos verificar sobre el servidor Rsyslog si se están recibiendo los Logs del servidor Web, DNS
que estamos monitorizando.

Podemos ver que se ha creado dentro de la carpeta de logs, una carpeta con el nombre Debian-Server, si
revisamos su contenido, podemos ver los archivos de log ya enviados hacia el servidor Rsyslog de parte
del servidor web.

Si revisamos por ejemplo el archivo named.log, veremos los registros correspondientes al servicio DNS
dentro del servidor, que han sido exitosamente enviados.

De esta forma, tenemos un servidor de Syslog funcionando y que recibe los eventos de los hosts que
configuremos para que envíen sus registros a este.

58
Manual monitoreo – Ing. Dayron Oliveros
2023

Existen variadas herramientas para visualizar y organizar los archivos de log recibidos, en este caso,
podemos usar herramientas como glogg para ver de una manera más grafica nuestro log de sistema.

Se instala con el comando apt -y install glogg

Abrimos glogg como super usuario, y desde allí podemos cargar cualquier archivo .log ubicado dentro de
la carpeta /var/log o cualquier otra ubicación. En estos ejemplos, visualizamos el contenido de uno de
los archivos de log del servidor Web y del router R1:

59
Manual monitoreo – Ing. Dayron Oliveros
2023

60

También podría gustarte