Investigação e desenvolvimento · 2018
JamesLog
Recolher, normalizar e analisar os logs de equipamentos diferentes numa única base de dados: do cliente no terreno à consola de análise.
Título oficial, em italiano: «Studio di fattibilità volto all'individuazione di una soluzione software idonea a raccogliere, codificare univocamente, standardizzare e analizzare log provenienti da dispositivi differenti». Nome interno do produto: eLogger 4.0.
Objetivo
Uma única base de dados genérica, boa para qualquer tipo de log, no lugar de formatos dispersos e incompatíveis. Quem tem em casa aparelhos de marcas diferentes sabe-o bem: cada um escreve os seus registos à sua maneira, e quando é preciso perceber o que aconteceu não há um sítio onde olhar.
A arquitetura, em três níveis
No terreno há um cliente construído sobre um Raspberry Pi 3: recebe os logs por UDP na porta 514, mostra-os em tempo real numa interface tátil — lista dos equipamentos, detalhe dos pacotes, consola para quem sabe onde pôr as mãos — e converte-os num pacote normalizado.
Na cloud estão as funções que recebem: autenticação, temporização e recolha verificam a validade de cada pacote antes de o escrever na base de dados. O canal é cifrado, os pacotes têm uma cifra própria, e cada cliente é habilitado ao envio com uma troca de chaves.
Na secretária de quem analisa está a aplicação de leitura: filtros por nó, empresa, gravidade e categoria, contador de logs por segundo, consultas à mão e gestão das contas dos clientes.
O que daí saiu
Um protótipo a trabalhar em pleno regime sobre equipamentos reais: o cliente a recolher e a enviar ao vivo, e o servidor com quase dois mil logs indexados e filtráveis. Com manual de utilização, procedimentos de recuperação e gestão dos códigos de estado — ou seja, as coisas que fazem falta no dia em que alguma coisa corre mal.
Do laboratório
As imagens provêm da documentação original do projeto.





