Parece que o Splunk seria uma boa resposta para muitas das suas necessidades, se não todas. É muito fácil correr para avaliar. Se você já pensou nisso, talvez comente por que não atende às suas necessidades.
Felicidades
Imagine alguns sistemas Linux com scripts de vários tipos (principalmente PERL, mas pode ser qualquer coisa que grava no STDERR) que são executados 100 vezes por usuários diferentes com necessidades ligeiramente diferentes.
Os logs são mantidos da saída e os avisos / erros (stderr) de cada execução do script. Isso significa que milhares de logs estão se acumulando.
Os usuários cometem erros. E os desenvolvedores nem sempre escrevem códigos limpos, etc.
Gostaríamos de saber, a partir dos registros, o que está acontecendo, ambos (programaticamente) em cada caso e (administrativamente, analiticamente) no entendimento das tendências ao longo do tempo.
Esse problema também pode ser considerado em um contexto de servidor da web / cgi, já que muitas vezes gera centenas de execuções de scripts, mas eu não estou procurando por soluções peculiares aos logs de acesso / erro do apache.
Quais ferramentas de software livre / de código aberto existem, em geral, para identificar e analisar resultados incomuns a partir de uma coleção de logs em que cada log representa uma execução de um procedimento?
Recursos úteis podem incluir:
Por exemplo, pode-se pegar todos os logs feitos a partir de stderr, cat-los e executá-los através de sort e uniq -c e ordenar novamente para fazer uma lista das strings de erro do menos frequente ao mais frequente. Pode-se também começar a despejar os logs em um banco de dados SQL de algum tipo.
Isso pode se tornar o bloco de construção de uma ferramenta, mas talvez existam pacotes completos que já fazem isso e muito mais. Então eu pensei em pedir para ver o que outras pessoas usam.
Você desenvolve ferramentas internas para esse tipo de coisa ou existem boas alternativas de código aberto?
Parece que o Splunk seria uma boa resposta para muitas das suas necessidades, se não todas. É muito fácil correr para avaliar. Se você já pensou nisso, talvez comente por que não atende às suas necessidades.
Felicidades
Meus pensamentos seriam: Use petit ( link ) para analisar em vez de uniq. Os registros podem ser armazenados em formato .gz, de modo que o seguinte pode alcançar seus primeiros 3 objetivos e é GPL. Não há interface gráfica ou noção de exportação.
zcat logfile.gz | petit --hash
Ou
zcat logfile.gz | petit --dgraph