Server Monitoring · 4 min read · Oct 18, 2025

Monitoraggio Centralizzato del Server RSYSLOG

Monitoraggio Centralizzato del Server RSYSLOG

Questo tutorial fornisce istruzioni passo-passo su come installare il server RSYSLOG su Debian 6 (Squeeze) e su come inviare dati syslog ad esso da più server client. Mostreremo anche come installare un server web Apache e un server di database MySQL per raccogliere i dati syslog e come installare LogAnalyzer per navigare facilmente nei dati raccolti con un web browser.

Sto utilizzando un template di virtualizzazione OpenVZ già pronto per questa configurazione, ma questo dovrebbe funzionare anche sulla maggior parte dei sistemi operativi basati su Debian.

Non fornisco alcuna garanzia che questo funzionerà per te!

Installazione del Server RSYSLOG

Questa prima parte descrive come costruire un server RSYSLOG che raccoglierà i dati syslog dai suoi client. In questo esempio il nostro server si chiama rsyslog.domain.com e ha un indirizzo IP fisso di 192.168.0.15.

Prima installiamo alcune dipendenze.

apt-get update
apt-get upgrade

apt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Crea la password del server MySQL quando l’installazione ti chiede di inserirla!

Il mio template OpenVZ aveva già questo, quindi questo comando potrebbe non essere necessario nemmeno per te…

apt-get install linux-kernel-headers

** Assicurati che i servizi siano attivi e funzionanti…

/etc/init.d/rsyslog restart
/etc/init.d/mysql restart
/etc/init.d/apache2 restart

Controlla che il server stia ascoltando sulle porte TCP IP corrette. (80 e 3306). RSYSLOG non ascolta ancora su alcuna porta in questo momento.

rsyslog:~# netstat -tapn

Connessioni Internet attive (server e stabilite)
Proto Recv-Q Send-Q Indirizzo Locale
Indirizzo Estero
Stato PID/Nome programma
tcp
0 0
127.0.0.1:3306
0.0.0.0:
LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:

LISTEN 581/apache2

Poi possiamo creare il database rsyslog:

mysqladmin -u root -p create rsyslog

Successivamente avviamo la shell dei comandi MySQL e creiamo l’utente rsyslog:

mysql -u root -p

GRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO ‘rsyslog’@’localhost’ IDENTIFIED BY ‘INSERISCI-LA-TUA-NUOVA-PASSWORD-RSYSLOG-QUI’;

FLUSH PRIVILEGES;
quit

Successivamente configuriamo il server rsyslog per ascoltare sulla porta TCP 514:

vi /etc/rsyslog.conf

Aggiungi queste righe… (ricorda di cambiare la tua password con quella che hai inserito quando hai creato l’utente rsyslog del server MySQL.)

$ModLoad MySQL
*.*       >127.0.0.1,rsyslog,rsyslog,INSERISCI-LA-TUA-NUOVA-PASSWORD-RSYSLOG-QUI

…e rimuovi i commenti davanti alle righe che trattano la ricezione syslog TCP.

# /etc/rsyslog.conf Configurazione per rsyslog v3.
#
# Per ulteriori informazioni vedere
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,INSERISCI-LA-TUA-NUOVA-PASSWORD-RSYSLOG-QUI
#################
#### MODULI ####
#################
$ModLoad imuxsock # fornisce supporto per il logging del sistema locale
$ModLoad imklog # fornisce supporto per il logging del kernel (precedentemente fatto da rklogd)
#$ModLoad immark # fornisce la capacità di messaggi --MARK--
# fornisce ricezione syslog UDP
#$ModLoad imudp
#$UDPServerRun 514
# fornisce ricezione syslog TCP
$ModLoad imtcp
$InputTCPServerRun 514
###########################
#### DIRETTIVE GLOBALI ####
###########################

E riavvia il servizio rsyslog.

/etc/init.d/rsyslog restart

Controlla che il server stia ascoltando sulle porte TCP IP corrette. (80, 514 e 3306.)

rsyslog:~# netstat -tapn

Connessioni Internet attive (server e stabilite)
Proto Recv-Q Send-Q Indirizzo Locale
Indirizzo Estero
Stato PID/Nome programma
tcp
0 0
0.0.0.0:514
0.0.0.0:
LISTEN 618/rsyslogd
tcp
0 0
127.0.0.1:3306
0.0.0.0:

LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:*
LISTEN 581/apache2

Poi scarichiamo LogAnalyzer e configuriamo il server web Apache per visualizzare i log.

cd /tmp

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz

tar xvzf loganalyzer-3.4.1.tar.gz
mv loganalyzer-3.4.1/ /var/www/
cd /var/www

Poi configuriamo i diritti utente delle cartelle www per il server web Apache.

chown www-data:www-data * . -Rf

E poi facciamo un po’ di lavoro di ‘make nice’ sulle cartelle di LogAnalyzer.

mv loganalyzer-3.4.1/ loganalyzer
cd contrib/
cp * ./../src/
cd ./../src/
sh ./configure.sh

E siamo pronti per inserire la configurazione finale di LogAnalyzer utilizzando il nostro web browser. Punta il tuo web browser all’indirizzo IP fisso del nostro server rsyslog che in questa demo è http://192.168.0.15/loganalyzer/src/install.php

Segui il semplice script di configurazione (è praticamente… avanti -> avanti.)

Ora dovresti avere un server rsyslog funzionante con LogAnalyzer attivo e funzionante.

Successivamente configuriamo i client RSYSLOG per inviare i loro dati syslog al server rsyslog:

Configurazione dei Client RSYSLOG

Di solito tutto ciò che dobbiamo fare è configurare il file rsyslog.conf e riavviare il servizio. (Quasi tutti i Debian vengono forniti con rsyslog preinstallato.)

vi /etc/rsyslog.conf

Aggiungi le righe della directory di lavoro spool che vengono utilizzate nel caso in cui la connettività di rete venga persa e cambia l’indirizzo IP del tuo server rsyslog in 192.168.0.15. (Potresti anche voler creare la directory /rsyslog/work con il comando mkdir.)

# fornisce ricezione syslog TCP
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # posizione predefinita per i file di lavoro (spool)
$ActionQueueType LinkedList # utilizza l'elaborazione asincrona
$ActionQueueFileName srvrfwd # imposta il nome del file, abilita anche la modalità disco
$ActionResumeRetryCount -1 # tentativi infiniti in caso di errore di inserimento
$ActionQueueSaveOnShutdown on # salva i dati in memoria se rsyslog si spegne
*.* @@INDIRIZZO-DEL-TUO-SERVER-RSYSLOG-QUI
###########################
#### DIRETTIVE GLOBALI ####
###########################

E riavvia il servizio rsyslog.

/etc/init.d/rsyslog restart

Controlla che il server sia connesso sulla porta TCP IP corretta (514).

root@ic1:~# netstat -tapn

Connessioni Internet attive (server e stabilite)
Proto Recv-Q Send-Q Indirizzo Locale
Indirizzo Estero
Stato PID/Nome programma
tcp
0 0
192.168.0.100:49188
192.168.0.15:514
ESTABLISHED 13289/rsyslogd

Questo è come appare una configurazione riuscita.

Screenshot - LogAnalyzer in uso

| | Sami Mattila Internet-Content.europa SM OY

Telefono: +358.9.42833310
Cellulare: +358.400.749692
Email: [email protected]
Negozio: https://shop.internet-content.net
Sito: http://www.internet-content.net
Blog: http://www.internet-content.net/en/blog |

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.