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
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 rsyslogNell’output seguente, puoi vedere che Rsyslog è in esecuzione e abilitato.

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
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 514Ora 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 enableInfine, controlla lo stato di UFW con il seguente comando.
sudo ufw statusNell’output qui sotto, puoi vedere UFW con lo stato attivo, profilo OpenSSH e porta ‘ 514 ‘ abilitata.

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:
- Abilitare il modulo ‘ imudp ‘ per ricevere log da server remoti tramite UDP
- Facoltativo, abilitare il ‘ imtcp ‘ per ricevere log tramite TCP
- Abilitare l’opzione ‘ AllowedSender ‘ per consentire a subnet specifiche di inviare log a distanza
- Aggiungere un template personalizzato per Rsyslog
- Controllare la configurazione di Rsyslog
- 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.confDecommenta 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.localInserisci 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"
*.?RemInputLogsSalva 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 -N1Quando non si verificano errori, esegui il comando ‘ systemctl ‘ qui sotto per riavviare il servizio ‘ rsyslog ‘ e applicare le tue modifiche.
sudo systemctl restart rsyslogInfine, controlla lo stato del servizio ‘ rsyslog ‘ per assicurarti che sia in esecuzione.
sudo systemctl status rsyslogNell’output qui sotto, puoi vedere che il ‘ rsyslog ‘ è in esecuzione.

Inoltre, controlla la porta ‘ 514 ‘ sul tuo server per assicurarti che Rsyslog sia in esecuzione.
ss -tulpn | grep 514Puoi 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
Ora apri il file di configurazione predefinito ‘ /etc/rsyslog.conf ‘ con l’editor ‘ nano ‘.
sudo nano /etc/rsyslog.confAggiungi 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]:514Ora 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 -N1Quando 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 rsyslogdPuoi vedere qui sotto che il servizio Rsyslog è in esecuzione e i tuoi log saranno inviati al server Rsyslog su ‘ 192.168.10.10 ‘.

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/serversOra 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
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.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.