systemd-jounrald è un servizio di log installato di default al boot del server ed è parte di "systemd manager".
# systemctl status systemd-journald
● systemd-journald.service - Journal Service
Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static; vendor preset: disabled)
Active: active (running) since Tue 2021-03-16 11:19:19 CET; 6 months 6 days ago
Docs: man:systemd-journald.service(8)
man:journald.conf(5)
Main PID: 579 (systemd-journal)
Status: "Processing requests..."
CGroup: /system.slice/systemd-journald.service
└─579 /usr/lib/systemd/systemd-journald
Inoltre è usato per loggare tutte le richieste dello stato dei serivzi ottenuto con il comando:
# systemctl status <unit>
E' possibile usare il comando seguente per leggere tutti i "log entries" registrati dal boot del server
# journalctl
# journalctl USER_ID=oracle
# journalctl UNIT=sshd
I log sono inotre inviati al serivzio
rsyslog attraverso un modulo attivo di default che si chiamo
imjournal.Journal di default non è persistente e scrive sotto /run/log/journal che è azzerrato al boot del server.
Per renderlo persistente creare la directory
# mkdir /var/log/journal
In questa maniera al prossimo boot del server, jornalctl contiene anche i log di prima del boot.
E' possibile renderlo persistente modificando il file /etc/systemd/journal.conf in corrispondenza del parametro Storage:
- persistent i log vengono memorizzati sotto /var/log/journal e se non esiste la directory verrà creata in automatico.
- volatile memorizza i log soltato in /run/log/journal
- auto memorizza i log in /var/log/journal se esiste altrimenti in /run/log/journal
Attenzione il carattere '#' prima di Storage, va tolto perché ha la funzione di commento.
Riavviare il servizio
# systemctl restart systemd-journald
Per vedere dove scrive basta vedere lo stato del servizio
# systemctl status systemd-journald