Come disattivare i messaggi syslog verso la shell

Syslog è uno standard per l’invio e la ricezione di messaggi di notifica da vari dispositivi di rete. Questi messaggi includono timestamp, indirizzi IP, messaggi di eventi, diagnostica, gravità e altre informazioni. Per quanto riguarda i livelli di gravità si possono avere 7 livelli:

  • emerg – gravi errori di sistema
  • alert – errori che richiedono un’immediata risoluzione
  • crit – errori critici
  • err – altri errori
  • info – messaggi informativi
  • debug – output utilizzato in fase di debug
  • none – nessun messaggio

Per impostazione di default, quando un messaggio syslog ha un livello ” emerg ” viene inoltrato sulla shell. Può pertanto essere fastidioso avere questi messaggi mentre si sta lavorando, vediamo quindi come disattivare questa impostazione.

Editare il file di configurazione che troviamo nella directory /etc

# vi /etc/syslog.conf

e commentiamo la riga relativa ai messaggi ” emerg “

# Everybody gets emergency messages
# *.emerg            :omusrmsg:*

Per attivare la modifica occorre riavviare il servizio

# systemctl restart rsyslog

In questo modo non avremo più sulla shell i messaggi. Ovviamente questi messaggi sono molto importanti (ad esempio vengono generati in caso di problemi hardware) quindi, invece di disattivarli, è utile scriverli su un file dedicato sul filesystem. Per fare questo, invece di commentare la riga, modifichiamo l’impostazione in questo modo

*.emerg              /var/log/emerg

Avremo pertanto, quando si verificano eventi con livello ” emerg “, tutte le informazioni nel file impostato

# cat /var/log/emerg
[...]
Message from syslogd@vmh01.local at May  4 23:56:13 ...
 smartd: libsmartsata: Not an ATA SMART device:mpx.vmhba32:C0:T0:L0

Message from syslogd@vmh01.local at May  4 23:56:13 ...
 smartd: libsmartsata: Not an ATA SMART device:naa.6d0946604f2288002333c51f07138ace
[...]