Razgovarajmo

Istraživanje i razvoj · 2018

JamesLog

Prikupiti, standardizirati i analizirati logove različitih uređaja u jednoj jedinoj bazi podataka: od klijenta na terenu do konzole za analizu.

Službeni naziv, na talijanskom: „Studio di fattibilità volto all'individuazione di una soluzione software idonea a raccogliere, codificare univocamente, standardizzare e analizzare log provenienti da dispositivi differenti”. Interni naziv proizvoda: eLogger 4.0.

Cilj

Jedna generička baza podataka, dobra za bilo koju vrstu loga, umjesto raspršenih i nespojivih formata. Tko u kući ima uređaje raznih marki, zna: svaki piše svoje zapise na svoj način, a kad treba shvatiti što se dogodilo, nema jednog mjesta gdje bi se pogledalo.

Arhitektura, na tri razine

Na terenu je klijent izgrađen na Raspberryju Pi 3: prima logove UDP-om na portu 514, prikazuje ih u stvarnom vremenu na dodirnom sučelju — popis uređaja, detalj paketa, konzola za one koji znaju gdje staviti ruke — i pretvara ih u standardizirani paket.

U oblaku su funkcije koje primaju: autentifikacija, temporizacija i prikupljanje provjeravaju valjanost svakog paketa prije upisa u bazu. Kanal je šifriran, paketi imaju vlastitu šifru, a svaki se klijent za slanje ovlašćuje razmjenom ključeva.

Na stolu onoga tko analizira je aplikacija za čitanje: filtri po čvoru, tvrtki, težini i kategoriji, brojač logova u sekundi, ručni upiti i upravljanje korisničkim računima klijenata.

Što je izašlo

Prototip koji je radio punom parom na stvarnim uređajima: klijent koji uživo prikuplja i šalje, i poslužitelj s gotovo dvije tisuće indeksiranih logova koji se daju filtrirati. S priručnikom za uporabu, postupcima oporavka i upravljanjem kodovima stanja — dakle stvarima koje trebaju onog dana kad nešto pođe po zlu.

Iz laboratorija

Slike potječu iz izvorne dokumentacije projekta.

Tri razine sustava: klijent na terenu, funkcije u oblaku koje primaju i provjeravaju, središnja baza podataka.
Tri razine sustava: klijent na terenu, funkcije u oblaku koje primaju i provjeravaju, središnja baza podataka.
Početni zaslon klijenta na uređaju na terenu.
Početni zaslon klijenta na uređaju na terenu.
Prikupljeni i poslani logovi, prikazani u stvarnom vremenu na klijentu.
Prikupljeni i poslani logovi, prikazani u stvarnom vremenu na klijentu.
Konzola klijenta, za onoga tko mora vidjeti što se doista događa.
Konzola klijenta, za onoga tko mora vidjeti što se doista događa.
Stranica konfiguracije klijenta: mreža, ključevi i parametri slanja.
Stranica konfiguracije klijenta: mreža, ključevi i parametri slanja.
Aplikacija za analizu: indeksirani logovi, filtri po čvoru, težini i kategoriji.
Aplikacija za analizu: indeksirani logovi, filtri po čvoru, težini i kategoriji.