Logging su MySQL: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 6: Riga 6:


=Logging su MySQL=
=Logging su MySQL=
Spesso, specie in ambiente professionale, si ha la necessità di memorizzare i logs di sistema in una località centralizzata vuoi per motivi di sicurezza che di semplice monitoraggio. Syslogd permette di implementare in maniera banale questa possibilità, ma a volte ci si trova nella necessità/desiderio di voler dare a questi logs una forma facilmente gestibile e interrogabile come ad esempio un database MySQL.
Spesso, specie in ambiente professionale, si ha la necessità di memorizzare i log di sistema in una località centralizzata vuoi per motivi di sicurezza che di semplice monitoraggio. Syslogd permette di implementare in maniera banale questa possibilità, ma a volte ci si trova nella necessità/desiderio di voler dare a questi log una forma facilmente gestibile e interrogabile come ad esempio un database MySQL.
Esiste un syslogger che fa questo per noi, si tratta di syslogd-ng, però non sempre è possibile sostituire il logger in maniera indolore e trasparente.
Esiste un syslogger che fa questo per noi, si tratta di syslogd-ng, però non sempre è possibile sostituire il logger in maniera indolore e trasparente.
In tutte queste situazioni viene in nostro aiuto una piccola utility : sqlsyslogd, realizzata da [mailto:venglin@freebsd.lublin.pl Przemyslaw Frasunek].
In tutte queste situazioni viene in nostro aiuto una piccola utility : sqlsyslogd, realizzata da [mailto:venglin@freebsd.lublin.pl Przemyslaw Frasunek].
Riga 35: Riga 35:
$ mysql -u root -p < sqlsyslogd.sql
$ mysql -u root -p < sqlsyslogd.sql
</pre>
</pre>
questo comando crea il database sqlsyslogd, che contiene l'unica tabella logs.
questo comando crea il database sqlsyslogd, che contiene l'unica tabella dei log.


Fermiamoci un momento a spiegare il funzionamento del wrapper: sqlsyslogd è un programma C che "intercetta" le chiamate di syslogd e le redirige verso una pipe. Dato che il syslogger syslogd non può puntare direttamente ad un altro programma (come invece può fare il suo cugino di FreeBSD), ma soltanto ad una named pipe, abbiamo bisogno di un ulteriore passaggio.
Fermiamoci un momento a spiegare il funzionamento del wrapper: sqlsyslogd è un programma C che "intercetta" le chiamate di syslogd e le redirige verso una pipe. Dato che il syslogger syslogd non può puntare direttamente ad un altro programma (come invece può fare il suo cugino di FreeBSD), ma soltanto ad una named pipe, abbiamo bisogno di un ulteriore passaggio.
Riga 60: Riga 60:


=Conclusioni=
=Conclusioni=
Finalmente possiamo riavviare syslogd e cominciare a importare in tempo reale i nostri logs in MySQL!!
Finalmente possiamo riavviare syslogd e cominciare a importare in tempo reale i nostri log in MySQL!!
<pre>
<pre>
# killall -HUP syslogd
# killall -HUP syslogd
</pre>
</pre>
o anche
o anche:
<pre>
<pre>
# /etc/init.d/sysklogd reload
# /etc/init.d/sysklogd reload
6 999

contributi