[SP-pm] Monitorar Arquivo de Log

Marcio - Google marciorp at gmail.com
Tue Oct 22 18:50:16 PDT 2013


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 em 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 em 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 em 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 em 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 em 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 em 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 em 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 em gmail.com>
>>>>>>>
>>>>>>>
>>>>>>> virxi... preciso revisar melhor meus e-mails. Mals...
>>>>>>>
>>>>>>>
>>>>>>>  2013/6/19 Andre Carneiro <andregarciacarneiro em 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 em 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 em 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 em 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 em 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 em 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
>>>>>>>
>>>>>>>
>>>>>>>   2013/6/18 Marcio - Google <marciorp em 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 em 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 em 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 em 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 em 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 em 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 em 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 em 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 em 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 em 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 em pm.org
>>>>>>>   L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>  =end disclaimer
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>   André Garcia Carneiro
>>>>>>>  Software Engineer
>>>>>>>  (11)982907780
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>  André Garcia Carneiro
>>>>>>>  Software Engineer
>>>>>>>  (11)982907780
>>>>>>>
>>>>>>> =begin disclaimer
>>>>>>>     Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>   SaoPaulo-pm mailing list: SaoPaulo-pm em 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 em pm.org
>>>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>  =end disclaimer
>>>>>>>
>>>>>>>
>>>>>>>   --
>>>>>>>  Nuba R. Princigalli nuba em 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 em pm.org
>>>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>> =end disclaimer
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>  --
>>>>>> André Garcia Carneiro
>>>>>> Software Engineer
>>>>>> (11)982907780
>>>>>>
>>>>>> =begin disclaimer
>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm em 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 em 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 em 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 em 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 em 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 em pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20131022/6a72759e/attachment-0001.html>


More information about the SaoPaulo-pm mailing list