Confira Splunk .
Estou tentando analisar uma série de solicitações de aplicativos. Há logs da web, logs do servidor de aplicativos e logs do servidor de dados, todos com timestamps ligeiramente diferentes em cada linha. Gostaria de juntá-los para ver os vários registros na ordem em que eles ocorreram.
Antes de criar um script (usando o awk e os amigos) para fazer isso, existe uma ferramenta ou um projeto / receita existente que faz algo semelhante?
Confira Splunk .
Aviso: não fiz isso antes.
Eu acho que syslod é o deamon para logar em sistemas * nix, talvez existam outros melhores. Mas essencialmente trabalha para objetivos semelhantes. Eu acho que se seu aplicativo pode ser configurado para usar o syslogd em vez de ter seu próprio arquivo de log, então eu acho que você pode ter um lugar centralizado para ver, comparar todos os logs. Isso requer que você conheça as opções de configuração de seu aplicativo ou aprimore seu código se ele ainda não tiver as opções e tenha conhecimento das opções de configuração no syslogd ou em outras ferramentas semelhantes. Feliz caça e aprendizado :). Eu estaria interessado em saber como isso é realmente implementado. Por favor, postar os passos que você tomou para conseguir isso é um blog ou site ou algo assim que pode ser encontrado através do google.
Acabei de escrever um script python.
Devido a uma série de arquivos, o script determina o tipo de arquivo em cada caso (procurando palavras-chave no nome do arquivo como access_log ) e, com base nesse tipo de arquivo, extrai um valor de carimbo de data / hora consistente para cada linha. O script, em seguida, une as linhas de cada arquivo em uma lista classificada de tuplas (timestamp, arquivo, linha de log), opcionalmente filtra por um determinado período de tempo e imprime o resultado.