Come Scanopy Ti Salva dal Disegnare Diagrammi di Rete a Mano
Chiunque abbia mai provato a mantenere una mappa aggiornata di una rete aziendale o di un server domestico conosce questo dolore. Ti siedi con draw.io o Visio, passi mezza giornata a disporre ordinatamente piccoli riquadri per switch, server e connessioni. Passa una settimana, il sysadmin cambia un paio di cavi patch, l'ingegnere DevOps avvia un nuovo stack in Docker, e il tuo diagramma disegnato a mano diventa un inutile documento storico.
Lo stato di Terraform o Ansible non ti salva nemmeno sempre. Il codice dell'infrastruttura mostra solo ciò che è descritto nella pipeline, ignorando le modifiche manuali sugli switch o le VM temporaneamente avviate.
Recentemente mi sono imbattuto nel progetto Scanopy. Hanno costruito uno strumento che gestisce la scansione regolare della rete e genera automaticamente diagrammi interattivi a più livelli di astrazione.
L2 (Fisico) |
L3 (Logico) |
Workload |
Applicazioni |
Come funziona internamente
Invece di installare agenti pesanti su ogni macchina virtuale, il progetto utilizza un leggero scanner daemon. Il daemon interroga i dispositivi di rete tramite SNMP, analizza le tabelle LLDP e ARP e scansiona le porte aperte. Quando necessario, lo scanner si connette direttamente al socket Docker per inventariare i container.
Sotto il cofano, Scanopy è scritto in Rust. Questo offre prestazioni veloci dello scanner e del server senza appesantire il consumo di memoria.
Dopo ogni esecuzione dello scanner, viene costruito un modello dell'infrastruttura, da cui il sistema genera quattro sezioni separate:
- Livello fisico L2. Include switch, collegamenti fisici e porte di connessione di apparecchiature specifiche.
- Livello logico L3. Mostra routing, subnet e distribuzione degli indirizzi IP tra gli host.
- Workload. Mostra la catena dai server bare metal e hypervisor fino alle macchine virtuali e ai singoli container.
- Applicazioni. Raggruppa i servizi e costruisce un grafico delle dipendenze tra database, server web e worker in background.
Il progetto include già oltre duecento firme di servizi predefinite. Lo scanner riconosce immediatamente PostgreSQL, Redis, Nginx, Kubernetes e molti altri software senza necessità di etichettatura manuale aggiuntiva.
Cosa può fare lo scanner
Il principale vantaggio di questo approccio è l'autonomia. Imposti una pianificazione e lo scanner aggiorna regolarmente la topologia in background.
Ecco le funzionalità pratiche:
- Raccolta dati distribuita. Per più sedi o VLAN isolate, puoi distribuire daemon separati che inviano i dati a un server centrale.
- Esportazione diagrammi. I diagrammi finiti possono essere esportati come SVG, incorporati nella documentazione come codice Mermaid, o caricati direttamente su Confluence.
- Interfaccia web interattiva. Puoi ingrandire la mappa, cliccare sui singoli nodi, visualizzare le porte attive e le connessioni vicine.
- Modello di accesso basato sui ruoli. C'è una separazione integrata tra organizzazioni e utenti, utile per aziende di servizi e team di outsourcing.
Avvio rapido in laboratorio
Il modo più semplice per provare il sistema è avviare i container tramite Docker Compose su un host con accesso alla subnet richiesta.
curl -O https://raw.githubusercontent.com/scanopy/scanopy/refs/heads/main/docker-compose.yml
docker compose up -d
Dopo l'avvio, l'interfaccia web è in ascolto sulla porta 60072. Vai su http://localhost:60072, crea un account amministratore locale e avvia il primo ciclo di scansione.
Se esegui un homelab su Proxmox VE, gli autori hanno uno script pronto per il deployment in un container LXC. Scanopy è disponibile anche nel catalogo app di Unraid.
Se non vuoi installare in locale, i creatori hanno una sandbox demo pubblica su demo.scanopy.net con dati di test già popolati.
Per chi il progetto farà risparmiare tempo
Per gli ingegneri delle operazioni e i team DevOps, Scanopy affronta la domanda eterna di "dove va questo traffico e dove gira questo container". Vedi i binding dell'hardware fisico e logico senza dover raccogliere manualmente le tracce.
Per gli ingegneri di rete, l'utility aiuta a mantenere una mappa degli switch aggiornata senza ore noiose negli editor grafici. Quando esegui la migrazione di un servizio o cambi le porte degli switch, la topologia si aggiorna automaticamente con la scansione successiva.
Per i proprietari di server domestici e homelab, lo strumento offre un modo per organizzare il proliferare dei tuoi servizi senza spendere i tuoi fine settimana nella documentazione manuale.
Riepilogo
Scanopy risolve il problema classico della documentazione che diventa obsoleta in modo diretto e semplice. I diagrammi vengono generati basandosi sullo stato effettivo della rete, non sulla comprensione dello sviluppatore di sei mesi fa.
Il codice è distribuito sotto la licenza AGPL-3.0 per l'auto-hosting. Se hai rimandato l'aggiornamento delle mappe della tua infrastruttura o sei stanco di ridisegnare i diagrammi dopo ogni release, distribuisci il daemon in una rete di test e guarda i risultati della prima esecuzione.
Progetti correlati