RHEL7: individuare e interpretare i files di log e i journals

By | Agosto 14, 2018

Nota: questo è un obiettivo d’esame RHCSA 7.


Presentazione

La maggior parte dei file di log di sistema si trovano nella directory /var/log a causa della configurazione predefinita di SYSLOG (vedere il file /etc/rsyslog.conf).

Inoltre, tutti gli eventi SELinux sono scritti nel file /var/log/audit/audit.log.

Con Systemd sono stati creati nuovi comandi per analizzare i log all’avvio e successivamente.


Processo di avvio

L’attività principale di Systemd consiste nel gestire il processo di avvio e fornire informazioni a riguardo.
Per ottenere la durata del processo di avvio, digitare:

# systemd-analyze
Startup finished in 422ms (kernel) + 2.722s (initrd) + 9.674s (userspace)


Per ottenere il tempo impiegato da ciascuna attività durante il processo di avvio, digitare:

# systemd-analyze blame
7.029s network.service
2.241s plymouth-start.service
1.293s kdump.service
1.156s plymouth-quit-wait.service
1.048s firewalld.service
632ms postfix.service
621ms tuned.service
460ms iprupdate.service
446ms iprinit.service
344ms accounts-daemon.service
...
7ms systemd-update-utmp-runlevel.service
5ms systemd-random-seed.service
5ms sys-kernel-config.mount

Analisi del Journal

Inoltre, Systemd gestisce il registro degli eventi di sistema, un demone syslog non è più obbligatorio.
Le ragioni alla base della creazione di Journald sono spiegate in questa Introduzione a Journald.

Per ottenere il contenuto del diario Systemd, digitare:

# journalctl

Per ottenere tutti gli eventi relativi al processo di crond nel diario, digitare:

# journalctl /sbin/crond


Nota: puoi sostituire /sbin/crond con `which crond`.

In alternativa, per ottenere tutti gli eventi relativi al processo di crond, è anche possibile digitare:

# journalctl -u crond

Per ottenere tutti gli eventi dall’ultimo avvio, digitare:

# journalctl -b

Per ottenere tutti gli eventi che sono apparsi oggi nel journal, digitare:

# journalctl --since=today

Per ottenere tutti gli eventi con una priorità syslog di err, digitare:

# journalctl -p err

Per ottenere gli ultimi 10 eventi e attendere uno nuovo (come tail -f /var/log/messages), digitare:

# journalctl -f


Storage permanente

Per impostazione predefinita, i registri di Journald sono memorizzati nella directory /run/log/journal e scompaiono dopo un riavvio.

Per memorizzare i registri di Journald in modo più permanente, digitare:

# mkdir /var/log/journal
# echo "SystemMaxUse=50M" >> /etc/systemd/journald.conf
# systemctl restart systemd-journald 

Nota: l’impostazione della variabile SystemMaxUse è necessaria perché altrimenti il ​​10% del file system in cui è memorizzata la directory /var/log/journal può essere utilizzato al massimo dal journal.


Risorse addizionali

Esiste un tutorial dedicato a Systemd che presenta informazioni aggiuntive sul diario Systemd.
Il sito Web rsyslog.com fornisce alcune informazioni interessanti su rsyslogd (funzionalità, moduli, plug-in, ecc.).
Fedora Magazine ha anche pubblicato un interessante articolo, Systemd: Using the journal.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.