[SP-pm] Monitorar Arquivo de Log
Marcelo Milhomem
milhomem at is4web.com.br
Tue Oct 22 19:24:28 PDT 2013
Marcio,
Para encontrar uma data em um string usaria algo como:
$str =~ s#.*(\d{2}/\d{2}/\d{2,4}).*#$1#;
Mas faria mais verificações depois ou usaria um módulo como
DateTime::Format::ISO8601 pra fazer o parse se for necessário efetuar
cálculos.
Você pode procurar por números com o \d e determinar a quantidade com {m,n}
=~ /\d+,\d{2}/; # assim faria um match com n dígitos antes da virgula e
duas casas decimais, mas a regex vai depender muito de como é esperado a
sua string.
[]'s
Marcelo Milhomem
Em 22/10/2013 23:50, Marcio - Google escreveu:
> Blz, já consigo separar os dados e tal, mas agora to precisando de
> outra regex e não consegui montar.
>
> Preciso localizar e atribuir a uma variável, uma data válida no meio
> de uma string. Não sei em que posição ela vai estar, e o formato varia
> entre DD/MM/AA ou DD/MM/AAAA.
>
> Também preciso separar e atribuir a uma variável um valor numérico com
> duas casa decimais. Não sei o tamanho nem posição, exceto que o
> separador decimal é , e tem duas casas decimais.
>
> Dicas?
>
>
> [...]'s
>
> Marcio
>
> ========================================
> ########### Campanha Ajude o Marcio! ###########
> http://sosmarcio.blogspot.com.br/
> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
> ========================================
>
>
> Em 22 de outubro de 2013 22:19, Marcio - Google <marciorp at gmail.com
> <mailto:marciorp at gmail.com>> escreveu:
>
> Marcelo+++++
>
> Valeu, precisava remover os espaços mesmo ... :-)
>
>
>
> [...]'s
>
> Marcio
>
> ========================================
> ########### Campanha Ajude o Marcio! ###########
> http://sosmarcio.blogspot.com.br/
> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
> ========================================
>
>
> Em 22 de outubro de 2013 21:53, Marcelo Milhomem
> <milhomem at is4web.com.br <mailto:milhomem at is4web.com.br>> escreveu:
>
> Segue um exemplo rápido com escape --comentado-- ou com um
> regex simples pra remover os espaços:
>
> my $line = "T|blablablabla |blabla | mais blabla bla ";
> chomp $line;
> #my @p = split /\|/, $line;
> my @p = split /\s*\|\s*/, $line;
> print $p[0] . "\n";
> print $p[1] . "\n";
> print $p[2] . "\n";
> print $p[3] . "\n";
>
> Att,
> Marcelo Milhomem
>
> Em 22/10/2013 22:49, Renato Santos escreveu:
>>
>> É só usar @p = split /\|/, $texto
>>
>> On Oct 22, 2013 10:47 PM, "Marcio - Google"
>> <marciorp at gmail.com <mailto:marciorp at gmail.com>> wrote:
>>
>> Cron, nada sério. Só procurando informações em arquivos
>> de log ...
>> Tentei uns exemplos de regex mais não consegui também.
>> Você sabe de kbç?
>>
>>
>> [...]'s
>>
>> Marcio
>>
>> ========================================
>> ########### Campanha Ajude o Marcio! ###########
>> http://sosmarcio.blogspot.com.br/
>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>> ========================================
>>
>>
>> Em 22 de outubro de 2013 21:44, Renato Santos
>> <renato.cron at gmail.com <mailto:renato.cron at gmail.com>>
>> escreveu:
>>
>> Regular expressions.. Você precisa escapiar o pipe.
>>
>> Obs: você devia usar o text::csv::xs se isso for sério!
>>
>> On Oct 22, 2013 10:32 PM, "Marcio - Google"
>> <marciorp at gmail.com <mailto:marciorp at gmail.com>> wrote:
>>
>> Mestres, desculpem a newbieçe, mas to apanhando
>> do split.
>>
>> my $line = "T|blablablabla |blabla | mais
>> blabla bla ";
>> chomp $line;
>> my @p = split /|/, $line;
>> print $p[0] . "\n";
>> print $p[1] . "\n";
>> print $p[2] . "\n";
>> print $p[3] . "\n";
>>
>> Minhas colunas são separadas por | e não tem
>> tamanho fixo.
>>
>> Não consegui separa-las corretamente.
>>
>>
>>
>> [...]'s
>>
>> Marcio
>>
>> ========================================
>> ########### Campanha Ajude o Marcio! ###########
>> http://sosmarcio.blogspot.com.br/
>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>> ========================================
>>
>>
>> Em 19 de junho de 2013 12:58, Andre Carneiro
>> <andregarciacarneiro at gmail.com
>> <mailto:andregarciacarneiro at gmail.com>> escreveu:
>>
>> Valeu Lorn! Esse eu não conhecia!
>>
>>
>> Acho que fiquei mal-acostumado aqui na
>> empresa. Os caras só usam coisa que tem
>> suporte e normalmente isso implica em
>> lincenças bem caras.
>>
>> E no caso do splunk realmente, $30000,00 por
>> 20GB/dia de indexação... caro !
>>
>>
>>
>> Cheers!
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> 2013/6/19 Nuba Princigalli <nuba at fastmail.fm
>> <mailto:nuba at fastmail.fm>>
>>
>> Complementando: nesse espaço, uma
>> alternativa bacana também é o logstash.
>> On Wed, Jun 19, 2013, at 10:08 AM,
>> Lindolfo Lorn Rodrigues wrote:
>>> Fala André, blz?
>>> O Splunk é bom mesmo, só que muito é caro.
>>> Para centralizar logs eu gosto do
>>> http://graylog2.org/
>>> Open Source e escala muito bem, outro
>>> dia a locaweb revelou que eles
>>> recebem/tratam 790.000 mensagens / 5min
>>> com o Graylog.
>>> E como o graylog-server é compativel com
>>> o syslog você pode apontar o syslog das
>>> maquinas para ele
>>> 2013/6/19 Andre Carneiro
>>> <andregarciacarneiro at gmail.com
>>> <mailto:andregarciacarneiro at gmail.com>>
>>>
>>> virxi... preciso revisar melhor meus
>>> e-mails. Mals...
>>> 2013/6/19 Andre Carneiro
>>> <andregarciacarneiro at gmail.com
>>> <mailto:andregarciacarneiro at gmail.com>>
>>>
>>> Márcio, você já ouviu falar
>>> sobre o Splunk?
>>> http://www.splunk.com/product
>>> O pessoal usa aqui usa bastante.
>>> Eu só dei uma olhadinha bem
>>> superficial. Você pode criar
>>> gráficos de monitoração muito
>>> facilmente, pode trabalhar com
>>> regex para fazer as análises dos
>>> logs, tudo simples, fácil e
>>> rápido. Obviamente tem uma
>>> curvinha de aprendizado para
>>> vencer, mas nada comparado à
>>> 'monstrinhos' como o Nagios, por
>>> exemplo(fãs de Nagios, me
>>> desculpem! É a minha opinião!).
>>> O Splunk veio, aparentemente,
>>> preencher essa 'lacuna'.
>>> Realmente bão !
>>> 2013/6/18 Nilton OS
>>> <jniltinho at gmail.com
>>> <mailto:jniltinho at gmail.com>>
>>>
>>> my $test = '^(... ..
>>> ..:..:..) (\S+) \S+
>>> ([a-zA-Z0-9]+): FILTER_LOGX:
>>> from=\<(.*?)\> to=\<(.*?)\>
>>> subject=\<(.*?)\>
>>> size=([0-9]+) hostip=([^ ]*)
>>> nrcpt=([0-9]+)';
>>> Testa algo assim:
>>> Se usar (\S+) ou \S+ vai
>>> começar a ter os resultados
>>> Dá uma olhada nesse script.
>>> http://pastebin.com/2Mnx9FAY
>>> Em 18 de junho de 2013
>>> 19:33, Eduardo Verissimo
>>> <everissimo at gmail.com
>>> <mailto:everissimo at gmail.com>>
>>> escreveu:
>>>
>>> Que tal?
>>> ($codigo) =~
>>> /^.*?\|.*?\|.*?\|(.*?)\|/ if
>>> /TIM/;
>>> Acho que ainda precisa
>>> de um ajuste...
>>> Em 18 de junho de 2013
>>> 19:02, Nilton OS
>>> <jniltinho at gmail.com
>>> <mailto:jniltinho at gmail.com>>
>>> escreveu:
>>>
>>> Dá um split no (|)
>>> No meu script tem um
>>> regex para pegar
>>> isso ou qualquer
>>> coisa na linha, mas
>>> acho que ninguém
>>> ligou para minha
>>> resposta.
>>> Em 18 de junho de
>>> 2013 18:34, Marcio -
>>> Google
>>> <marciorp at gmail.com
>>> <mailto:marciorp at gmail.com>>
>>> escreveu:
>>>
>>> Marcio, não.
>>> Há duas
>>> informações na
>>> linha que tem
>>> que bater para
>>> ela ser
>>> selecionada, no
>>> exemplo:
>>> *|***********************|*****
>>> |*D0 C003*|
>>> *********************"TIM"*
>>> [...]'s
>>> Marcio
>>> ========================================
>>> ###########
>>> Campanha Ajude o
>>> Marcio! ###########
>>> http://sosmarcio.blogspot.com.br/
>>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>>> ========================================
>>> Em 18 de junho
>>> de 2013 16:59,
>>> Marcio Ferreira
>>> <marciodesouzaferreira at gmail.com
>>> <mailto:marciodesouzaferreira at gmail.com>>
>>> escreveu:
>>>
>>> if ( $line
>>> =~ /"TIM"/i ){
>>> #faz
>>> alguma coisa
>>> }
>>> não funciona?
>>> http://perldoc.perl.org/perlre.html
>>>
>>> http://sao-paulo.pm.org/artigo/2006/RegexPraticasTecnicasAvancadas
>>> http://sao-paulo.pm.org/artigo/2006/ExpressoesRegulares
>>>
>>> []s,
>>> Marcio Ferreira
>>> skype:
>>> marcio.ferreir4
>>> (21)
>>> 8365-7768
>>> <tel:%2821%29%208365-7768>
>>>
>>> 2013/6/18
>>> Marcio -
>>> Google
>>> <marciorp at gmail.com
>>> <mailto:marciorp at gmail.com>>
>>>
>>> Marcio
>>> (xará),
>>> Vou
>>> tentar
>>> com esse
>>> módulo.
>>> Já to
>>> ficando
>>> traumatizado
>>> com
>>> regex,
>>> faz
>>> tempo
>>> que
>>> apanho,
>>> to
>>> começando a
>>> achar
>>> que seja
>>> algum
>>> tipo de
>>> trauma,
>>> bloqueio, sei
>>> lá o que
>>> ... rsrsrs
>>> Giuliani,
>>> Obrigado
>>> pela
>>> dica,
>>> vou
>>> procurar
>>> o livro.
>>> Tiago,
>>> Vou ler
>>> a
>>> respeito, obrigado.
>>> [...]'s
>>> Marcio
>>> ========================================
>>> ###########
>>> Campanha
>>> Ajude o
>>> Marcio!
>>> ###########
>>> http://sosmarcio.blogspot.com.br/
>>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>>> ========================================
>>> Em 18 de
>>> junho de
>>> 2013
>>> 16:44,
>>> Marcio -
>>> Google
>>> <marciorp at gmail.com
>>> <mailto:marciorp at gmail.com>>
>>> escreveu:
>>>
>>> Eduardo,
>>> O
>>> log
>>> é
>>> isso
>>> ai
>>> basicamente:
>>> T|20/05/2013
>>> 08:12:03.391|Modem
>>> |D1
>>> C015| RX
>>> : OK
>>> T|20/05/2013
>>> 08:12:04.300|Modem
>>> |D0
>>> C003| RX
>>> :
>>> +CREG:
>>> 001,016d,5e13
>>> T|20/05/2013
>>> 08:12:04.300|Modem
>>> |D0
>>> C003| TX
>>> :
>>> AT+COPS?
>>> T|20/05/2013
>>> 08:12:04.333|Modem
>>> |D0
>>> C003| RX
>>> :
>>> +COPS:
>>> 000,000,"TIM"
>>> T|20/05/2013
>>> 08:12:04.333|Modem
>>> |D0
>>> C003| RX
>>> : OK
>>> T|20/05/2013
>>> 08:12:04.582|Modem
>>> |D0
>>> C001| TX
>>> : AT+CSQ
>>> T|20/05/2013
>>> 08:12:04.582|Modem
>>> |D0
>>> C002| TX
>>> : AT+CSQ
>>> Usando
>>> esse
>>> pedaço
>>> como
>>> exemplo,
>>> preciso
>>> localizar
>>> linhas
>>> assim:
>>> *|***********************|*****
>>> |D0
>>> C003| ********************"TIM"
>>> Entenda
>>> o *
>>> como
>>> qualquer
>>> coisa.
>>> Depois
>>> do
>>> quarto
>>> | os
>>> dados não
>>> tem
>>> tamanho
>>> fixo, então
>>> esse
>>> "TIM" poderia
>>> estar mais
>>> pra
>>> frente
>>> como
>>> mais
>>> pra
>>> trás.
>>> [...]'s
>>> Marcio
>>> ========================================
>>> ###########
>>> Campanha
>>> Ajude o
>>> Marcio!
>>> ###########
>>> http://sosmarcio.blogspot.com.br/
>>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>>> ========================================
>>> Em
>>> 17
>>> de
>>> junho de
>>> 2013
>>> 21:25,
>>> Eduardo
>>> Verissimo
>>> <everissimo at gmail.com
>>> <mailto:everissimo at gmail.com>>
>>> escreveu:
>>>
>>> Márcio,
>>> você
>>> pode
>>> dar
>>> um
>>> exemplo
>>> de
>>> qual
>>> a string
>>> de
>>> onde
>>> vai
>>> tirar
>>> a informação
>>> e qual
>>> informação
>>> quer
>>> extrair?
>>> Em
>>> 17
>>> de
>>> junho
>>> de
>>> 2013
>>> 19:32,
>>> Marcio
>>> - Google
>>> <marciorp at gmail.com
>>> <mailto:marciorp at gmail.com>>
>>> escreveu:
>>>
>>>
>>> Valeu
>>> pelas
>>> dicas
>>> e códigos
>>> pessoal.
>>> Estou
>>> usando
>>> o File::Tail
>>> e parti
>>> do
>>> código
>>> que
>>> o Eduardo
>>> compartilhou.
>>> Só
>>> estou
>>> apanhando
>>> das
>>> regex
>>> pra
>>> encontrar
>>> o que
>>> quero.
>>> Não
>>> sei
>>> se
>>> sou
>>> burro,
>>> mas
>>> tenho
>>> uma
>>> grande
>>> dificuldade
>>> de
>>> assimilar/entender
>>> regex.
>>> Vou
>>> tentar
>>> mais
>>> um
>>> pouco,
>>> se
>>> não
>>> conseguir
>>> jogo
>>> a toalha
>>> ...
>>> rsrsrs
>>>
>>> =begin
>>> disclaimer
>>> Sao
>>> Paulo
>>> Perl
>>> Mongers:
>>> http://sao-paulo.pm.org/
>>> SaoPaulo-pm
>>> mailing
>>> list:
>>> SaoPaulo-pm at pm.org
>>> <mailto:SaoPaulo-pm at pm.org>
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end
>>> disclaimer
>>>
>>> =begin
>>> disclaimer
>>> Sao
>>> Paulo
>>> Perl
>>> Mongers:
>>> http://sao-paulo.pm.org/
>>> SaoPaulo-pm
>>> mailing
>>> list:
>>> SaoPaulo-pm at pm.org
>>> <mailto:SaoPaulo-pm at pm.org>
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end
>>> disclaimer
>>>
>>> =begin
>>> disclaimer
>>> Sao Paulo
>>> Perl
>>> Mongers:
>>> http://sao-paulo.pm.org/
>>> SaoPaulo-pm
>>> mailing
>>> list:
>>> SaoPaulo-pm at pm.org
>>> <mailto:SaoPaulo-pm at pm.org>
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>> =begin disclaimer
>>> Sao Paulo
>>> Perl Mongers:
>>> http://sao-paulo.pm.org/
>>> SaoPaulo-pm
>>> mailing list:
>>> SaoPaulo-pm at pm.org
>>> <mailto:SaoPaulo-pm at pm.org>
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>> --
>>> ..............................................................................
>>> *Com Deus todas as
>>> coisas
>>> são possíveis* :::
>>> LinuxPro
>>> <http://www.linuxpro.com.br>
>>> /"A qualidade nunca
>>> se obtém por acaso;
>>> ela é sempre o
>>> resultado do esforço
>>> inteligente." (John
>>> Ruskin)/
>>> /"A mente que se
>>> abre a uma nova
>>> ideia jamais volta
>>> ao seu tamanho
>>> original" (Albert
>>> Einstein)/
>>> =begin disclaimer
>>> Sao Paulo Perl
>>> Mongers:
>>> http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing
>>> list:
>>> SaoPaulo-pm at pm.org
>>> <mailto:SaoPaulo-pm at pm.org>
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>> =begin disclaimer
>>> Sao Paulo Perl
>>> Mongers:
>>> http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing
>>> list: SaoPaulo-pm at pm.org
>>> <mailto:SaoPaulo-pm at pm.org>
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>> --
>>> ..............................................................................
>>> *Com Deus todas as coisas
>>> são possíveis* ::: LinuxPro
>>> <http://www.linuxpro.com.br>
>>> /"A qualidade nunca se obtém
>>> por acaso; ela é sempre o
>>> resultado do esforço
>>> inteligente." (John Ruskin)/
>>> /"A mente que se abre a uma
>>> nova ideia jamais volta ao
>>> seu tamanho original"
>>> (Albert Einstein)/
>>> =begin disclaimer
>>> Sao Paulo Perl Mongers:
>>> http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing list:
>>> SaoPaulo-pm at pm.org
>>> <mailto:SaoPaulo-pm at pm.org>
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>> --
>>> André Garcia Carneiro
>>> Software Engineer
>>> (11)982907780
>>> <tel:%2811%29982907780>
>>>
>>> --
>>> André Garcia Carneiro
>>> Software Engineer
>>> (11)982907780 <tel:%2811%29982907780>
>>> =begin disclaimer
>>> Sao Paulo Perl Mongers:
>>> http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing list:
>>> SaoPaulo-pm at pm.org
>>> <mailto:SaoPaulo-pm at pm.org>
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>> =begin disclaimer
>>> Sao Paulo Perl Mongers:
>>> http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing list:
>>> SaoPaulo-pm at pm.org
>>> <mailto:SaoPaulo-pm at pm.org>
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>> --
>> Nuba R. Princigalli nuba at pauleira.com
>> <mailto:nuba at pauleira.com>
>> http://pauleira.com @nprincigalli
>> Discipline is not an end in itself, just
>> a means to an end. - King Crimson
>>
>> =begin disclaimer
>> Sao Paulo Perl Mongers:
>> http://sao-paulo.pm.org/
>> SaoPaulo-pm mailing list:
>> SaoPaulo-pm at pm.org
>> <mailto:SaoPaulo-pm at pm.org>
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>>
>>
>> --
>> André Garcia Carneiro
>> Software Engineer
>> (11)982907780 <tel:%2811%29982907780>
>>
>> =begin disclaimer
>> Sao Paulo Perl Mongers:
>> http://sao-paulo.pm.org/
>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> <mailto:SaoPaulo-pm at pm.org>
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>>
>> =begin disclaimer
>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> <mailto:SaoPaulo-pm at pm.org>
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>> =begin disclaimer
>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> <mailto:SaoPaulo-pm at pm.org>
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>>
>> =begin disclaimer
>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> <mailto:SaoPaulo-pm at pm.org>
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>>
>> =begin disclaimer
>> Sao Paulo Perl Mongers:http://sao-paulo.pm.org/
>> SaoPaulo-pm mailing list:SaoPaulo-pm at pm.org <mailto:SaoPaulo-pm at pm.org>
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> <http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>
>
> =begin disclaimer
> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
> <mailto:SaoPaulo-pm at pm.org>
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
>
>
>
> =begin disclaimer
> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20131023/00a91e47/attachment-0001.html>
More information about the SaoPaulo-pm
mailing list