Questo tutorial descrive come configurare il server Rsyslog centralizzato su CentOS 7 per gestire i log dei tuoi sistemi client da una posizione comune. Non è necessario visitare i sistemi client quando si desidera controllare i file di registro dei sistemi client. Questo può essere utile se si dispone di un numero elevato di sistemi sulla rete e si desidera eseguire la gestione dei registri da un server di registro dedicato centralizzato.
Ai fini di questa guida, utilizzerò due sistemi, uno funge da server rsyslog e l'altro funge da client. Di seguito sono riportati i dettagli delle mie caselle di prova.
Server Rsyslog:
- OS: CentOS 7 edizione minima
- Indirizzo IP: 192.168.43.150/24
- Nome host: logserver.otechnix.local
Sistema cliente:
- OS: CentOS 7 edizione minima
- Indirizzo IP: 192.168.43.151
Per prima cosa, impostiamo il server Ryslog.
Configura il server Rsyslog centralizzato su CentOS 7
Questa guida è stata testata con l'edizione minima del server CentOS 7. Tuttavia, dovrebbe funzionare su tutte le distribuzioni basate su RPM come RHEL, Fedora, Scientific Linux.
Tutti i comandi forniti di seguito devono essere eseguiti come root utente.
Installa il pacchetto rsyslog se non è già installato.
# yum install rsyslog
Quindi, modifica il file di configurazione rsyslog:
# vi /etc/rsyslog.conf
Trova e decommenta quanto segue per fare in modo che il tuo server sia in ascolto sulle porte udp e tcp.
[...] $ModLoad imudp $UDPServerRun 514 [...] $ModLoad imtcp $InputTCPServerRun 514 [...]
Premi ESC chiave e digita :wq per salvare e chiudere il file.
Consenti la porta 514 predefinita di Rsyslog sul tuo firewall/router. I seguenti comandi apriranno questa porta tramite firewalld.
# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd --permanent --add-port=514/tcp
Riavvia il servizio firewalld per rendere effettive le modifiche.
# firewall-cmd --reload
Infine, abilita e avvia il servizio rsyslog:
# systemctl enable rsyslog
# systemctl start rsyslog
Controlla se il servizio resyslog è in esecuzione o meno con il comando:
# systemctl status rsyslog
Se vedi un output simile sotto, congratulazioni! Il server Rsyslog è attivo e funzionante!
● rsyslog.service - System Logging Service Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-03-23 16:30:11 IST; 17min ago Main PID: 2490 (rsyslogd) CGroup: /system.slice/rsyslog.service └─2490 /usr/sbin/rsyslogd -n Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Starting System Logging... Mar 23 16:30:11 logserver.ostechnix.local systemd[1]: Started System Logging ... Hint: Some lines were ellipsized, use -l to show in full
Puoi controllare i dettagli di registro del server stesso usando il comando:
# tail -10 /var/log/messages
Questo comando visualizzerà le ultime dieci righe dei tuoi messaggi di registro.
Configurazione client
Installa rsyslog come root utente che utilizza il comando:
# yum install rsyslog
Quindi, modifica il file di configurazione rsyslog:
# vi /etc/rsyslog.conf
In ##RULES## sezione direttiva, aggiungi la seguente riga:
*.* @192.168.43.150:514
Oppure, posiziona questa riga alla fine. Questo registrerà tutto e invierà i file di registro al tuo server Rsyslog.
Puoi anche registrare elementi particolari. Supponiamo, ad esempio, di accedere solo a cron stuffs, aggiungi la seguente riga:
cron.* @192.168.43.150:514
Per registrare tutti i messaggi di posta, aggiungi:
mail.* @192.168.43.150:514
Voglio registrare tutto, quindi ho aggiunto la seguente riga.
*.* @192.168.43.150:514
Puoi anche menzionare l'FQDN del tuo server Rsyslog invece dell'indirizzo IP.
Salva e chiudi il file di configurazione rsyslog.
Infine, abilita e avvia il servizio rsyslog:
# systemctl enable rsyslog
# systemctl start rsyslog
Allo stesso modo, puoi configurare tutti i client che desideri. per monitorare i log.
Scarica - Ebook gratuito:"L'amministrazione avanzata GNU/Linux"Test dei messaggi di registro
Esegui qualsiasi cosa sul tuo sistema client.
Aggiungerò manualmente una voce al file di registro di sistema utilizzando logger comando.
# logger -i -t ostechnix "This is our first log test."
Ora vai alla macchina del server Rsyslog e controlla se questo registro è stato trovato.
# tail -l /var/log/messages
Ora, i log dei tuoi sistemi client verranno scaricati dal server.
Mar 23 17:30:29 client rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2953" x-info="http://www.rsyslog.com"] start Mar 23 17:30:29 client systemd: Stopping System Logging Service... Mar 23 17:30:29 client systemd: Starting System Logging Service... Mar 23 17:30:29 client systemd: Started System Logging Service. Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2520" x-info="http://www.rsyslog.com"] exiting on signal 15. Mar 23 17:30:34 logserver rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="2542" x-info="http://www.rsyslog.com"] start Mar 23 17:30:34 logserver systemd: Stopping System Logging Service... Mar 23 17:30:34 logserver systemd: Starting System Logging Service... Mar 23 17:30:34 logserver systemd: Started System Logging Service. Mar 23 17:31:35 client ostechnix[2959]: This is our first log test.
E. È tutto. La configurazione del server e del client Rsyslog è terminata. Come puoi vedere in questa guida, configurare un server Rsyslog di base è molto semplice . Sebbene sia una configurazione molto semplice del server di registro, per me ha funzionato immediatamente.
Lettura consigliata:
- Come gestire i file di registro utilizzando Logrotate in Linux