= 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 [[https://github.com/interop-dev/django-netjsongraph|collettore e visualizzatore della topologia di rete]] che potrebbe rimpiazzare quello attuale. Al momento è disponibile un istanza sperimentale su [[https://openwisp.nnxx.ninux.org/topology/|openwisp.nnxx.ninux.org/topology/]]. == Dettagli tecnici == I vantaggi del nuovo collettore sono i seguenti: * supporta 5 formati differenti tra cui [[http://netjson.org/rfc.html#rfc.section.4|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 [[http://docs.nodeshot.org/en/latest/|nodeshot]] (la nuova versione dell'attuale map.ninux.org) * ha un API HTTP che restituisce le informazioni della topologia in formato [[http://netjson.org/|NetJSON]] Per sapere più dettagli tecnici sull'implementazione e sull'architettura, è possibile consultare un post sul blog di nemesis: [[http://nemesisdesign.net/blog/coding/network-topology-visualizer-django-netjsongraph/|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. 1. scegliete una tra le [[https://github.com/interop-dev/django-netjsongraph#strategies|due strategie disponibili per la raccolta dei dati]] (''FETCH'' e ''RECEIVE'') - '''LEGGETE LA DOCUMENTAZIONE''' 1. create una nuova topologia scegliendo la strategia che preferite ed inserendo i dati correttamente 1. se avete bisogno di supporto non esitate a chiedere == Esempio script per RECEIVE strategy == Questo è uno script che invia la topologia OLSR al collettore: [[https://gist.github.com/nemesisdesign/b6cf61d99676f24f20f8|push-olsr-data.sh]]. {{{ #!/bin/sh BASE_URL="https://openwisp.nnxx.ninux.org" # put your network topology id here UUID="" # put your network topology key here 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 [[https://github.com/interop-dev/django-netjsongraph|README del progetto django-netjsongraph]]. Se sei pratici di pacchettizzazione su distribuzioni linux potreste aiutarci a fare un pacchetto facile da installare.