< Systemd (Español)

systemd (Español)/Journal (Español)

systemd tiene un sistema de registro («log») propio llamado journal. Por tanto, ya no es necesario hacer funcionar el demonio syslog. Para leer el registro, utilice:

# journalctl

Esta traducción de systemd/Journal fue revisada el 2019-09-20. Si existen cambios puede actualizarla o avisar al equipo de traducción.

En Arch Linux, el directorio /var/log/journal/ es parte del paquete systemd, y journal (cuando Storage= está definido a auto en /etc/systemd/journald.conf) escribirá en /var/log/journal/. Si usted o algún programa eliminan ese directorio, systemd no lo volverá a crear automáticamente y en su lugar escribirá sus registros en /run/systemd/journal de una manera no persistente. Sin embargo, la carpeta se volverá a crear cuando establezca Storage=persistent y reinicie systemd-journald.service (o reinicie el equipo).

El journald de systemd clasifica los mensajes por #Nivel de prioridad y #Nivel del recurso. La clasificación del registro corresponde al protocolo clásico de Syslog (RFC 5424).

Nivel de prioridad

Se utiliza el código de severidad de syslog (en systemd llamado prioridad) para marcar la importancia de un mensaje RFC 5424 Section 6.2.1.

ValorSeveridadPalabra claveDescripciónEjemplos
0EmergenciaemergEl sistema está inutilizableBug importante del kernel, núcleo de systemd volcado.
Este nivel no debe ser utilizado por las aplicaciones.
1AlertaalertDebe corregirse inmediatamenteEl subsistema vital parece no funcionar. Pérdida de datos.
kernel: BUG: unable to handle kernel paging request at ffffc90403238ffc.
2CríticocritCondiciones criticasQuiebra, volcado del núcleo. Tales como:
systemd-coredump[25319]: Process 25310 (plugin-containe) of user 1000 dumped core
Error en la aplicación principal del sistema, como X11.
3ErrorerrCondiciones de errorSe informa de error no grave:
,
,
).
4AdvertenciawarningPuede indicar que se producirá un error si no se toman medidas.Un sistema de archivos no root tiene solo 1GB libre.
org.freedesktop. Notifications[1860]: (process:5999): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale.
5AvisonoticeEventos que son inusuales, pero que no presuponen un error.. .
6InformativoinfoMensajes de operaciones normales que no requieren ninguna acción..
7Depuración erroresdebugInformación útil para los desarrolladores para depurar errores de la aplicación..

Si no puede encontrar un mensaje en el nivel de prioridad esperado, puede buscar también un par de niveles por encima y por debajo: estas reglas son recomendaciones y el desarrollador de la aplicación afectada puede tener una percepción diferente de la importancia del problema con respecto a la suya.

Nivel del recurso

Se utiliza un código de recursos de syslog para especificar el tipo de programa que está registrando el mensaje RFC 5424 Section 6.2.1.

Código del recursoPalabra claveDescripciónInformación
0kernmensajes del kernel
1usermensajes a nivel de usuario
2mailsistema de correoEl arcaico POSIX todavía se admite y se usa a veces (para más información )
3daemondemonios del sistemaTodos los demonios, incluyendo systemd y sus subsistemas
4authmensajes de seguridad/autorizaciónTambién tenga en cuenta los diferentes recursos del código 10
5syslogmensajes generados internamente por syslogdPara las implementaciones de syslogd (no utilizadas por systemd, consulte el código 3)
6lprimpresora de línea]] (subsistema arcaico)
7newssubsistema de noticias de la red (subsistema arcaico)
8uucpsubsistema UUCP (subsistema arcaico)
9demonio para el reloj del sistemasystemd-timesyncd
10authprivmensajes de seguridad/autorizaciónTambién tenga en cuenta los diferentes recursos del código 4
11ftpsubsistema FTP
12-subsistema NTP
13-auditoría de registro
14-alerta de registro
15crondemonio de programación
16local0uso local 0 (local0)
17local1uso local 1 (local1)
18local2uso local 2 (local2)
19local3uso local 3 (local3)
20local4uso local 4 (local4)
21local5uso local 5 (local5)
22local6uso local 6 (local6)
23local7uso local 7 (local7)

Por lo tanto, son códigos útiles para observar: 0,1,3,4,9,10,15.

Filtrar la salida

journalctl le permite filtrar los resultados por campos específicos. Tenga en cuenta que si hay muchos mensajes para mostrar o el filtrado que hay que hacer abarca mucho tiempo, la salida de esta orden puede retrasarse durante bastante tiempo.

Ejemplos:

  • Mostrar todos los mensajes del arranque: Sin embargo, a veces a uno le interesan no los mensajes actuales, sino los mensajes desde el arranque anterior (por ejemplo, si ocurrió un fallo del sistema irrecuperable). Esto es posible pasando el parámetro : muestra los mensajes del arranque actual, journalctl -b -1 muestra los mensajes del arranque anterior, journalctl -b -2 muestra los mensajes desde los dos últimos arranques y así sucesivamente. Véase para una descripción completa, dado que los argumentos que se pueden pasar a la orden hacen que el filtrado pueda ser mucho más potente.
  • Mostrar todos los mensajes de fecha (y hora opcional):
  • Mostrar todos los mensajes desde hace 20 minutos:
  • Seguir los mensajes nuevos:
  • Mostrar todos los mensajes por un ejecutable específico:
  • Mostrar todos los mensajes para un proceso específico:
  • Mostrar todos los mensajes por una unidad específica:
  • Mostrar el búfer del kernel
  • Mostrar solo mensajes de error, críticos y de prioridad de alerta
    # journalctl -p err..alert
    También se pueden usar números, . Si se utiliza un solo número/palabra clave, journalctl -p 3 —también se incluyen todos los niveles de prioridad más altos—.
  • Mostrar el equivalente de auth.log para filtrar en el código de instalación de syslog:
  • Si el directorio de journal (de manera predeterminada, ubicado en ) contiene una gran cantidad de datos de registro, entonces puede tardar varios minutos en filtrar la salida. Puede acelerarlo significativamente usando la opción para forzar a a buscar solo en el journal más reciente:

Véase , o esta entrada de blog de Lennert para obtener más detalles.

Sugerencia: Mientras journal se almacena en un formato binario, el contenido de los mensajes almacenados no se modifica. Esto significa que se puede visualizar en forma de stringscadenas»), por ejemplo, para la recuperación en un entorno que no tiene instalado systemd. Ejemplo de orden:
$ strings /mnt/arch/var/log/journal/af4967d77fba44c6b093d0e9862f6ddd/system.journal | grep -i ''message''

Límite del tamaño de journal

Si journal se ha creado como permanente (no volátil), el límite de su tamaño se establece con un valor predeterminado correspondiente al 10% del tamaño del sistema de archivos pero limitado a 4 GiB. Por ejemplo, con alojado en una partición raíz de 20 GiB, esto permitiría almacenar hasta 2 GiB de datos en journal. En una de 50 GiB, tendría un máximo de 4 GiB.

El tamaño máximo del journal permanente puede ser controlado descomentando y modificando la correspondiente línea:

También es posible utilizar el mecanismo de sobrescribir la configuración con fragmentos insertados en lugar de editar el archivo de configuración global. En este caso, no olvide colocar el reemplazo debajo del encabezado de :

Reinicie el servicio systemd-journald.service después de cambiar esta configuración para aplicar inmediatamente el nuevo límite.

Vea para más información.

Limpiar manualmente archivos journal

Los archivos journal se pueden eliminar globalmente de /var/log/journal/ utilizando por ejemplo , o se pueden recortar de acuerdo con varios criterios usando . Ejemplos:

  • Eliminar los archivos journal archivados hasta que el espacio en disco que utilizan esté por debajo de 100M:
  • Hacer que todos los archivos journal no contengan datos de más de 2 semanas.

Vea para más información.

Journald coexistiendo con syslog

La compatibilidad con una implementación clásica, syslog, no reconocida por journald, se puede proporcionar al permitir que systemd reenvíe todos los mensajes a través del socket . Para hacer que el demonio syslog funcione con journal, debe vincularse a este socket en lugar de a /dev/log (anuncio oficial).

El journald.conf predeterminado para reenviar al socket es para evitar la sobrecarga del sistema, porque rsyslog o syslog-ng tiran de los mensajes de journal por sí mismo.

Vea Syslog-ng#Overview y Syslog-ng#syslog-ng and systemd journal, o rsyslog respectivamente, para obtener detalles sobre la configuración.

Reenviar journald a /dev/tty12

Cree un directorio inclusivo y cree un archivo en él:

Depués reinicie systemd-journald.service.

Especificar un journal diferente para visulizar

Puede ser necesario verificar los registros de un sistema inoperativo, arrancado desde un sistema live para recuperar un sistema operativo. En tal caso, se puede montar el disco, por ejemplo en , y especificar la ruta de journal a través de /, así:

$ journalctl -D /mnt/var/log/journal -xe
gollark: > What shit does gollark say that gets parroted? Weird stuff about bees?Essentially.
gollark: I didn't steal any thunder, I stole the *lightning*.
gollark: Hard to tell what, human social interactions are fiddly and complex.
gollark: Yes, I don't think the server would unexist, but definitely *some* things would happen.
gollark: You get to ban me for 124.7µs, but if the length of the ban exceeds this by more than 88% you are forced to transfer admin powers to me.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.