Kula è un tool di monitoraggio pensato per chi gestisce server Linux e vuole metriche aggiornate ogni secondo senza dipendere da database esterni o stack complessi.

L’applicazione legge direttamente da /proc e /sys, archivia i dati in un motore di storage integrato e li espone tramite una dashboard web in tempo reale e un’interfaccia TUI da terminale.
L’obiettivo è offrire uno strumento immediato, autosufficiente e capace di funzionare per lunghi periodi senza richiedere manutenzione.
Il cuore del progetto è un sistema di archiviazione basato su ring‑buffer a più livelli. I file binari hanno dimensione fissa e, una volta pieni, sovrascrivono automaticamente i dati più vecchi. Al riavvio, Kula ricostruisce cache e buffer di aggregazione per riprendere la raccolta senza perdere continuità. La struttura multi‑tier consente di mantenere campioni grezzi al secondo, aggregazioni al minuto e aggregazioni a cinque minuti, ottimizzando spazio e prestazioni.
Dashboard moderna, API REST e streaming WebSocket
Kula integra un server HTTP che espone un’API REST e un endpoint WebSocket per lo streaming live. L’autenticazione è opzionale e, quando attivata, utilizza Argon2id per l’hashing delle password, cookie di sessione sicuri, validazione tramite token e persistenza cifrata delle sessioni. L’accesso autenticato può avvenire anche tramite token nel campo Authorization.
La dashboard web è una single‑page application incorporata nel binario, basata su Chart.js e gauge SVG personalizzati. Lo streaming in tempo reale avviene via WebSocket, mentre per intervalli più lunghi viene utilizzata la history API.

Tra le funzioni disponibili ci sono zoom interattivo, modalità focus per isolare grafici specifici, limiti Y configurabili, selettori per rete, dischi e sensori termici, layout a griglia o lista e un sistema di avvisi per problemi come bassa entropia, desincronizzazione dell’orologio o sovraccarico del sistema. Il tutto con un’interfaccia moderna e supporto per temi chiari e scuri.
Installare Kula
Kula è disponibile per pc o server Linux con pacchetti deb e rpm in alternativa possiamo installarlo via Docker.
Abbiamo testato Kula su Fedora 44 Beta con ambiente desktop GNOME (immagini articolo).