Rsyslog è un'utilità di registrazione gratuita e opensource che esiste per impostazione predefinita su CentOS 8 e RHEL 8 sistemi. Fornisce un modo semplice ed efficace per centralizzare i log dai nodi client a un unico server centrale. La centralizzazione dei log è vantaggiosa in due modi. Innanzitutto, semplifica la visualizzazione dei registri poiché l'amministratore di sistema può visualizzare tutti i registri dei server remoti da un punto centrale senza accedere a tutti i sistemi client per controllare i registri. Questo è molto vantaggioso se ci sono diversi server che devono essere monitorati e in secondo luogo, nel caso in cui un client remoto subisca un arresto anomalo, non devi preoccuparti di perdere i log perché tutti i log verranno salvati sul rsyslog centrale server . Rsyslog ha sostituito syslog che supportava solo UDP protocollo. Estende il protocollo syslog di base con funzionalità superiori come il supporto per entrambi UDP e TCP protocolli nel trasporto dei log, capacità di filtraggio aumentate e opzioni di configurazione flessibili. Detto questo, esploriamo come configurare il server Rsyslog nei sistemi CentOS 8 / RHEL 8.
Prerequisiti
Avremo la seguente configurazione del lab per testare il processo di registrazione centralizzato:
- Server Rsyslog Indirizzo IP minimo di CentOS 8 :10.128.0.47
- Sistema cliente RHEL 8 Indirizzo IP minimo :10.128.0.48
Dall'impostazione precedente, dimostreremo come configurare il server Rsyslog e successivamente configurare il sistema client per inviare i registri al server Rsyslog per il monitoraggio.
Iniziamo!
Configurazione del server Rsyslog su CentOS 8
Per impostazione predefinita, Rsyslog viene installato sui server CentOS 8 / RHEL 8. Per verificare lo stato di Rsyslog, accedi tramite SSH ed emetti il comando:
$ systemctl status rsyslog
Esempio di output
Se rsyslog non è presente per qualsiasi motivo, puoi installarlo usando il comando:
$ sudo yum install rsyslog
Successivamente, è necessario modificare alcune impostazioni nel file di configurazione di Rsyslog. Apri il file di configurazione.
$ sudo vim /etc/rsyslog.conf
Scorri e decommenta le righe sotto riportate per consentire la ricezione dei log tramite protocollo UDP
module(load="imudp") # needs to be done just once input(type="imudp" port="514")
Allo stesso modo, se si preferisce abilitare la ricezione TCP rsyslog decommentare le righe:
module(load="imtcp") # needs to be done just once input(type="imtcp" port="514")
Salva ed esci dal file di configurazione.
Per ricevere i log dal sistema client, dobbiamo aprire la porta 514 predefinita di Rsyslog sul firewall. Per raggiungere questo obiettivo, corri
# sudo firewall-cmd --add-port=514/tcp --zone=public --permanent
Quindi, ricarica il firewall per salvare le modifiche
# sudo firewall-cmd --reload
Esempio di output
Quindi, riavvia il server Rsyslog
$ sudo systemctl restart rsyslog
Per abilitare Rsyslog all'avvio, esegui sotto comando
$ sudo systemctl enable rsyslog
Per confermare che il server Rsyslog è in ascolto sulla porta 514, utilizzare il comando netstat come segue:
$ sudo netstat -pnltu
Esempio di output
Perfetto! abbiamo configurato correttamente il nostro server Rsyslog per ricevere i log dal sistema client.
Per visualizzare i messaggi di log in tempo reale, esegui il comando:
$ tail -f /var/log/messages
Ora configuriamo il sistema client.
Configurazione del sistema client su RHEL 8
Come il server Rsyslog, accedi e controlla se il demone rsyslog è in esecuzione eseguendo il comando:
$ sudo systemctl status rsyslog
Esempio di output
Quindi, procedi con l'apertura del file di configurazione di rsyslog
$ sudo vim /etc/rsyslog.conf
Alla fine del file, aggiungi la seguente riga
*.* @10.128.0.47:514 # Use @ for UDP protocol *.* @@10.128.0.47:514 # Use @@ for TCP protocol
Salva ed esci dal file di configurazione. Proprio come il server Rsyslog, apri la porta 514 che è la porta Rsyslog predefinita sul firewall
$ sudo firewall-cmd --add-port=514/tcp --zone=public --permanent
Quindi, ricarica il firewall per salvare le modifiche
$ sudo firewall-cmd --reload
Quindi, riavvia il servizio rsyslog
$ sudo systemctl restart rsyslog
Per abilitare Rsyslog all'avvio, esegui il seguente comando
$ sudo systemctl enable rsyslog
Test dell'operazione di registrazione
Dopo aver impostato e configurato correttamente il server Rsyslog e il sistema client, è ora di verificare che la configurazione funzioni come previsto.
Sul sistema client emettere il comando:
# logger "Hello guys! This is our first log"
Ora vai al server Rsyslog ed esegui il comando seguente per controllare i messaggi di log in tempo reale
# tail -f /var/log/messages
L'output del comando eseguito sul sistema client dovrebbe essere registrato nei messaggi di registro del server Rsyslog per implicare che il server Rsyslog sta ora ricevendo i registri dal sistema client.
E questo è tutto, ragazzi! Abbiamo configurato correttamente il server Rsyslog per ricevere i messaggi di registro da un sistema client.
Leggi anche:Come ruotare e comprimere i file di registro in Linux con Logrotate
Leggi anche:Come installare Redis Server su CentOS 8 / RHEL 8