Dashboard di monitoraggio
โ Obiettivo
Creare una dashboard web browser-based con tema scuro, responsive e visualizzabile anche su smartphone, per monitorare un server Ubuntu via SSH. ร una Progressive Web App (PWA) installabile su Android/iOS, con grafici live e aggiornamenti in tempo reale via Socket.io.
๐งฑ Stack Tecnologico
-
Node.js + Express: backend server
-
Socket.io: comunicazione real-time
-
Chart.js: grafici dinamici
-
HTML + CSS (dark mode): frontend
-
PWA: manifest.json, service worker, icone
๐ Struttura del progetto
โ๏ธ Codice
๐ server.js (backend con Socket.io + Express)
๐ public/index.html (dashboard + PWA)
๐จ public/style.css (tema scuro)
๐ public/script.js (client Socket.io + grafici)
๐ public/manifest.json
๐ ๏ธ public/service-worker.js
๐ผ๏ธ Icone (cartella public/icons)
Puoi generare le icone a partire da una immagine base e ridimensionarle in:
-
96x96,144x144,192x192,512x512(PNG)
Update
๐ง 1. Backend โ server.js
Aggiungiamo lโutilizzo di si.fsSize() per ottenere tutti i filesystem montati e separatamente un controllo dedicato per il mount-point /mnt/storagepool.
๐ si.fsSize() restituisce un array con tutti i filesystem montati, inclusi /, /boot, /mnt/... e cosรฌ via github.com+2spec.org+2stackoverflow.com+2stackoverflow.com+6app.unpkg.com+6classic.yarnpkg.com+6.
๐ 2. Frontend โ script.js
Includi nuovi listener e visualizzazione:
๐งฉ 3. HTML โ inserisci i contenitori nella pagina
Aggiungi sotto la tabella principale:
E nello style.css aggiungi un po' di stile per chiarezza:
๐ 4. Riepilogo
-
si.fsSize()restituisce tutti i filesystem montati npmjs.com. -
Nel backend invii due eventi via Socket:
-
diskSingleโ ogni singolo disco/partizione. -
diskPoolโ solo/mnt/storagepoolper riassunto pool.
-
-
Nel frontend, aggiungi unโarea dedicata in cui inserire queste info in tempo reale.
-
Nessun plugin aggiuntivo; tutto gestito con
systeminformatione socket.io giร in uso.