Si eres un administrador de sistemas, probablemente conocerás la importancia de los archivos de registro, así como el dolor que uno pasa al analizarlos, especialmente cuando se trata de un servidor ocupado. Por suerte, hay ciertas herramientas que le facilitan la vida, y una de ellas es Logwatch, una herramienta de línea de comandos para analizar e informar sobre los registros en Linux.

En este artículo, discutiremos los fundamentos de esta herramienta, junto con las características que proporciona.

Nota: Todos los ejemplos discutidos en este artículo han sido probados en Ubuntu 14.04 y GNU bash, versión 4.3.11(1). Sin embargo, Logwatch está disponible para la mayoría de las distribuciones de Linux.

Instalación

El comando Logwatch se encuentra en el repositorio de la mayoría de las distribuciones de Linux y se puede instalar con el siguiente comando.

Distro basada en Ubuntu o Debian:

sudoapt-get install logwatch

o

sudoyum install logwatch

para las distribuciones basadas en Centos, Fedora o Redhat.

También puedes instalarlo desde el código fuente en la página oficial del proyecto.

Logwatch

Logwatch está básicamente orientado a ayudar en la gestión de los registros del sistema. Tiene la capacidad de recorrer tus logs durante un periodo de tiempo determinado y realizar un informe en las áreas que desees con el detalle que desees. Estos son algunos de los ejemplos que explican su uso:

Obtener información de todo

Por defecto, la herramienta Logwatch analiza e informa de los registros relacionados con una amplia gama de servicios. Por ejemplo, aquí está la salida cuando el comando fue ejecutado sin ninguna opción:

logwatch-basic

Como puede ver, la información de salida es grande y no es lo suficientemente conveniente para ser vista en la pantalla del terminal. Por lo tanto, es mejor que la redirija a un archivo de texto para facilitar su visualización.

logwatch-output

La captura de pantalla anterior debería darle una idea sobre el tipo de informe que crea Logwatch. La cabecera presente en la parte superior le da un resumen de la configuración por defecto del comando. Por ejemplo, el campo «Processing Initiated» contiene información sobre la fecha y hora en que se ejecutó el comando, el campo «Date Range Processed» contiene información sobre el periodo de tiempo de los logs analizados, el campo «Detail Level of Output» contiene información sobre el nivel de detalle del informe, y los dos últimos campos contienen información sobre el formato de salida y el host local.

Después de toda esta información, comienza el informe propiamente dicho, en el que los registros se separan en función de los servicios. Por ejemplo, el primer servicio aquí es el estado de dpkg, seguido por Kernel, pam_unix, Connections, sudo, y más.

Limitar la salida a un servicio en particular

Si lo desea, puede limitar la salida del comando a un servicio en particular. Esto puede lograrse utilizando la opción –service. Aquí tienes un ejemplo:

logwatch-select-service

Para que pueda ver que el comando produjo un informe específico para el servicio pam_unix solamente.

Especificar el nivel de detalle

El comando también permite especificar el nivel de detalle del informe mediante la opción –detail. El argumento de esta opción puede ser alto, medio o bajo, que corresponden a los enteros 10, 5 y 0, respectivamente.

Como está claro en el primer ejemplo discutido en este artículo, el nivel de detalle por defecto es 0. Aquí está la salida por defecto del comando para el servicio Kernel:

logwatch-kernel

y aquí está la salida cuando el nivel de detalle se estableció explícitamente en 10 o alto:

logwatch-kernel-2

Como puede ver, al aumentar el nivel de detalle de 0 a 10, la información producida por el comando también aumentó.

Especificar un rango de fechas

También puede especificar un rango de fechas para procesar, lo que significa que puede dar al comando un rango de tiempo a partir del cual procesar las entradas de registro. Esto puede lograrse utilizando la opción –range. Los rangos más comunes son Ayer, Hoy y Todos. He aquí un ejemplo:

rango de registro

Enviar el informe a una dirección de correo electrónico

Logwatch también es capaz de enviar el informe a una dirección de correo electrónico determinada. Esto puede lograrse utilizando la opción –mailto.

He aquí un ejemplo:

logwatch –service pam_unix –range all –detail high –mailto [email protected]

El comando anterior envió el informe a una cuenta de correo electrónico. Probablemente deberías comprobar tu carpeta de Spam para el correo electrónico ya que Gmail lo ha marcado como Spam para mi cuenta de correo electrónico.

logwatch-email

Para obtener más información sobre Logwatch, consulte la página de manual del comando.

Conclusión

Si estás buscando una herramienta de línea de comandos que pueda escanear los archivos de registro del sistema y presentar la información en una forma legible para el ser humano, prueba Logwatch. Puede considerarse fácilmente como una de las herramientas de línea de comandos más útiles para el análisis y filtrado de archivos de registro de propósito general.