Lathack

Herramientas de logs en Linux

Herramientas de logs en Linux

A continuación, veremos el uso en distintas herramientas de logs en Linux, cuya función es facilitar las búsquedas y operaciones con respecto a al registro de eventos del sistema.

Journald

Journald es un demonio cuyo funcionamiento es almacenar la información de registro de eventos. Es decir, crea y mantiene una estructura indexada de la información recibida del kernel, los procesos de usuarios y servicios del sistema. Los datos son guardados de forma segura y en binarios, en el directorio /var/log/journal, de manera que no puedan ser falsificados.

La configuración de este servicio se encuentra en:

/etc/systemd/journald.conf

Herramientas de logs en Linux

Opciones y Descripción

A continuación veremos el significado y uso en la configuración del archivo journald.conf

OPCIÓN

DESCRIPCIÓN

Storage=opción

Controla el luagar donde se guardará la información. Las opciones posibles son: volatile, persistent, auto y none.

volatile: Guarda la información la memoria RAM en el directorio /run/log/journal. Se pierde al reiniciar.

persistent: Guardará la información en /var/log/journal

auto: Es la opción predeterminada. Si no existe /var/log/journal, guardará los registros en la RAM.

none: Desactiva el almacenamiento de registros.

Compress=

Comprimir o no la información almacenada. De manera predeterminada el valor es yes.

Seal=

Utilizar o no la protección de los registros por modificaciones no autorizadas. Valor predeterminado yes.

SplitMode=

División de registros:

uid=por userID.

login=usuarios con acceso al sistema. Los usuarios sin acceso (usuarios de sistema ) utilizarán los registros de sistema. none=utilizará un único archivo para almacenar los registros.

RateLimitInterval=

RateLimitBurst=

Aplica un límite a los mensajes generados en el sistema. Si en el intervalo definido en RateLimitInterval supera la cantidad de mensajes en RateLimitBurst los descartará. Valor predeterminado 1000 mensajes cada 30 segundos.

MaxFileSec=

Tiempo máximo para rotar los registros. Predeterminado un mes.

MaxRetentionSec=

Período máximo de retención de registros.

ForwardToSyslog=

Reenviar o no los mensajes recibidos al servicio de syslog.

Recordar:

Luego de haber instalado este servicio, en el caso de que no nos aparezca el directorio /var/log/journal, procederemos a crear dicha ruta de la siguiente manera:

# mkdir /var/log/journal

Luego de crear el directorio hay que ejecutar el siguiente comando para que systemd aplique determinadas reglas (por ejemplo permisos r-w-x) a los archivos y directorios del journal.

# systemd-tmpfiles –create –prefix /var/log/journal

Comando journalctl

Este comando es utilizado para consultar los registros escritos por el servicio systemd-journald.service. En caso de no tenerlo instalado, podemos buscarlo con #apt search journalctl.

Opciones

f Muestra de manera continua los nuevos registros (similar a “tail -f “).

n [número] Muestra el número de líneas definido.

o [salida] Muestra el formato en la salida definida (short, verbose, json).

k Muestra mensajes del kernel (igual comando dmesg).

p [prioridad] Muestra los mensajes de la prioridad definida (debug, info, notice, warning, err, crit, alert, emerg).

_PID [número] Muestra los mensajes del PID definido.

_UID [número] Muestra los mensajes del usuario definido.

Sintaxis:

# journalctl (opción) [argumento]

Ejemplos

Muestra los registros del PID 1 con la prioridad err

# journalctl -p err _PID=1

Cabe aclarar que el comando anterior mostrará también los mensajes con niveles de mayor severidad. Si por ejemplo, se desea ver solamente los mensaje de error, tendriamos que ejecutar:

# journalctl PRIORITY=err _PID=1

Mostrar registros hasta una hora y fecha determinada:

# journalctl -U “2022-08-15 07:10:00”

Mostrar de una semana para atrás:

# journalctl -U “-1 week”

Mostrar los registros del último mes hasta el día de ayer:

# journalctl -S “-1 month” -U “today”

Mostrar los registros de los últimos 10 minutos:

# journalctl -S “-10 minutes”

Mostrar los últimos 10 registros del servicio dbus:

# journalctl -n 10 _SYSTEMD_UNIT=dbus.service

Mostrar de manera continua los registros de la unidad apache2:

# journalctl -f -u apache2

Mostrar de manera continua los registros del usuario operador:

# journalctl _UID=$(id -u operador)

Mostrar un listado de los últimos arranques del equipo:

# journalctl –list-boots

Comando logger

Este comando es una de las herramientas de logs en Linux bastante útil, ya que nos permite  hacer llamadas a rsyslog para que el sistema pueda escribir un log donde se le indique:

Opciones:

-p prioridad (puede utilizarse como selector, es decir, servicio.prioridad)

-t marca y/o agrega un texto para identificar el mensaje

Los mensajes sin ruta especificada se envían a /var/log/messages. Veamos los siguientes ejemplos:

#logger Mundo Lathack!

#tail –f /var/log/messages

Herramientas de logs en Linux

Podemos hacerlo en mail.info:

# logger -p mail.info «ejemplo Lathack»

# tail -f /var/log/mail.log

O también usar:

# logger -t «ejemplo Lathack» -p mail.info «prueba de mensaje»

# tail /var/log/mail.log

Uso de los comandos lastlog y last

Estos comandos representan otras de las herramientas de logs en Linux, fundamentales para la seguridad. Con ellos podremos obtener información acerca de los intentos fallidos de acceso de los usuarios del sistema, y las veces que intentaron conectarse.

Comando lastlog

Este comando muestra la última vez que se logueó cada usuario del sistema.

Sintaxis:

# lastlog (opción) [ususario]

Opciones:

-u define el usuario a consultar

-t días muestra solo los registros que no sean más antiguos que la cantidad de días definida

-b días muestra solo los registros que sean más antiguos que la cantidad de días definida

# lastlog

Comando last

El comando last muestra las últimas veces que un usuario ingresó en el sistema, pero también las veces que se apagó o reinició el equipo. De igual modo, indica la versión del kernel con la que se inició, lo cual es muy importante.

Sintaxis:

# last (opciones) [ususario]

Aunque por defecto, si solo ejecutamos el comando “last”, nos traerá el resultado de todos los usuarios.

Opciones:

f archivo Lee otro archivo en lugar de usar /var/log/wtmp.

-numero cantidad de líneas a mostrar.

F más datos acercas de login y logout.

w más datos acerca del usuario y dominios.

# last

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

16 − uno =

Lathack
Scroll al inicio