Utilizzo del diario di sistema
Per impostazione predefinita, i nuovi sistemi Linux basati su systemd ora utilizzano due servizi di registrazione per i registri di sistema:
- systemd-journal , che è configurato per mantenere solo i log in memoria
rsyslogd , che riceve i messaggi inviati da systemd-journald (e altri) e li archivia su disco.
Per visualizzare i messaggi nel diario di sistema, uno strumento chiamato journalctl può essere utilizzata. Se utilizzato senza alcun parametro, mostrerà l'intero contenuto del diario di sistema, presentato in un cercapersone (per impostazione predefinita meno viene usato). L'output di journalctl può essere modificato utilizzando sia le opzioni che i filtri. Le opzioni possono essere utilizzate per modificare il numero di righe visualizzate, attivare la modalità Segui, modificare il campo visualizzato, specificare un intervallo di tempo, ecc. I filtri possono essere utilizzati per modificare per quali servizi e unità vengono visualizzate le informazioni, quali eseguibili per visualizzare le informazioni per, ecc.
Esempi di riviste
journalctl -ef
Vai alla fine del diario (-e e abilita la modalità Segui (-f ). Ciò manterrà il diario aperto sullo schermo, visualizzando i nuovi messaggi man mano che arrivano.
# journalctl -ef
journalctl _SYSTEMD_UNIT=sshd.service
Verranno visualizzati tutti i messaggi generati da sshd.service unità di sistema.
# journalctl _SYSTEMD_UNIT=sshd.service
journalctl -u sshd.service
Questo visualizzerà tutti i messaggi generati da e relativi all'unità systemd sshd.service.
# journalctl -u sshd.service
journalctl -p emerg..err
Visualizza tutti i messaggi nel diario con una priorità nell'intervallo emerg fino a err compreso.
# journalctl -p emerg..err
Se viene specificata una singola priorità, ad esempio, -p err , vengono visualizzati tutti i messaggi fino a quel livello compreso.
# journalctl -p err
journalctl -b -1
Mostra solo i messaggi dell'ultimo avvio del sistema. Questo è utile per cercare informazioni su un arresto anomalo del sistema. Ciò richiede la configurazione di un journal persistente.
# journalctl -b -1
journalctl –dal “2015-02-02 20:30:00” –fino al “2015-03-31 12:00:00”
Visualizza tutti i messaggi tra il 2 febbraio, le otto e mezza di sera e mezzogiorno del 31 marzo. Ciò richiede la configurazione di un journal persistente.
# journalctl --since "2015-02-02 20:30:00" --until "2015-03-31 12:00:00"
journalctl -o dettagliato
Usa la modalità di output dettagliata (-o dettagliata ). Questo mostrerà tutti i campi memorizzati nel diario con il nome del campo e il contenuto. Tutti i nomi dei campi possono essere usati come filtri sulla riga di comando journalctl.
# journalctl -o verbose
Per un elenco completo di opzioni e filtri, fare riferimento alla pagina man di journalctl(1).
# man journalctl
Persistenza del diario
Per impostazione predefinita, CentOS/RHEL 7 archivia il diario di sistema in /run/log/journal , che è memorizzato su un tmpfs . Ciò implica che al riavvio tutte le informazioni archiviate andranno perse. Se è presente la directory /var/log/journal, il journal verrà archiviato lì, abilitando così un journal persistente tra i riavvii.
L'abilitazione di un diario persistente può essere eseguita utilizzando i seguenti passaggi:
1. Crea la directory /var/log/journal .
# mkdir /var/log/journal
2. Imposta la proprietà del gruppo della nuova directory su systemd-journal e le autorizzazioni per 2755 .
# chown root:systemd-journal /var/log/journal # chmod 2755 /var/log/journal
3. Informa systemd-journald che la nuova posizione deve essere utilizzata inviando un USR1 segnalarglielo. Sarà sufficiente anche un riavvio.
# killall -USR1 systemd-journald
Abilitazione di informazioni dettagliate
Molti strumenti e servizi possono aumentare la quantità di registrazione che eseguono, nonché la quantità di informazioni che visualizzano quando vengono eseguiti dalla riga di comando, utilizzando varie opzioni di configurazione o flag della riga di comando.
Le opzioni della riga di comando in genere includono -v, che a volte può essere specificato più volte, per aumentare la verbosità o includere un'opzione –debug che può essere utilizzata. I servizi in genere hanno opzioni di configurazione, nel loro file di configurazione principale o in /etc/sysconfig/SERVICENAME , che possono essere utilizzati anche per aumentare il livello di registrazione e/o la verbosità. Fare riferimento alla documentazione di questi singoli servizi per aumentarne la verbosità e i livelli di registrazione.
Nota :Quando si utilizza l'opzione di debug per un servizio in /etc/sysconfig/SERVICENAME, tale opzione a volte impedirà anche al demone di disconnettersi dal terminale. Quando un tale servizio viene avviato utilizzando systemctl e il tipo di servizio è impostato su fork, il comando systemctl non verrà restituito fino a quando il servizio non viene terminato premendo Ctrl+C. In questi casi, anche l'esecuzione manuale di un servizio dalla riga di comando può essere un'opzione.