[SP-pm] Logar access.log do Squid no Mysql usando File::Tail

Lucas Mateus lucasmateus.oliveira at gmail.com
Wed Aug 20 07:46:19 PDT 2008


Pelo q entendi nao eh bem isso q ele quer, ele quer guardar os logs no  
MySQL em tempo real de escrita do Squid.

Em Wed, 20 Aug 2008 11:27:19 -0300, MrBiTS <mrbits em linuxmasters.info>  
escreveu:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>>   Preciso desenvolver um programa que leia entradas de um arquivo texto  
>> (no caso access.log do Squid) e insira os dados no meu banco MySQL.  
>> Alguem se interessa em ajudar ou desenvolver para mim?
>
> Há diversas maneiras de você inserir os dados num db MySQL. Se você quer
> simplesmente replicar o conteúdo do Log para o DB, você faz direto
> através de um LOAD DATA INFILE do MySQL, sem necessidade de um script  
> perl.
>
> Se você quer campos específicos, podemos trabalhar com algo assim:
>
>
> # Abrindo o arquivo para leitura
> open(ARQ, "<access.log")
>
> # Lendo o arquivo sequencialmente
> while(<ARQ)) {
>     $linha = $_;
>     chomp($linha);
>     @campos = split(/\ /, $linha)
> }
>
> Nesse ponto você tem um vetor @campos, que pode ser acessado via
> $campos[0], $campos[1] e assim por diante.
>
>
>
> Eu enviaria os campos que quero para um arquivo texto, separado por,
> digamos, "^", e o inseriria via LOAD DATA, em algo assim:
>
> #Conectando-se ao DB
>
> use DBI qw(:sql_types);
> $dbh=DBI->connect($conncred, $dbuser, $dbpasswd) or die $DBI::errstr;
>
> $query = "LOAD DATA LOCAL INFILE 'arquivo.log' FIELDS TERMINATED BY '^'
> LINES TERMINATED BY '\n' INTO TABLE log (campo1,campo2,campoN)";
> $sth=$dbh->prepare($query);
> $sth->execute() || die $DBI::errstr;
> $sth->finish();
>
> Acho que com isso você já tem subsídios para começar.
>
> - --
>
> Um abraço
>
> .0. MrBiTs - mrbits em linuxmasters.info
> ..0 GnuPG  -
> http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
> 000 http://www.mrbits.com.br
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (Cygwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAkisKccACgkQrDdxWm3R8YbE+QCfXHGnV5UzZ/rOwximhj/E4ITS
> W3YAn3YhXw0x+ZA9bdgz5Xd8rNKx33/I
> =XHks
> -----END PGP SIGNATURE-----
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm



-- 
Usando o revolucionário cliente de correio do Opera:
http://www.opera.com/mail/


More information about the SaoPaulo-pm mailing list