2010-08-23 12 views
5

Qual è l'approccio consigliato per importare il log di accesso Apache in una tabella MySQL? Sto pensando a uno script ruby ​​/ perl + un cron job. Sarà fantastico se c'è un esempio o un riferimento.Come importare il log di accesso Apache nella tabella MySQL?

Non sono sicuro di come gestire il segnalibro dell'ultima voce di registro nell'ultima importazione. I suggerimenti sono ben accetti Grazie!

+0

Import (vale a dire da soli) o scrivere direttamente (cioè da apache)? – abatishchev

+0

In ogni caso, per me va bene. – ohho

risposta

3

Possiedi il formato del log personalizzato? O devi vivere con qualunque cosa ci sia? se possiedi il formato puoi facilmente delimitare i campi (con schede ad esempio) ed è piuttosto semplice da importare.

LogFormat "%{%Y-%m-%d %H:%M:%S}t\t%s\t%h\t%{ClientIP}i\t%U%q\t%{Host}i\t%B\[email protected]\t%m\t%{User-Agent}i\t%{Referer}i\tDRH\t%T\t%f\t%{Via}i" ezimport 
+0

Posso cambiare il 'LogFormat' predefinito, ma piuttosto non, per ragioni di compatibilità. È possibile che apache (su CentOS) scriva 2 log (uno come predefinito, un altro per l'importazione MySQL)? – ohho

+0

Sì, ne puoi fare molti, che è quello che "ezimport" indica alla fine della coda. – hpavc

1

Se è possibile scrivere lo script PERL poi, provare mod_perl per accedere direttamente alla banca dati ... per il controllo di riferimento link.

0
LogFormat "yourFormat" yourLog 

<VirtualHost example.com> 
    ServerName example.com 
    CustomLog /yourPath yourLog 
</VirtualHost> 

Da here

Problemi correlati