Configurare Rsyslog e LogAnalyzer in Centos 6

syslog01

Rsyslog e LogAnalyzer sono tool che aiutano gli amministratori a raccogliere i log di sistema in un modo centralizzato facilitando l'analisi dei dati raccolti.

In reti particolarmente elaborate il numero dei device installati producono tantissimi log che rende impossibile l'avere una chiara visione dello stato globale della rete senza avere un sistema di centralizzazione dei log prodotti.

 

Prerequisiti

 

Installazione di Rsyslog

Inanzitutto installare l'ambiente LAMP e il package Rsyslog utilizzando il comando yum.

# yum install httpd php mysql php-mysql mysql-server rsyslog rsyslog-mysql wget

E' possibile customizzare il nome del database (Syslog come default) prima di importare lo schema del db in MySQL editando il file createDB.sql.

# vi /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

syslog02

Terminata la modifica, importare lo schema del db in MySQL. Nell'esempio la procedura crea un nuovo database chiamato rsyslogdb.

# mysql -u root -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

syslog03

Assegnare i privilegi all'account rsyslog.

# mysql -u root -p

mysql> GRANT ALL PRIVILEGES ON rsyslogdb.* TO rsyslog@localhost IDENTIFIED BY 'passwd00';
mysql> flush privileges;
mysql> exit

syslog04
Editare il file di configurazione /etc/rsyslog.conf ed abilitare i parametri seguenti:

$ModLoad imuxsock
$ModLoad imklog
#$ModLoad immark
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
$ModLoad ommysql

 

# vi /etc/rsyslog.conf

syslog05

Aggiungere inoltre le seguenti righe:

$AllowedSender UDP, 127.0.0.1, 192.168.10.0/24
$AllowedSender TCP, 127.0.0.1, 192.168.10.0/24
*.* : ommysql:127.0.0.1,rsyslogdb,rsyslog,passwd00

syslog06

Abilitare il servizio per essere avviato al boot del sistema ed avviare il servizio.

# chkconfig rsyslog on
# service rsyslog restart

syslog07

Se è presente un firewall, è necessario aprire le porte TCP 514 e UDP 514 perchè Rsyslog funzioni correttamente.

 

Testare Rsyslog

Per testare se tutto funziona correttamente, verificare se i messaggi arrivano al server Rsyslog.

# tail -f /var/log/messages

E' possibile inoltre verificare se i messaggi sono salvati nel database MySQL.

# mysql -u root -p

mysql> use rsyslogdb;
mysql> select * from SystemEvents;

syslog08

Se è presente un set vuoto significa che il tutto funziona.

 

Installazione di LogAnalyzer

Tramite il comando wget effettuare il download del package LogAnalyzer.

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

syslog09

Scompattare il file scaricato ed effettuare un move del contenuto nella directory root di Apache.

# tar -vxzf loganalyzer-3.6.3.tar.gz
# mv loganalyzer-3.6.3/src/ /var/www/html/loganalyzer
# mv loganalyzer-3.6.3/contrib/* /var/www/html/loganalyzer

syslog10

Accedere alla directory creata ed assegnare i permessi corretti per eseguire gli scripts.

# cd /var/www/html/loganalyzer/
# chmod 744 configure.sh secure.sh
# ./configure.sh

syslog11

 

Configurare LogAnalyzer

Accedere all'interfaccia web digitando dal browser il seguente indirizzo:

http://IP_address/loganalyzer

Al primo accesso viene visualizzato un messaggio di errore perchè l'applicazione non è ancora stata configurata. Cliccare sulla voce here e procedere con la configurazione.

syslog13

Click su Next per avviare l'installazione.

syslog14

Click su Next per continuare.

syslog15

Abilitare l'opzione Enable User Database ed inserire i parametri impostati durante la creazione del database.

syslog16

Cliccare su Next.

syslog17

Se non vengono mostrati errori, click su Next per continuare.

syslog18

Creare l'utente Admin digitando lo username e la password poi then click Next.

syslog19

Selezionare come Source Type il valore MYSQL Native ed inserire i parametri del database precedentemente creato. Click su Next. Prestare attenzione al campo Database Tablename dove il valore deve essere corretto in:

SystemEvents

syslog20

Cliccare su Finish per completare l'installazione.

syslog21

Inserire le credenziali per effettuare il login a LogAnalyzer e cliccare sul bottone Login.

syslog22

Il server Rsyslog visualizza i dati fino ad ora raccolti. Per raccogliere ulteriori log è necessario configurare i dispositivi di rete per inviare i messaggi syslog al server Rsyslog appena configurato.

syslog25

 

Troubleshooting

Dopo aver effettuato il login può capitare che venga visualizzato il messaggio di errore:

Could not find the configured table, maybe misspelled or the table names are case sensitive

syslog23

Questo errore è spesso dovuto ad una sintassi errata nel nome del campo DBTableName. Per risolvere il problema è talvolta sufficiente editare il file /var/www/html/loganalyzer/config.php e verificare che il valore inserito in DBTableName sia scritto con i corretti caratteri maiuscoli:

SystemEvents

# vi /var/www/html/loganalyzer/config.php

syslog24

Corretto il valore del campo DBTableName, il sistema dovrebbe funzionare correttamente.

firma

13 Comments

  1. Matteo 17/07/2013
  2. Matteo 17/07/2013
    • Paolo Valsecchi 18/07/2013
      • Matteo 18/07/2013
        • Paolo Valsecchi 18/07/2013
          • Matteo 19/07/2013
  3. Tasslehoff Burrfoot 19/07/2013
  4. Andrea muni 21/01/2014
    • Paolo Valsecchi 21/02/2014
  5. Terzo 26/02/2014
    • Paolo Valsecchi 28/02/2014
      • Terzo 28/02/2014
  6. lucio 19/06/2015