<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>TopologyVisualizer</title><revhistory><revision><revnumber>9</revnumber><date>2017-10-05 09:50:33</date><authorinitials>pdl-rm-ext-51.cineca.it</authorinitials><revremark>Aggiornata URL a https://openwisp.nnxx.ninux.org/topology/</revremark></revision><revision><revnumber>8</revnumber><date>2016-03-15 17:22:26</date><authorinitials>Nemesis</authorinitials><revremark>typos</revremark></revision><revision><revnumber>7</revnumber><date>2016-03-15 11:02:46</date><authorinitials>Nemesis</authorinitials><revremark>Aggiunto codice script</revremark></revision><revision><revnumber>6</revnumber><date>2016-03-15 10:40:45</date><authorinitials>Nemesis</authorinitials><revremark>Aggiunto dettaglio link &quot;down&quot;</revremark></revision><revision><revnumber>5</revnumber><date>2016-03-15 10:37:34</date><authorinitials>Nemesis</authorinitials><revremark>Aggiunta immagine</revremark></revision><revision><revnumber>4</revnumber><date>2016-03-15 10:00:05</date><authorinitials>Nemesis</authorinitials><revremark>Visualizzare la topologia della vostra rete</revremark></revision><revision><revnumber>3</revnumber><date>2016-03-15 09:59:26</date><authorinitials>Nemesis</authorinitials><revremark>Aggiunti dettagli su installazione autonoma</revremark></revision><revision><revnumber>2</revnumber><date>2016-03-15 09:57:04</date><authorinitials>Nemesis</authorinitials><revremark>Menzionata possibilità di installare una propria istanza personale</revremark></revision><revision><revnumber>1</revnumber><date>2016-03-15 09:34:22</date><authorinitials>Nemesis</authorinitials><revremark>init</revremark></revision></revhistory></articleinfo><section><title>Collettore e visualizzatore topologia di rete</title><para><inlinemediaobject><imageobject><imagedata fileref="https://raw.githubusercontent.com/interop-dev/django-netjsongraph/master/docs/images/visualizer.png"/></imageobject><textobject><phrase>https://raw.githubusercontent.com/interop-dev/django-netjsongraph/master/docs/images/visualizer.png</phrase></textobject></inlinemediaobject> </para><para>Da qualche mese è in sperimentazione un nuovo <ulink url="https://github.com/interop-dev/django-netjsongraph">collettore e visualizzatore della topologia di rete</ulink> che potrebbe rimpiazzare quello attuale. </para><para>Al momento è disponibile un istanza sperimentale su <ulink url="https://openwisp.nnxx.ninux.org/topology/">openwisp.nnxx.ninux.org/topology/</ulink>. </para><section><title>Dettagli tecnici</title><para>I vantaggi del nuovo collettore sono i seguenti: </para><itemizedlist><listitem><para>supporta 5 formati differenti tra cui <ulink url="http://netjson.org/rfc.html#rfc.section.4">NetJSON NetworkGraph</ulink> </para></listitem><listitem><para>i link che vanno giù non vengono cancellati ma contrassegnati come &quot;down&quot; </para></listitem><listitem><para>ha un'architettura modulare facilmente estensibile </para></listitem><listitem><para>permette l'invio della topologia direttamente dai nodi, evitando l'onere di dover pubblicare la topologia su una URL pubblica </para></listitem><listitem><para>permette l'invio della topologia da parte di più nodi, mitigando il problema del singolo punto di guasto </para></listitem><listitem><para>può essere incluso in progetti più grandi, ad esempio <ulink url="http://docs.nodeshot.org/en/latest/">nodeshot</ulink> (la nuova versione dell'attuale map.ninux.org) </para></listitem><listitem><para>ha un API HTTP che restituisce le informazioni della topologia in formato <ulink url="http://netjson.org/">NetJSON</ulink> </para></listitem></itemizedlist><para>Per sapere più dettagli tecnici sull'implementazione e sull'architettura, è possibile consultare un post sul blog di nemesis: <ulink url="http://nemesisdesign.net/blog/coding/network-topology-visualizer-django-netjsongraph/">Network Topology Visualizer: django-netjsongraph</ulink>. </para></section><section><title>Visualizzare la topologia della vostra rete</title><para>Per visualizzare la topologia di rete potete usare l'istanza di test condivisa oppure installare autonomamente una vostra istanza. </para><para>Se volete usare l'istanza condivisa, potete partecipare alla sperimentazione seguendo questi passi: </para><orderedlist numeration="arabic"><listitem><para>chiedete l'accesso come amministratori all'istanza di test inviando un email a contatti [at] ninux [dot] org. </para></listitem><listitem><para>scegliete una tra le <ulink url="https://github.com/interop-dev/django-netjsongraph#strategies">due strategie disponibili per la raccolta dei dati</ulink> (<emphasis>FETCH</emphasis> e <emphasis>RECEIVE</emphasis>) - <emphasis role="strong">LEGGETE LA DOCUMENTAZIONE</emphasis> </para></listitem><listitem><para>create una nuova topologia scegliendo la strategia che preferite ed inserendo i dati correttamente </para></listitem><listitem><para>se avete bisogno di supporto non esitate a chiedere </para></listitem></orderedlist></section><section><title>Esempio script per RECEIVE strategy</title><para>Questo è uno script che invia la topologia OLSR al collettore: <ulink url="https://gist.github.com/nemesisdesign/b6cf61d99676f24f20f8">push-olsr-data.sh</ulink>. </para><screen><![CDATA[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"
]]><![CDATA[
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"]]></screen><para>Lo script è facilmente adattabile anche per altri protocolli di routing. </para></section><section><title>Installare un istanza del collettore</title><para>Al momento non è ancora disponibile una procedura di installazione automatica.  </para><para>Potete partire leggendo il <ulink url="https://github.com/interop-dev/django-netjsongraph">README del progetto django-netjsongraph</ulink>. </para><para>Se sei pratici di pacchettizzazione su distribuzioni linux potreste aiutarci a fare un pacchetto facile da installare. </para></section></section></article>