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.
Versione 2.0
Guida aggiornata: Dashboard di monitoraggio server Ubuntu con temperatura CPU da sensors
โ Obiettivo
Creare una dashboard web browser-based, tema scuro, responsive e installabile come PWA, per monitorare un server Ubuntu via SSH, con dati in tempo reale via Socket.io.
In questa versione, la temperatura della CPU viene letta con il comando Linux sensors invece che da systeminformation per avere valori piรน affidabili.
๐งฑ 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)
-
Comando shell
sensors(per la temperatura CPU)
๐ Struttura del progetto
โ๏ธ Codice
๐ server.js (backend con Socket.io + Express + sensors per temperatura CPU)
Gli altri file (public/index.html, public/style.css, public/script.js, manifest.json, service-worker.js) restano invariati rispetto alla versione precedente.
๐งฉ Nota importante
-
Assicurati di avere installato il pacchetto
lm-sensorse che il comandosensorsfunzioni correttamente nel tuo sistema (sudo apt install lm-sensors+sudo sensors-detect). -
Il backend esegue il comando
sensorsogni 2 secondi per ottenere la temperatura CPU in modo piรน affidabile rispetto asysteminformation.