Recherche et développement · 2018
JamesLog
Collecter, standardiser et analyser les logs d'appareils différents dans une seule base de données : du client sur le terrain à la console d'analyse.
Titre officiel, en italien : « Studio di fattibilità volto all'individuazione di una soluzione software idonea a raccogliere, codificare univocamente, standardizzare e analizzare log provenienti da dispositivi differenti ». Nom interne du produit : eLogger 4.0.
Objectif
Une seule base de données générique, bonne pour n'importe quel type de log, à la place de formats épars et incompatibles. Quiconque exploite des équipements de marques différentes le sait : chacun écrit ses registres à sa façon, et quand il faut comprendre ce qui s'est passé, il n'y a pas un endroit où regarder.
L'architecture, sur trois niveaux
Sur le terrain, un client construit sur Raspberry Pi 3 : il reçoit les logs en UDP sur le port 514, les affiche en temps réel sur une interface tactile — liste des appareils, détail des paquets, console pour qui sait où mettre les mains — et les convertit en un paquet standardisé.
Dans le cloud, les fonctions de réception : authentification, temporisation et collecte vérifient la validité de chaque paquet avant de l'écrire dans la base. Le canal est chiffré, les paquets portent leur propre chiffrement, et chaque client est habilité à l'envoi par un échange de clés.
Sur la table de l'analyste, l'application de lecture : filtres par nœud, entreprise, gravité et catégorie, compteur de logs par seconde, requêtes à la main et gestion des comptes des clients.
Ce qui en est sorti
Un prototype qui tournait à plein régime sur de vrais appareils : le client qui collecte et expédie en direct, et le serveur avec près de deux mille logs indexés et filtrables. Avec manuel d'utilisation, procédures de restauration et gestion des codes d'état — c'est-à-dire les choses qui servent le jour où quelque chose ne va pas.
Depuis le laboratoire
Les images proviennent de la documentation originale du projet.





