Logging remoto · 6 min read · Sep 13, 2025

Come impostare il logging remoto con Rsyslog su Debian 12

Rsyslog è un demone di sistema di logging open-source utilizzato per raccogliere, filtrare, memorizzare e inoltrare messaggi di log dei sistemi operativi e delle applicazioni. È un sistema di logging potente e flessibile che supporta più protocolli, tra cui TCP, UDP e RELP (Reliable Event Logging Protocol). Puoi utilizzare Rsyslog per centralizzare i log dei tuoi server, applicazioni e database.

Questa guida ti mostrerà come installare rsyslog e configurare il logging remoto sul server Debian 12. Configurerai anche un server Linux per inviare log a distanza al server Rsyslog.

Prerequisiti

Per iniziare con questa guida, hai bisogno dei seguenti elementi:

  • Un server Debian 12
  • Un utente non root con privilegi di amministratore
  • Una macchina Linux come client per i test

Installazione di Rsyslog

Prima di iniziare, devi installare Rsyslog sul tuo server Debian. In questo passaggio, installerai Rsyslog tramite APT, quindi avvierai e abiliterai il servizio Rsyslog.

Per prima cosa, esegui il comando qui sotto per aggiornare l’indice dei pacchetti Debian e installare Rsyslog sul tuo sistema. Inserisci ‘ Y ‘ per confermare l’installazione.

sudo apt update  
sudo apt install rsyslog

install rsyslog

Dopo che l’installazione è terminata, esegui il comando ‘ systemctl ‘ qui sotto per avviare e abilitare il server ‘ rsyslog ‘. Quindi, verifica che sia in esecuzione.

sudo systemctl enable --now rsyslog  
sudo systemctl status rsyslog

Nell’output seguente, puoi vedere che Rsyslog è in esecuzione e abilitato.

check rsyslog

Configurazione di UFW (Uncomplicated Firewall)

Dopo aver installato Rsyslog, installerai e configurerai UFW (Uncomplicated Firewall). Aprirai la porta ‘22’ per il servizio OpenSSH e la porta ‘514’ per Rsyslog. E poi avvierai e abiliterai il servizio UFW.

Per installare UFW, esegui il seguente comando ‘ apt ‘. Inserisci ‘ Y ‘ per confermare l’installazione.

sudo apt install ufw

install ufw

Dopo che l’installazione è terminata, esegui il seguente comando ‘ufw’ per abilitare il profilo ‘ OpenSSH ‘ e consentire l’accesso alla porta ‘514’. Il profilo ‘ OpenSSH ‘ consentirà l’accesso SSH e la porta ‘ 514 ‘ è la porta syslog.

sudo ufw allow OpenSSH  
sudo ufw allow 514

Ora avvia e abilita UFW con il comando qui sotto. Digita ‘ y ‘ per confermare e riceverai un output come ‘ Il firewall è attivo e abilitato all’avvio del sistema ‘.

sudo ufw enable

Infine, controlla lo stato di UFW con il seguente comando.

sudo ufw status

Nell’output qui sotto, puoi vedere UFW con lo stato attivo, profilo OpenSSH e porta ‘ 514 ‘ abilitata.

setup ufw

Rsyslog per ricevere log da server remoti

Ora che hai installato Rsyslog e configurato UFW, sei pronto per configurare Rsyslog per ricevere log da server remoti. Per fare ciò, devi modificare il file ‘/etc/rsyslog.conf’ e configurare:

  1. Abilitare il modulo ‘ imudp ‘ per ricevere log da server remoti tramite UDP
  2. Facoltativo, abilitare il ‘ imtcp ‘ per ricevere log tramite TCP
  3. Abilitare l’opzione ‘ AllowedSender ‘ per consentire a subnet specifiche di inviare log a distanza
  4. Aggiungere un template personalizzato per Rsyslog
  5. Controllare la configurazione di Rsyslog
  6. Avviare, abilitare e verificare il servizio Rsyslog

Iniziamo.

Per prima cosa, modifica il file ‘ /etc/rsyslog.conf ‘ utilizzando il seguente editor ‘ nano ‘.

sudo nano /etc/rsyslog.conf

Decommenta le seguenti righe per abilitare il modulo ‘ imudp ‘ e abilitare il syslog per registrare nel server Rsyslog.

# fornisce ricezione syslog UDP  
module(load="imudp")  
input(type="imudp" port="514")

Inoltre, se hai bisogno di abilitare syslog tramite TCP, abilita il modulo ‘ imtcp ‘ come segue:

# fornisce ricezione syslog TCP  
module(load="imtcp")  
input(type="imtcp" port="50514")

Ora aggiungi l’opzione ‘ AllowedSender ‘ e inserisci la tua subnet di rete che è autorizzata a inviare messaggi Syslog al tuo server Rsyslog.

# $AllowedSender - specifica quali sistemi remoti sono autorizzati a inviare messaggi syslog a rsyslogd  
$AllowedSender UDP, 192.168.10.0/24, [::1]/128, *.howtoforge.local, db.howtoforge.local

Inserisci la seguente configurazione per impostare un template per i file di log dai server remoti. In questo esempio, i file di log dai server remoti saranno memorizzati nella directory ‘ /var/log/servers/server-ip ‘.

#Template personalizzato per generare dinamicamente il nome del file di log in base all'indirizzo IP del client.  
$template RemInputLogs, "/var/log/servers/%FROMHOST-IP%/%PROGRAMNAME%.log"  
*.?RemInputLogs

Salva il file ed esci dall’editor quando hai finito.

Successivamente, esegui il comando ‘ rsyslogd ‘ qui sotto per controllare la configurazione di Rsyslog e assicurarti di avere la configurazione corretta.

rsyslogd -f /etc/rsyslog.conf -N1

Quando non si verificano errori, esegui il comando ‘ systemctl ‘ qui sotto per riavviare il servizio ‘ rsyslog ‘ e applicare le tue modifiche.

sudo systemctl restart rsyslog

Infine, controlla lo stato del servizio ‘ rsyslog ‘ per assicurarti che sia in esecuzione.

sudo systemctl status rsyslog

Nell’output qui sotto, puoi vedere che il ‘ rsyslog ‘ è in esecuzione.

check rsyslog service

Inoltre, controlla la porta ‘ 514 ‘ sul tuo server per assicurarti che Rsyslog sia in esecuzione.

ss -tulpn | grep 514

Puoi vedere qui sotto che la porta UDP ‘ 514 ‘ è utilizzata da Rsyslog.

Inviare log al server Rsyslog

Ora che hai configurato il logging remoto con Rsyslog sul tuo server Debian, proviamo a inviare log dal server ‘ 192.168.10.41 ‘ al server ‘ 192.168.10.10 ‘. Per fare ciò, hai bisogno dei seguenti elementi:

  • Installare il pacchetto Rsyslog sulla tua macchina
  • Modificare la configurazione di Rsyslog e definire quali log saranno inviati al server Rsyslog remoto
  • Facoltativo, impostare il buffer della coda su disco per Rsyslog

Installa il pacchetto ‘rsyslog’ con il comando ‘ apt ‘ qui sotto. Inserisci ‘ Y ‘ per confermare l’installazione.

sudo apt install rsyslog

install rsyslog client

Ora apri il file di configurazione predefinito ‘ /etc/rsyslog.conf ‘ con l’editor ‘ nano ‘.

sudo nano /etc/rsyslog.conf

Aggiungi la seguente configurazione per inviare log al server Rsyslog ‘ 192.168.10.10 ‘. In questo caso, invieremo i log kernel, cron e authentication al server Rsyslog.

# Invia log a un server syslog remoto tramite UDP  
auth,[email protected]:514  
[email protected]:514  
[email protected]:514

Ora aggiungi quanto segue per impostare un buffer della coda per Rsyslog.

# Definisci il buffer della coda su disco nel caso in cui il server vada giù  
$ActionQueueFileName queue # definisci un nome file per l'assistenza su disco.  
$ActionQueueMaxDiskSpace 1g # La dimensione massima che tutti i file della coda utilizzeranno insieme su disco.  
$ActionQueueSaveOnShutdown on # specifica che i dati devono essere salvati allo spegnimento  
$ActionQueueType LinkedList # mantiene i messaggi in coda in memoria, il che rende il processo molto veloce.  
$ActionResumeRetryCount -1 # impedisce a rsyslog di scartare messaggi quando si riprova a connettersi se il server non risponde,

Salva il file ed esci dall’editor.

Successivamente, esegui il comando ‘ rsyslogd ‘ qui sotto per controllare e verificare la tua configurazione Rsyslog.

rsyslogd -f /etc/rsyslog.conf -N1

Quando non si verificano errori, esegui il comando ‘ systemctl ‘ qui sotto per riavviare Rsyslog e verificarlo per assicurarti che sia in esecuzione.

sudo systemctl restart rsyslogd  
sudo systemctl status rsyslogd

Puoi vedere qui sotto che il servizio Rsyslog è in esecuzione e i tuoi log saranno inviati al server Rsyslog su ‘ 192.168.10.10 ‘.

check rsyslog service

Controllare i file di log sul server Rsyslog

Per assicurarti che Rsyslog funzioni, devi controllare la directory dei log che hai configurato nel template. In questo esempio, i file di log dai server remoti saranno memorizzati nella directory ‘ /var/log/servers ‘.

Controlla la directory dei log ‘ /var/log/servers ‘ con il comando qui sotto. Questo ti mostrerà la directory di ciascun server.

ls /var/log/servers

Ora controlla la directory dei log del tuo server, che è memorizzata nella directory ‘ /var/log/servers/server-ip ‘. Vedrai che ci sono più file di log disponibili sul server Rsyslog.

Puoi ora controllare i file di log con il comando ‘ cat ‘ o ‘ tail ‘ per vedere i dettagli dei log.

cat /var/log/servers/logfile.log  
tail -f /var/log/servers/logfile.log

check log

Conclusione

Congratulazioni! Hai completato l’installazione di Rsyslog sul server Debian 12. Hai anche configurato il logging remoto tramite Rsyslog e inviato il log al server tramite syslog UDP. Per il prossimo passo, puoi anche impostare sia i moduli di input TCP che UDP e integrarli con sistemi di log come Rsyslog o Logstash.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.