Eu preciso monitorar alguns arquivos de log barulhentos grandes (500 m / dia) de um aplicativo Java (log4j). Agora, eu olho manualmente para os arquivos, grep para "ERRO" e assim por diante. No entanto, deve ser possível que uma ferramenta encontre padrões repetidos no arquivo, conte-os e forneça detalhes dos detalhes de entradas individuais. Alguém conhece essa ferramenta? Uma interface do usuário baseada em texto ou na Web seria legal.
12
perl
.Respostas:
Ouvi falar de pessoas que aplicam a filtragem bayesiana em arquivos de log para identificar coisas interessantes versus entradas de log de rotina. Eles usavam filtros de spam, nos quais as entradas desinteressantes de rotina eram consideradas "boas", enquanto as incomuns eram consideradas "spam" e, usando essa coloração, elas eram capazes de mudar.
Parece muito com coisas de aprendizado de máquina para mim, mas, novamente, eu não vi isso em ação, apenas ouvi falar sobre cervejas.
fonte
Splunk faz maravilhas para esse tipo de coisa. Eu o uso internamente para reunir todos os logs e fazer pesquisas rápidas por meio de sua excelente interface baseada em navegador.
fonte
O syslog-ng possui um recurso chamado patterndb. Você pode criar padrões e corresponder entradas de log a eles em tempo real e enviar essas entradas para separar os arquivos de log.
fonte
Ao analisar o syslog-ng e o patterndb (+1 dessa resposta acima), encontrei uma ferramenta baseada na Web chamada ELSA: http://code.google.com/p/enterprise-log-search-and-archive/ . É o F / OSS em perl, com uma interface web, e supostamente muito rápido.
Ainda não tentei, mas assim que terminar de filtrar usando o patterndb, tentarei o ELSA.
fonte
Experimente petit .
Não tenho certeza se funcionará com o formato log4j, mas você poderá criar um filtro personalizado para isso.
O Petit não possui interface web, exibe gráficos em seu shell (ASCII art ftw!).
É muito útil ver rapidamente mensagens repetidas e descobrir quando elas aconteceram ou começaram a acontecer com mais frequência.
fonte
Se você estiver usando o debian / squeeze no seu servidor, dê uma olhada no log2mail: http://packages.debian.org/squeeze/log2mail
fonte
O Glogg é um explorador de logs muito bom, pois você tem a possibilidade de criar uma base de filtro na string e na linha de cores ou recuperar toda a ocorrência em uma string.
fonte
Splunk geralmente é uma boa solução para isso. Mas você mencionou que é muito caro para você. Portanto, recomendo que você consulte o Logstash ou o GrayLog .
fonte
Você pode experimentar o LogXtender da SEQREL, que detecta automaticamente padrões e agrega logs semelhantes. O jeito é criar expressões regulares dinamicamente e usar o regex em cache para corresponder a outros logs. Com a detecção de taxonomia adicional, mais granularidade pode ser adicionada. Uma versão gratuita pode ser baixada em https://try.logxtender.net .
fonte