Italiano English
Modifica History Actions

TopologyVisualizer

Collettore e visualizzatore topologia di rete

https://raw.githubusercontent.com/interop-dev/django-netjsongraph/master/docs/images/visualizer.png

Da qualche mese è in sperimentazione un nuovo collettore e visualizzatore della topologia di rete che potrebbe rimpiazzare quello attuale.

Al momento è disponibile un istanza sperimentale su openwisp.nnxx.ninux.org/topology/.

Dettagli tecnici

I vantaggi del nuovo collettore sono i seguenti:

  • supporta 5 formati differenti tra cui NetJSON NetworkGraph

  • i link che vanno giù non vengono cancellati ma contrassegnati come "down"
  • ha un'architettura modulare facilmente estensibile
  • permette l'invio della topologia direttamente dai nodi, evitando l'onere di dover pubblicare la topologia su una URL pubblica
  • permette l'invio della topologia da parte di più nodi, mitigando il problema del singolo punto di guasto
  • può essere incluso in progetti più grandi, ad esempio nodeshot (la nuova versione dell'attuale map.ninux.org)

  • ha un API HTTP che restituisce le informazioni della topologia in formato NetJSON

Per sapere più dettagli tecnici sull'implementazione e sull'architettura, è possibile consultare un post sul blog di nemesis: Network Topology Visualizer: django-netjsongraph.

Visualizzare la topologia della vostra rete

Per visualizzare la topologia di rete potete usare l'istanza di test condivisa oppure installare autonomamente una vostra istanza.

Se volete usare l'istanza condivisa, potete partecipare alla sperimentazione seguendo questi passi:

  1. chiedete l'accesso come amministratori all'istanza di test inviando un email a contatti [at] ninux [dot] org.
  2. scegliete una tra le due strategie disponibili per la raccolta dei dati (FETCH e RECEIVE) - LEGGETE LA DOCUMENTAZIONE

  3. create una nuova topologia scegliendo la strategia che preferite ed inserendo i dati correttamente
  4. se avete bisogno di supporto non esitate a chiedere

Esempio script per RECEIVE strategy

Questo è uno script che invia la topologia OLSR al collettore: push-olsr-data.sh.

BASE_URL="https://openwisp.nnxx.ninux.org"
# put your network topology id here
UUID="<uuid>"
# put your network topology key here
KEY="<key>"
# host where OLSR is running
OLSR_HOST="127.0.0.1"
# port on which OLSR is listening, change it according to your configuration
OLSR_PORT="2006"

COLLECTOR_URL="$BASE_URL/api/receive/$UUID/?key=$KEY"
DATA=$(echo "GET /\n\n" | nc $OLSR_HOST $OLSR_PORT)
curl -s -X POST -d "$DATA" --header "Content-Type: text/plain" "$COLLECTOR_URL"

Lo script è facilmente adattabile anche per altri protocolli di routing.

Installare un istanza del collettore

Al momento non è ancora disponibile una procedura di installazione automatica.

Potete partire leggendo il README del progetto django-netjsongraph.

Se sei pratici di pacchettizzazione su distribuzioni linux potreste aiutarci a fare un pacchetto facile da installare.