[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