Ver destacados

Cómo usar Swatchdog para monitorear Logs en Linux

Tutorial para saber cómo instalar, configurar y usar Swatchdog para monitorear Logs en Linux.
Escrito por
7.1K Visitas  |  Publicado ago 24 2018 10:40
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Como administradores de sistemas siempre debemos contar con las mejores herramientas y aplicaciones que nos permitan llevar a cabo las tareas de monitoreo y supervisión de una forma mucho más integral, es decir, no solo obtener datos superficiales sino completos de cada acción que acontece tanto a nivel interno como externo dentro del sistema operativo.

 

Una de las mejores formas para acceder a dicha información es a través de los logs o registros de eventos en los cuales se almacenan múltiples datos como:

  • Inicios, reinicios y apagados del sistema tanto exitosos como erróneos
  • Acceso a aplicaciones y programas
  • Eventos de seguridad
  • Registros de conexiones entrantes y salientes y mucho más.

 

Una de las mejores opciones para acceder al monitoreo de estos logs es Swatchdog y por ello en Solvetic explicaremos como instalarlo y usarlo en Linux.

 

Qué es Swatchdog
Swatchdog es un script simple basado en Perl que ha sido desarrollado para monitorear los archivos de registro activos en sistemas tipo Unix como Linux.

 

Swatchdog este en la capacidad de monitorear casi cualquier tipo de registros en Linux y estos registros son producidos por la función syslog de Unix y será posible ver los registros basados ​​en expresiones regulares las cuales podemos definir en el archivo de configuración de la utilidad.

 

En este tutorial te explicamos cómo monitorear eventos en tiempo real en Linux a través de diferentes comandos.

 

 


1. Cómo instalar Swatchdog en Linux


Para este caso usaremos Ubuntu 18.04, el paquete swatchdog se encuentra disponible para la instalación desde los repositorios oficiales de cada una de las distribuciones principales de Linux como un paquete "swatch" a través de un administrador de paquetes, para su instalación podemos ejecutar lo siguiente en base a la distribución usada:
sudo apt install swatch (Ubuntu / Debian)
sudo yum install epel-release && sudo yum install swatch (RHEL / CentOS)
sudo dnf install swatch (Fedora 22)

 

Pulsamos la tecla S para confirmar la descarga e instalación de Swatchdog.

 

Si deseamos instalar la última versión de Swatchdog, este debe ser compilado desde el origen haciendo uso de los siguientes comandos en todas las distribuciones de Linux:

git clone https://github.com/ToddAtkins/swatchdog.git
cd swatchdog/
perl Makefile.PL
make
sudo make install
sudo make realclean
Con esos comandos lo tendréis listo.

 

 


2. Cómo configurar Swatchdog en Linux


Una vez se haya completado el proceso de instalación de Swatchdog, será necesario crear el archivo de configuración, su ubicación por defecto es /home/$USER/.swatchdogrc o .swatchrc, esto con el fin de determinar qué tipos de patrones de expresión se van a buscar y qué tipo de acción debe ser ejecutada cuando se combina un patrón.

 

Paso 1

Para crear este archivo usaremos alguna de las siguientes opciones:
sudo touch /home/solvetic/.swatchdogrc
sudo touch /home/solvetic/.swatchrc

 

 

Nota
El campo Solvetic debe ser reemplazado por el usuario respectivo.

 

Ahora vamos a añadir una expresión regular en este archivo y cada línea debe contener una palabra clave y un valor separados por un espacio o un signo igual (=), será necesario especificar un patrón y una acción a tomar en el caso de que coincida un patrón.

 

Accedemos al archivo usando el editor deseado:

sudo nano swatchdogrc
Paso 2

Alli pegaremos, como ejemplo, lo siguiente:
watchfor  /sudo/
echo red
mail=solvetic@outlook.com, subject="Sudo Action"

 

Guardamos los cambios usando las teclas:

 

 

Ctrl + O

 

 

y salimos del editor usando:

 

 

Ctrl + X

 

 

Paso 3

En este ejemplo, la expresión regular es una cadena literal llamada "sudo", la cual significa que cada vez que la cadena sudo se ejecute en el archivo de registro, se imprimirá en el terminal en texto rojo y al correo se especificará la acción que ha sido ejecutada, así tendremos información constante sobre las acciones llevadas a cabo.

 

Después de su configuración, swatchdog lee el archivo de registro /var/log/syslog de forma predeterminada, y si este archivo no está presente, leerá /var/log/messages.

 

Ejecutamos lo siguiente para leer los registros:

swatch (RHEL / CentOS y Fedora)
swatchdog (Ubuntu / Debian)

 

Paso 4

También será posible indicar un archivo de configuración diferente haciendo uso del parámetro -c, para ello primero crearemos un archivo de la siguiente manera:
mkdir swatch
touch swatch/secure.conf
Paso 5

Una vez creado, vamos a añadir la siguiente configuración en el archivo con el fin de monitorear intentos de inicio de sesión fallidos, intentos de inicio de sesión de SSH fallidos, inicios de sesión de SSH exitosos en el archivo de registro /var/log/secure.
watchfor /FAILED/
echo red
mail=solvetic@outlook.com, subject="Intento de acceso fallido"
watchfor /ROOT LOGIN/
echo red
mail= solvetic@outlook.com, subject="Acceso Root correcto"
watchfor /ssh.*: Failed password/
echo red
mail= solvetic@outlook.com, subject="Intento de conexión SSH fallido"
watchfor /ssh.*: session opened for user root/ 
echo red
mail= solvetic@outlook.com, subject="Acceso SSH Root correcto"

 

Paso 6

Guardamos los cambios usando las teclas Ctrl + O y salimos del editor usando Ctrl + X.
Ahora vamos a ejecutar Swatch especificando el archivo de configuración creado usando el archivo -c y el log usando el indicador -t así:
swatchdog -c ~/swatch/secure.conf -t /var/log/secure
Paso 7

De esta forma, a medida que se vayan registrando entradas estas serán desplegadas en los resultados de Swatchdog.
Adicionalmente podemos crear otros archivos para monitoreo como:
swatchdog -c ~/site1_watch_config -t /var/log/nginx/site1/access_log --daemon  
swatchdog -c ~/messages_watch_config -t /var/log/messages --daemon
swatchdog -c ~/auth_watch_config -t /var/log/auth.log --daemon
Algunas opciones de uso adicionales son:

 

--awk-field-syntax
Esta opción puede ser usada solo si se desea anular la retroinferencia de expresión regular en favor de la referencia de campo de estilo awk

-config-file|-c filename
Le indica a swatchdog dónde debe encontrar el archivo de configuración

--daemon
Le indica a swatchdog que se ejecute en segundo plano y se desasocie de cualquier terminal

-extra-module|-M module_name
Iindica a swatchdog qué módulos de acción personalizados debe cargar.

 

Así, será posible llevar un control mas preciso los eventos en Linux gracias a esta utilidad.

 

Tutorial en el que se explica cómo monitorear procesos y servidor Linux con Scout_Realtime

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!