¿Dónde se almacenan los datos de "journalctl"?


43

Cuando emito journalctl, obtengo un registro masivo de todos los servicios del sistema, pero ¿dónde se almacena toda esta información?

Respuestas:


37

De man systemd-journald:

FILES
       /etc/systemd/journald.conf
           Configure systemd-journald behavior. See journald.conf(5).

       /run/log/journal/machine-id/*.journal,
       /run/log/journal/machine-id/*.journal~,
       /var/log/journal/machine-id/*.journal,
       /var/log/journal/machine-id/*.journal~
           systemd-journald writes entries to files in
           /run/log/journal/machine-id/ or /var/log/journal/machine-id/ with
           the ".journal" suffix. If the daemon is stopped uncleanly, or if
           the files are found to be corrupted, they are renamed using the
           ".journal~" suffix, and systemd-journald starts writing to a new
           file.  /run is used when /var/log/journal is not available, or when
           Storage=volatile is set in the journald.conf(5) configuration file.

Y como man journalctldice:

journalctl may be used to query the contents of the systemd(1) journal
as written by systemd-journald.service(8).

Estos registros son administrados por el systemd-journaldservicio, por lo que un término más apropiado sería " journaldregistros".


Gracias por la corrección, pero supongamos que un novato como yo también lo buscará, así que supongo que es mejor dejarlo así. Una pregunta de seguimiento: ¿es seguro eliminar estos registros?
— php_nub_qq

55
Bueno, los registros son seguros para eliminar a menos que necesite la información de ellos más adelante.
— muru

Tenga en cuenta que, de forma predeterminada, systemd eliminará los registros antiguos a medida que se acerquen a un cierto porcentaje de espacio en disco utilizado.
— mattdm

17

Sin embargo, tenga en cuenta que Ubuntu no está utilizando un archivo de registro de diario persistente de forma predeterminada. Solo el volátil /run/log/journal/<machine-id>/*.journal[~]se mantiene hasta el próximo arranque. Todo se pierde en cada reinicio.

Puede ver una lista de arranque retenida en el registro con:

journalctl --list-boot

Los registros aún se mantienen en un archivo de texto debajo, a /var/logmenos que haya activado el uso del registro de diario persistente mediante la creación de un /var/log/journaldirectorio.


55
Sin embargo, el registro de journald podría decirse que debe ser persistente por defecto. [bug # 1618188] ( bugs.launchpad.net/ubuntu/+source/systemd/+bug/1618188 ) se ha abierto para seguir el progreso de este cambio. Verifique allí el último estado.
— Mark Stosberg

3

Respuesta corta

Por lo general, el directorio de almacenamiento es /var/log/journalo /run/log/journal, pero no necesariamente tiene que existir en su sistema.

Si solo desea verificar la cantidad de espacio que el diario está ocupando actualmente en su disco, simplemente escriba:

$ journalctl --disk-usage

Respuesta larga

El directorio de almacenamiento depende de la configuración de journald.

Los archivos de configuración son:

/etc/systemd/journald.conf
/etc/systemd/journald.conf.d/*.conf
/run/systemd/journald.conf.d/*.conf
/usr/lib/systemd/journald.conf.d/*.conf

Allí, la Storage=opción " " controla si se almacenan los datos del diario o no, y dónde. Los valores posibles son " volatile", " persistent", " auto" y " none". El valor predeterminado es " auto".

Si " volatile", los datos de registro de diario se almacenarán solo en la memoria, es decir, debajo de la jerarquía / run / log / journal (que se crea si es necesario).

Si " persistent", los datos se almacenarán preferiblemente en el disco, es decir, debajo de la jerarquía / var / log / journal (que se crea si es necesario), con un respaldo a / run / log / journal (que se crea si es necesario) arranque y si el disco no es grabable.

" auto" Es similar a " persistent" pero el directorio /var/log/journales no creado, si es necesario, de manera que sus controles de existencia en que los datos de registro se va.

" none" apaga todo el almacenamiento, se eliminarán todos los datos de registro recibidos.


0

Además de la respuesta de Muru sobre dónde se almacenan los datos, hay otras respuestas relevantes.

Cómo aumentar journalctlpara encontrar registros de arranque anteriores

$ sudo mkdir -p /var/log/journal
$ sudo systemd-tmpfiles --create --prefix /var/log/journal

Cómo mantener bajo journalctlel tamaño del archivo

$ journalctl --vacuum-size=200M
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/system@00056515dbdd9a4e-a6fe2ec77e516045.journal~ (56.0M).
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/user-65534@00056515dbfe731d-b7bab56cb4efcbf6.journal~ (8.0M).
Deleted archived journal /var/log/journal/d7b25a27fe064cadb75a2f2f6ca7764e/user-1000@1bbb77599cf14c65a18af51646751696-000000000000064f-00056444d58433e1.journal (112.0M).
Vacuuming done, freed 176.0M of archived journals on disk.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.