Búsqueda de sitios web

Swatchdog: Observador simple de archivos de registro en tiempo real en Linux


Swatchdog (el “Simple WATCH DOG ”) es un script Perl simple para monitorear archivos de registro activos en sistemas similares a Unix, como Linux. Observa sus registros en función de expresiones regulares que puede definir en un archivo de configuración. Puede ejecutarlo desde la línea de comandos o en segundo plano, desconectado de cualquier terminal usando la opción del modo demonio.

Tenga en cuenta que el programa se llamaba originalmente swatch (el "Simple Watcher"), pero una solicitud de la antigua compañía de relojes suiza para un cambio de nombre hizo que el desarrollador cambiara su nombre a < fuerte>perro guardián.

Lea también: 4 buenas herramientas de administración y monitoreo de registros de código abierto para Linux

Es importante destacar que swatchdog surgió a partir de un script para observar registros producidos por la función syslog de Unix y puede monitorear casi cualquier tipo de registros.

Cómo instalar Swatch en Linux

El paquete swatchdog está disponible para instalar desde los repositorios oficiales de las principales distribuciones de Linux como un paquete “swatch” a través de un administrador de paquetes como se muestra.


sudo apt install swatch	[On Ubuntu/Debian]
sudo yum install epel-release && sudo yum install swatch	[On RHEL/CentOS]
sudo dnf install swatch	[On Fedora 22+]

Para instalar la última versión de swatchdog, debe compilarla desde el código fuente utilizando los siguientes comandos en cualquier distribución de Linux.


git clone https://github.com/ToddAtkins/swatchdog.git
cd swatchdog/
perl Makefile.PL
make
sudo make install
sudo make realclean

Una vez que haya instalado swatch, deberá crear su archivo de configuración (la ubicación predeterminada es /home/$USER/.swatchdogrc o .swatchrc ), para determinar qué tipos de patrones de expresión buscar y qué tipo de acciones se deben tomar cuando un patrón coincide.


touch /home/tecmint/.swatchdogrc
OR
touch /home/tecmint/.swatchrc

Agregue su expresión regular en este archivo y cada línea debe contener una palabra clave y un valor (a veces opcional), separados por un espacio o un signo (=) igual. Debe especificar un patrón y las acciones que se realizarán cuando coincida un patrón.

Usaremos un archivo de configuración simple; puede encontrar más opciones en la página de manual de swatchdog, por ejemplo.

watchfor  /sudo/
	echo red
	[email , subject="Sudo Command"

Aquí, nuestra expresión regular es una cadena literal: “sudo”, significa que cada vez que la cadena sudo apareciera en el archivo de registro, se imprimiría en el terminal en texto rojo y correo especifica la acción a tomar, que es hacer eco del patrón coincidente en el terminal y enviar un correo electrónico a la dirección especificada, de manera receptiva.

Una vez configurado, swatchdog lee el archivo de registro /var/log/syslog de forma predeterminada; si este archivo no está presente, lee /var/log/messages.


swatch     [On RHEL/CentOS & Fedora]
swatchdog  [On Ubuntu/Debian]

Puede especificar un archivo de configuración diferente utilizando el indicador -c como se muestra en el siguiente ejemplo.

Primero cree un directorio de configuración de muestras y un archivo.

mkdir swatch
touch swatch/secure.conf

A continuación, agregue la siguiente configuración en el archivo para monitorear los intentos fallidos de inicio de sesión, los intentos fallidos de inicio de sesión SSH y los inicios de sesión SSH exitosos desde el archivo de registro /var/log/secure.

watchfor /FAILED/
echo red
[email , subject="Failed Login Attempt"

watchfor /ROOT LOGIN/
echo red
[email , subject="Successful Root Login"

watchfor /ssh.*: Failed password/
echo red
[email , subject="Failed SSH Login Attempt"

watchfor /ssh.*: session opened for user root/ 
echo red
[email , subject="Successful SSH Root Login"

Ahora ejecute Swatch especificando el archivo de configuración usando el -c y el archivo de registro usando el indicador -t como se muestra.

swatchdog -c ~/swatch/secure.conf -t /var/log/secure

Para ejecutarlo en segundo plano, utilice el indicador --daemon; en este modo se desconecta de cualquier terminal.

swatchdog ~/swatch/secure.conf -t /var/log/secure --daemon  

Ahora, para probar la configuración de la muestra, intente iniciar sesión en el servidor desde una terminal diferente; verá el siguiente resultado impreso en la terminal donde se ejecuta Swatchdog.

*** swatch version 3.2.3 (pid:16531) started at Thu Jul 12 12:45:10 BST 2018

Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)

También puede ejecutar múltiples procesos de muestra para monitorear varios archivos de registro.

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

Para obtener más información, consulte la página de manual de swatchdog.

man swatchdog

Repositorio Swatchdog SourceForge: https://sourceforge.net/projects/swatch/

Las siguientes son algunas guías adicionales de monitoreo de registros que le resultarán útiles:

  1. 4 formas de ver o monitorear archivos de registro en tiempo real
  2. Cómo crear un servidor de registro centralizado con Rsyslog
  3. Supervise los registros del servidor en tiempo real con la herramienta "Log.io"
  4. lnav: observe y analice los registros de Apache desde una terminal de Linux
  5. ngxtop: supervise los archivos de registro de Nginx en tiempo real en Linux

Swatchdog es una sencilla herramienta de supervisión de archivos de registro activo para sistemas similares a Unix, como Linux. Pruébelo y comparta sus pensamientos o haga cualquier pregunta en la sección de comentarios.