Guía completa de journalctl: consultando Logs en Linux

journalctl Linux
journalctl Linux

En Linux, la gestión de registros (logs) es fundamental para diagnosticar problemas, supervisar servicios y garantizar la estabilidad del sistema. Una de las herramientas más potentes para esta tarea es journalctl, parte de systemd. Con ella puedes consultar, filtrar y analizar los registros generados por el sistema y sus servicios. Dominar journalctl no solo te permitirá resolver incidencias más rápido, sino también anticiparte a posibles fallos antes de que impacten en tu infraestructura.

👉 Y recuerda, si quieres aprender más de Linux, pincha en este curso de Linux gratis

Características de journalctl

  1. Centralización de logs:
    • Combina los registros del kernel, los servicios del sistema y las aplicaciones en un único lugar.
  2. Estructura avanzada:
    • Los registros están estructurados y enriquecidos con metadatos, como el ID de proceso (PID), el usuario (UID) y el servicio asociado.
  3. Filtrado poderoso:
    • Permite filtrar por tiempo, servicio, prioridad, PID y otros parámetros.
  4. Logs persistentes (opcional):
    • Puede almacenar registros en el disco para que sean accesibles incluso después de reiniciar el sistema.

Uso básico de journalctl

1. Mostrar todos los registros

#Muestra todos los registros disponibles desde el inicio del sistema.
journalctl

2. Mostrar registros del arranque actual

#Filtra los registros del arranque actual.
journalctl -b
#Ver registros de arranques anteriores
journalctl -b -1 
#-b -2 para el segundo arranque anterior, y así sucesivamente

3. Seguir registros en tiempo real

#Funciona como tail -f, mostrando los registros a medida que se generan.
journalctl -f

4. Filtrar por tiempo

#Desde una hora específica
journalctl --since "2024-11-27 14:00:00"
#Hasta una hora específica
journalctl --until "2024-11-27 18:00:00"
#Entre dos momentos
journalctl --since "2024-11-27 14:00:00" --until "2024-11-27 18:00:00"

Filtrando registros de journalctl

1. Por prioridad

Los mensajes tienen diferentes prioridades según su gravedad:

PrioridadCódigoDescripción
0emergEmergencia
1alertAlerta
2critCrítico
3errError
4warningAdvertencia
5noticeAviso
6infoInformativo
7debugDepuración
#Mostrar mensajes de prioridad "error" o más graves
journalctl -p err
#Mostrar mensajes de prioridad "advertencia" o más graves
journalctl -p warning

2. Por servicio

#Filtrar por un servicio específico
journalctl -u sshd.service
#Filtrar registros de un servicio para el arranque actual
journalctl -u nombre_del_servicio.service -b

3. Por PID

#Filtrar por el ID de un proceso específico:
journalctl _PID=1234

4. Por usuario

#Filtrar registros generados por un usuario específico:
journalctl _UID=1000

Personalizar la salida

1. Cambiar el formato de salida

#Formato detallado
journalctl -o verbose
#Formato JSON
journalctl -o json
#Formato compacto
journalctl -o short

2. Mostrar un número limitado de registros

#Últimas 100 entradas:
journalctl -n 100
#Mostrar los registros en orden inverso
journalctl -r

Logs persistentes

Por defecto, los registros de journald se almacenan en memoria y se borran al reiniciar el sistema. Para habilitar logs persistentes:

#1) Crear un directorio para los logs
sudo mkdir -p /var/log/journal
#2)Configurar permisos
sudo systemd-tmpfiles --create --prefix /var/log/journal
#3)Editar el archivo de configuración: 
#Abre /etc/systemd/journald.conf y ajusta la línea:
Storage=persistent
#4)Reiniciar el servicio de journald:
sudo systemctl restart systemd-journald

El comando journalctl se ha convertido en un aliado indispensable para cualquier administrador de sistemas en Linux. Gracias a sus opciones de filtrado, consulta en tiempo real y compatibilidad con systemd, facilita enormemente el análisis de logs. Aprender a usarlo correctamente es una inversión que te ahorrará tiempo, mejorará tu capacidad de resolución de problemas y reforzará tu perfil como sysadmin o DevOps.

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

Deja una respuesta

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