Comando Linux journalctl
Manual completo de comandos Linux
¿Qué es journalctl?
journalctl es una potente herramienta del sistema Linux utilizada para consultar y mostrar los registros de systemd. Como parte del ecosistema de systemd, proporciona funciones de gestión centralizada de registros, reemplazando al servicio tradicional syslog.
Características principales
- Almacenamiento de registros en binario: los registros se almacenan en formato binario, mejorando la eficiencia de búsqueda
- Registros estructurados: admite metadatos adicionales y campos de registro estructurados
- Monitoreo en tiempo real: puede rastrear los cambios de registros en tiempo real
- Múltiples métodos de filtrado: admite filtrar por tiempo, servicio, prioridad y otras condiciones
Sintaxis básica
El formato básico del comando journalctl es el siguiente:
journalctl [选项] [匹配条件...]
Resumen de opciones comunes
| Opción | Descripción |
|---|---|
-b |
Muestra los registros del arranque actual |
-f |
Sigue los registros (similar a tail -f) |
-k |
Muestra solo mensajes del kernel |
-u |
Muestra los registros de la unidad especificada |
-n |
Muestra los últimos n registros |
--since |
Muestra los registros posteriores a la hora especificada |
--until |
Muestra los registros anteriores a la hora especificada |
Ejemplos de operaciones comunes
1. Ver los registros completos del sistema
Ejemplo
journalctl
2. Ver los registros del arranque actual
Ejemplo
journalctl -b
3. Monitorear nuevos registros en tiempo real
Ejemplo
journalctl -f
4. Ver los registros de un servicio específico
Ejemplo
journalctl -u nginx.service
5. Consultar por rango de tiempo
Ejemplo
journalctl --since "2023-01-01 00:00:00" --until "2023-01-02 12:00:00"
6. Ver registros de nivel de error
Ejemplo
journalctl -p err
Filtrado por prioridad de registros
journalctl admite el filtrado por prioridad de registros; las prioridades se definen de la siguiente manera:
| Prioridad | Valor | Descripción |
|---|---|---|
| emerg | 0 | Emergencia |
| alert | 1 | Requiere atención inmediata |
| crit | 2 | Error grave |
| err | 3 | Error general |
| warning | 4 | Mensaje de advertencia |
| notice | 5 | Situaciones que requieren atención |
| info | 6 | Información general |
| debug | 7 | Información de depuración |
Ejemplo de uso:
Ejemplo
# Muestra los registros de nivel de error y superiores
journalctl -p err
# Muestra los registros de nivel de advertencia y superiores
journalctl -p warning
journalctl -p err
# Muestra los registros de nivel de advertencia y superiores
journalctl -p warning
Uso avanzado
1. Mostrar el espacio en disco ocupado por los registros
Ejemplo
journalctl --disk-usage
2. Limpiar registros antiguos
Ejemplo
# Conserva los registros de los últimos 2 días
journalctl --vacuum-time=2d
# Limita el tamaño máximo de los registros a 500 MB
journalctl --vacuum-size=500M
journalctl --vacuum-time=2d
# Limita el tamaño máximo de los registros a 500 MB
journalctl --vacuum-size=500M
3. Salida en formato JSON
Ejemplo
journalctl -o json
4. Mostrar información completa de los campos
Ejemplo
journalctl -o verbose
5. Filtrar por campo específico
Ejemplo
# Muestra los registros de un ID de proceso específico
journalctl _PID=1234
# Muestra los registros de un usuario específico
journalctl _UID=1000
journalctl _PID=1234
# Muestra los registros de un usuario específico
journalctl _UID=1000
Consejos prácticos
1. Consultas combinadas
Ejemplo
# Consulta los registros de error del servicio nginx desde ayer
journalctl -u nginx.service --since yesterday -p err
journalctl -u nginx.service --since yesterday -p err
2. Ver paginado
Ejemplo
journalctl | less
3. Exportar registros a un archivo
Ejemplo
journalctl --since "2023-01-01" > journal.log
4. Ver mensajes del búfer circular del kernel
Ejemplo
journalctl -k
5. Ver registros del proceso de arranque del sistema
Ejemplo
journalctl -b0 | grep "Starting"
Solución de problemas comunes
Problema 1: Los registros se muestran incompletos
Solución:
Ejemplo
# Aumenta el límite de líneas de salida
journalctl --no-pager
journalctl --no-pager
Problema 2: ¿Cómo ver los registros antiguos rotados?
Solución:
Ejemplo
# Muestra todos los registros (incluidos los archivados)
journalctl -a
journalctl -a
Problema 3: ¿Cómo ver los registros de un momento específico?
Solución:
Ejemplo
# Consulta por tiempo con precisión de segundos
journalctl --since "2023-01-01 12:00:00" --until "2023-01-01 12:05:00"
journalctl --since "2023-01-01 12:00:00" --until "2023-01-01 12:05:00"
Diagrama de flujo de resumen
