Ciao amici. In questo post parleremo un po' di rsyslog su Debian 11. Oltre a ciò, ti mostreremo come installarlo e configurarlo, in modo da poter lavorare dai client. Iniziamo.
Cos'è rsyslog su Debian 11?
In breve, possiamo dire che rsyslog è un demone che si occupa di raccogliere e centralizzare la gestione dei log attraverso le macchine client.
Di solito, questi registri si trovano in /var/logs/
ma funziona per quasi tutte le directory specificate nella configurazione.
Una delle cose sorprendenti di rsyslog è che è sufficientemente versatile e robusto per essere utilizzato in ambienti aziendali, ma è anche così leggero e semplice da poter essere utilizzato su piccoli sistemi.
Oltre a questo, possiamo scegliere se memorizzare i dati in un file di testo o in un database manager come MariaDB. Quindi, è facile usarlo e oggi ti mostreremo come farlo.
Installazione di rsyslog su Debian 11 – Configurazione del server di log
Per quanto riguarda il server, puoi installare il pacchetto dai repository Debian 11 ufficiali. Per questo, una volta connesso al server tramite SSH, puoi aggiornarlo.
sudo apt update
sudo apt upgrade
Successivamente, puoi installare il pacchetto eseguendo
sudo apt install rsyslog
Poiché Rsyslog funziona sulla porta TCP e UDP 514, devi assicurarti che queste porte siano aperte nel firewall.
sudo ufw allow 514/tcp
sudo ufw allow 514/udp
Per applicare queste modifiche, devi riavviare il firewall.
sudo ufw reload
Infine, devi controllare lo stato del servizio eseguendo
sudo systemctl status rsyslog
In questo modo sapremo che rsyslog è installato e funzionante. Ora dobbiamo configurarlo.
Configurazione del server rsyslog
La configurazione principale di rsyslog risiede nel /etc/rsyslog.conf
file che dobbiamo modificare. È sempre una buona idea conservare una copia dell'originale prima di farlo.
sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
Ora modificalo
sudo nano /etc/rsyslog.conf
E la prima cosa che dobbiamo fare, in questo file, è abilitare le porte su cui l'applicazione funzionerà.
Quindi, all'inizio del file, decommenta la sezione seguente.
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
Oltre a questo, dobbiamo definire un modello su come rsyslog raccoglierà i log dei client. In questo caso, alla fine del file, aggiungi queste due righe.
$template remote-incoming-logs,"https://1118798822.rsc.cdn77.org/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Dove stiamo definendo i remote-incoming-logs
template e i log verranno archiviati in /var/log
e per distinguerli dobbiamo usare l'hostname e il nome del programma che genera il log.
Questo è sufficiente per ora. Puoi salvare le modifiche.
Per applicarli, riavvia il servizio dell'applicazione.
sudo systemctl restart rsyslog
Esegui la configurazione sui client
La configurazione di Rsyslog sui client è abbastanza simile a quella del server. Per prima cosa, devi installare il pacchetto sulla tua distribuzione.
Quindi, apri le porte TCP e UDP 514 sul firewall.
E nel file di configurazione di rsyslog
sudo nano /etc/rsyslog.conf
Aggiungi alla fine del file la seguente riga
*.* @rsyslog-ip-address:514
*.* @@rsyslog-ip-address:514
Ricorda, devi impostare l'indirizzo IP del server Rsyslog. La prima riga si riferisce a UDP e la seconda a TCP.
Oltre a questo, devi aggiungere le seguenti informazioni al file.
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 2g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Queste direttive sono opzioni che imposteremo all'invio dei log.
Salva le modifiche e chiudi l'editor di testo.
Per applicare le modifiche, riavvia il servizio.
sudo systemctl restart rsyslog
Questa configurazione è sufficiente.
Conclusione
In questo post hai imparato a configurare rsyslog in Debian 11. Quindi puoi centralizzare i tuoi log e avere un server dove puoi controllarli tutti.
Spero di esserti stato d'aiuto.
Documentazione Rsyslog