NetJSON: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(Übersicht)
(on_dataservice (Monitoring))
 
(Eine dazwischenliegende Version von einem Benutzer wird nicht angezeigt)
Zeile 23: Zeile 23:
  
 
==on_dataservice (Monitoring)==
 
==on_dataservice (Monitoring)==
TODO
+
 
 +
===ondataservices durch NetJSON ablösen?===
 +
Für die Inventarisierung werden derzeit mit OLSRv1 und dem ondataservices Plugin Daten der APs eingesammelt. Es stand die Frage im Raum, ob wir diese Eigenentwicklung auf einen Standardmechanismen ändern wollen/können. Hierzu wurde sich NetJSON angeschaut. NetJSON scheint für Konfigurationsmanagement gut verwendbar zu sein. Hier gibt es auch Tools. Für unseren konkreten Fall gibt es jedoch nur wenig Mehrwert. Es gibt bei uns bereits eine JSON Datei, welche als Nachfolge von ondataservice existiert. Das Format zu ändern und auf einen Standard zu wechseln, hat nur wenig Mehrwert derzeit.
 +
 
 +
===Migration auf NetJSON===
 +
Wenn man auf NetJSON migrieren möchte, müsste folgendes getan werden:
 +
* Daten, welche derzeit in ondataservices vorhanden sind in NetJSON abbilden
 +
* Auf dem Mesh-Knoten müssen das NetJSON erzeugt werden.
 +
* Die API muss NetJSON importieren können.
 +
 
 +
====Fragen====
 
* Welche Daten gibt es derzeit in on_dataservice?
 
* Welche Daten gibt es derzeit in on_dataservice?
 
* Gibt es diese bereits in NetJSON?
 
* Gibt es diese bereits in NetJSON?
 +
 +
 +
Folgendes reales Beispiel der on_dataservice Daten gibt es:
 +
<pre>
 +
[
 +
  {
 +
    "ifaces": {
 +
      "originator": "",
 +
      "on_olsr_mainip": "192.168.2.50",
 +
      "if_name": "wlan0",
 +
      "if_type_bridge": "",
 +
      "if_type_bridgedif": "0",
 +
      "if_hwaddr": "44:d9:e7:54:ee:d2",
 +
      "ip_label": "wlan0",
 +
      "ip_addr": "192.168.2.50/16 fe80::46d9:e7ff:fe54:eed2/64",
 +
      "ip_broadcast": "192.168.255.255",
 +
      "on_networks": "",
 +
      "on_zones": "",
 +
      "on_olsr": "1",
 +
      "dhcp_start": "",
 +
      "dhcp_limit": "",
 +
      "dhcp_leasetime": "",
 +
      "dhcp_fwd": "",
 +
      "ifstat_collisions": "0",
 +
      "ifstat_rx_compressed": "0",
 +
      "ifstat_rx_errors": "0",
 +
      "ifstat_rx_length_errors": "0",
 +
      "ifstat_rx_packets": "948338",
 +
      "ifstat_tx_carrier_errors": "0",
 +
      "ifstat_tx_errors": "0",
 +
      "ifstat_tx_packets": "638845",
 +
      "ifstat_multicast": "0",
 +
      "ifstat_rx_crc_errors": "0",
 +
      "ifstat_rx_fifo_errors": "0",
 +
      "ifstat_rx_missed_errors": "0",
 +
      "ifstat_tx_aborted_errors": "0",
 +
      "ifstat_tx_compressed": "0",
 +
      "ifstat_tx_fifo_errors": "0",
 +
      "ifstat_tx_window_errors": "0",
 +
      "ifstat_rx_bytes": "1091373999",
 +
      "ifstat_rx_dropped": "0",
 +
      "ifstat_rx_frame_errors": "0",
 +
      "ifstat_rx_over_errors": "0",
 +
      "ifstat_tx_bytes": "218444449",
 +
      "ifstat_tx_dropped": "0",
 +
      "ifstat_tx_heartbeat_errors": "0",
 +
      "wlan_essid": "Rundstrahler-Z10.on-i.de",
 +
      "wlan_apmac": "44:D9:E7:54:EE:D2",
 +
      "wlan_type": "nl80211",
 +
      "wlan_hwmode": "802.11an",
 +
      "wlan_mode": "Client",
 +
      "wlan_channel": "44",
 +
      "wlan_freq": "5.220",
 +
      "wlan_txpower": "20",
 +
      "wlan_signal": "-68",
 +
      "wlan_noise": "-95",
 +
      "wlan_bitrate": "39.0",
 +
      "wlan_crypt": "          none",
 +
      "wlan_vaps": "yes",
 +
      "db_ver": "0.2",
 +
      "db_update": "1557545828"
 +
    }
 +
  },
 +
  {
 +
    "ifaces": {
 +
      "originator": "",
 +
      "on_olsr_mainip": "192.168.2.50",
 +
      "if_name": "eth0",
 +
      "if_type_bridge": "",
 +
      "if_type_bridgedif": "0",
 +
      "if_hwaddr": "44:d9:e7:55:ee:d2",
 +
      "ip_label": "",
 +
      "ip_addr": "fe80::46d9:e7ff:fe55:eed2/64",
 +
      "ip_broadcast": "",
 +
      "on_networks": "",
 +
      "on_zones": "",
 +
      "on_olsr": "0",
 +
      "dhcp_start": "",
 +
      "dhcp_limit": "",
 +
      "dhcp_leasetime": "",
 +
      "dhcp_fwd": "",
 +
      "ifstat_collisions": "0",
 +
      "ifstat_rx_compressed": "0",
 +
      "ifstat_rx_errors": "0",
 +
      "ifstat_rx_length_errors": "0",
 +
      "ifstat_rx_packets": "417555",
 +
      "ifstat_tx_carrier_errors": "0",
 +
      "ifstat_tx_errors": "0",
 +
      "ifstat_tx_packets": "673210",
 +
      "ifstat_multicast": "0",
 +
      "ifstat_rx_crc_errors": "0",
 +
      "ifstat_rx_fifo_errors": "0",
 +
      "ifstat_rx_missed_errors": "0",
 +
      "ifstat_tx_aborted_errors": "0",
 +
      "ifstat_tx_compressed": "0",
 +
      "ifstat_tx_fifo_errors": "0",
 +
      "ifstat_tx_window_errors": "0",
 +
      "ifstat_rx_bytes": "40007025",
 +
      "ifstat_rx_dropped": "0",
 +
      "ifstat_rx_frame_errors": "0",
 +
      "ifstat_rx_over_errors": "0",
 +
      "ifstat_tx_bytes": "773783629",
 +
      "ifstat_tx_dropped": "0",
 +
      "ifstat_tx_heartbeat_errors": "0",
 +
      "wlan_essid": "",
 +
      "wlan_apmac": "",
 +
      "wlan_type": "",
 +
      "wlan_hwmode": "",
 +
      "wlan_mode": "",
 +
      "wlan_channel": "",
 +
      "wlan_freq": "",
 +
      "wlan_txpower": "",
 +
      "wlan_signal": "",
 +
      "wlan_noise": "",
 +
      "wlan_bitrate": "",
 +
      "wlan_crypt": "",
 +
      "wlan_vaps": "",
 +
      "db_ver": "0.2",
 +
      "db_update": "1557545828"
 +
    }
 +
  },
 +
  {
 +
    "ifaces": {
 +
      "originator": "",
 +
      "on_olsr_mainip": "192.168.2.50",
 +
      "if_name": "br-lan",
 +
      "if_type_bridge": "eth0.1",
 +
      "if_type_bridgedif": "0",
 +
      "if_hwaddr": "44:d9:e7:55:ee:d2",
 +
      "ip_label": "br-lan",
 +
      "ip_addr": "172.16.0.1/24 fddc:6e66:be51::1/60 fe80::46d9:e7ff:fe55:eed2/64",
 +
      "ip_broadcast": "172.16.0.255",
 +
      "on_networks": "",
 +
      "on_zones": "lan",
 +
      "on_olsr": "0",
 +
      "dhcp_start": "",
 +
      "dhcp_limit": "",
 +
      "dhcp_leasetime": "",
 +
      "dhcp_fwd": "",
 +
      "ifstat_collisions": "0",
 +
      "ifstat_rx_compressed": "0",
 +
      "ifstat_rx_errors": "0",
 +
      "ifstat_rx_length_errors": "0",
 +
      "ifstat_rx_packets": "417553",
 +
      "ifstat_tx_carrier_errors": "0",
 +
      "ifstat_tx_errors": "0",
 +
      "ifstat_tx_packets": "662705",
 +
      "ifstat_multicast": "0",
 +
      "ifstat_rx_crc_errors": "0",
 +
      "ifstat_rx_fifo_errors": "0",
 +
      "ifstat_rx_missed_errors": "0",
 +
      "ifstat_tx_aborted_errors": "0",
 +
      "ifstat_tx_compressed": "0",
 +
      "ifstat_tx_fifo_errors": "0",
 +
      "ifstat_tx_window_errors": "0",
 +
      "ifstat_rx_bytes": "32490951",
 +
      "ifstat_rx_dropped": "0",
 +
      "ifstat_rx_frame_errors": "0",
 +
      "ifstat_rx_over_errors": "0",
 +
      "ifstat_tx_bytes": "767549039",
 +
      "ifstat_tx_dropped": "0",
 +
      "ifstat_tx_heartbeat_errors": "0",
 +
      "wlan_essid": "",
 +
      "wlan_apmac": "",
 +
      "wlan_type": "",
 +
      "wlan_hwmode": "",
 +
      "wlan_mode": "",
 +
      "wlan_channel": "",
 +
      "wlan_freq": "",
 +
      "wlan_txpower": "",
 +
      "wlan_signal": "",
 +
      "wlan_noise": "",
 +
      "wlan_bitrate": "",
 +
      "wlan_crypt": "",
 +
      "wlan_vaps": "",
 +
      "db_ver": "0.2",
 +
      "db_update": "1557545828"
 +
    }
 +
  },
 +
  {
 +
    "ifaces": {
 +
      "originator": "",
 +
      "on_olsr_mainip": "192.168.2.50",
 +
      "if_name": "eth0.2",
 +
      "if_type_bridge": "",
 +
      "if_type_bridgedif": "0",
 +
      "if_hwaddr": "44:d9:e7:55:ee:d2",
 +
      "ip_label": "",
 +
      "ip_addr": "fe80::46d9:e7ff:fe55:eed2/64",
 +
      "ip_broadcast": "",
 +
      "on_networks": "",
 +
      "on_zones": "",
 +
      "on_olsr": "0",
 +
      "dhcp_start": "",
 +
      "dhcp_limit": "",
 +
      "dhcp_leasetime": "",
 +
      "dhcp_fwd": "",
 +
      "ifstat_collisions": "0",
 +
      "ifstat_rx_compressed": "0",
 +
      "ifstat_rx_errors": "0",
 +
      "ifstat_rx_length_errors": "0",
 +
      "ifstat_rx_packets": "0",
 +
      "ifstat_tx_carrier_errors": "0",
 +
      "ifstat_tx_errors": "0",
 +
      "ifstat_tx_packets": "10493",
 +
      "ifstat_multicast": "0",
 +
      "ifstat_rx_crc_errors": "0",
 +
      "ifstat_rx_fifo_errors": "0",
 +
      "ifstat_rx_missed_errors": "0",
 +
      "ifstat_tx_aborted_errors": "0",
 +
      "ifstat_tx_compressed": "0",
 +
      "ifstat_tx_fifo_errors": "0",
 +
      "ifstat_tx_window_errors": "0",
 +
      "ifstat_rx_bytes": "0",
 +
      "ifstat_rx_dropped": "0",
 +
      "ifstat_rx_frame_errors": "0",
 +
      "ifstat_rx_over_errors": "0",
 +
      "ifstat_tx_bytes": "3540798",
 +
      "ifstat_tx_dropped": "0",
 +
      "ifstat_tx_heartbeat_errors": "0",
 +
      "wlan_essid": "",
 +
      "wlan_apmac": "",
 +
      "wlan_type": "",
 +
      "wlan_hwmode": "",
 +
      "wlan_mode": "",
 +
      "wlan_channel": "",
 +
      "wlan_freq": "",
 +
      "wlan_txpower": "",
 +
      "wlan_signal": "",
 +
      "wlan_noise": "",
 +
      "wlan_bitrate": "",
 +
      "wlan_crypt": "",
 +
      "wlan_vaps": "",
 +
      "db_ver": "0.2",
 +
      "db_update": "1557545828"
 +
    }
 +
  },
 +
  {
 +
    "ifaces": {
 +
      "originator": "",
 +
      "on_olsr_mainip": "192.168.2.50",
 +
      "if_name": "tun-on-user",
 +
      "if_type_bridge": "",
 +
      "if_type_bridgedif": "0",
 +
      "if_hwaddr": "",
 +
      "ip_label": "tun-on-user",
 +
      "ip_addr": "10.1.16.198 fe80::7ced:f2a8:2978:14ee/64",
 +
      "ip_broadcast": "10.1.16.197/32",
 +
      "on_networks": "",
 +
      "on_zones": "",
 +
      "on_olsr": "0",
 +
      "dhcp_start": "",
 +
      "dhcp_limit": "",
 +
      "dhcp_leasetime": "",
 +
      "dhcp_fwd": "",
 +
      "ifstat_collisions": "0",
 +
      "ifstat_rx_compressed": "0",
 +
      "ifstat_rx_errors": "0",
 +
      "ifstat_rx_length_errors": "0",
 +
      "ifstat_rx_packets": "30197",
 +
      "ifstat_tx_carrier_errors": "0",
 +
      "ifstat_tx_errors": "0",
 +
      "ifstat_tx_packets": "34605",
 +
      "ifstat_multicast": "0",
 +
      "ifstat_rx_crc_errors": "0",
 +
      "ifstat_rx_fifo_errors": "0",
 +
      "ifstat_rx_missed_errors": "0",
 +
      "ifstat_tx_aborted_errors": "0",
 +
      "ifstat_tx_compressed": "0",
 +
      "ifstat_tx_fifo_errors": "0",
 +
      "ifstat_tx_window_errors": "0",
 +
      "ifstat_rx_bytes": "3654897",
 +
      "ifstat_rx_dropped": "0",
 +
      "ifstat_rx_frame_errors": "0",
 +
      "ifstat_rx_over_errors": "0",
 +
      "ifstat_tx_bytes": "3374529",
 +
      "ifstat_tx_dropped": "0",
 +
      "ifstat_tx_heartbeat_errors": "0",
 +
      "wlan_essid": "",
 +
      "wlan_apmac": "",
 +
      "wlan_type": "",
 +
      "wlan_hwmode": "",
 +
      "wlan_mode": "",
 +
      "wlan_channel": "",
 +
      "wlan_freq": "",
 +
      "wlan_txpower": "",
 +
      "wlan_signal": "",
 +
      "wlan_noise": "",
 +
      "wlan_bitrate": "",
 +
      "wlan_crypt": "",
 +
      "wlan_vaps": "",
 +
      "db_ver": "0.2",
 +
      "db_update": "1557545828"
 +
    }
 +
  },
 +
  {
 +
    "ifaces": {
 +
      "originator": "",
 +
      "on_olsr_mainip": "192.168.2.50",
 +
      "if_name": "eth0.1",
 +
      "if_type_bridge": "",
 +
      "if_type_bridgedif": "1",
 +
      "if_hwaddr": "44:d9:e7:55:ee:d2",
 +
      "ip_label": "",
 +
      "ip_addr": "",
 +
      "ip_broadcast": "",
 +
      "on_networks": "",
 +
      "on_zones": "",
 +
      "on_olsr": "0",
 +
      "dhcp_start": "",
 +
      "dhcp_limit": "",
 +
      "dhcp_leasetime": "",
 +
      "dhcp_fwd": "",
 +
      "ifstat_collisions": "0",
 +
      "ifstat_rx_compressed": "0",
 +
      "ifstat_rx_errors": "0",
 +
      "ifstat_rx_length_errors": "0",
 +
      "ifstat_rx_packets": "417557",
 +
      "ifstat_tx_carrier_errors": "0",
 +
      "ifstat_tx_errors": "0",
 +
      "ifstat_tx_packets": "662708",
 +
      "ifstat_multicast": "55",
 +
      "ifstat_rx_crc_errors": "0",
 +
      "ifstat_rx_fifo_errors": "0",
 +
      "ifstat_rx_missed_errors": "0",
 +
      "ifstat_tx_aborted_errors": "0",
 +
      "ifstat_tx_compressed": "0",
 +
      "ifstat_tx_fifo_errors": "0",
 +
      "ifstat_tx_window_errors": "0",
 +
      "ifstat_rx_bytes": "32491179",
 +
      "ifstat_rx_dropped": "0",
 +
      "ifstat_rx_frame_errors": "0",
 +
      "ifstat_rx_over_errors": "0",
 +
      "ifstat_tx_bytes": "767549798",
 +
      "ifstat_tx_dropped": "0",
 +
      "ifstat_tx_heartbeat_errors": "0",
 +
      "wlan_essid": "",
 +
      "wlan_apmac": "",
 +
      "wlan_type": "",
 +
      "wlan_hwmode": "",
 +
      "wlan_mode": "",
 +
      "wlan_channel": "",
 +
      "wlan_freq": "",
 +
      "wlan_txpower": "",
 +
      "wlan_signal": "",
 +
      "wlan_noise": "",
 +
      "wlan_bitrate": "",
 +
      "wlan_crypt": "",
 +
      "wlan_vaps": "",
 +
      "db_ver": "0.2",
 +
      "db_update": "1557545828"
 +
    }
 +
  },
 +
  {
 +
    "nodes": {
 +
      "originator": "",
 +
      "on_olsr_mainip": "192.168.2.50",
 +
      "on_ipv6_mainip": "fd32:d8d3:87da::44d9:e7ff:fe54:eed2",
 +
      "sys_ver": "Linux 4.14.111",
 +
      "sys_board": "Atheros AR9342 rev 2 Ubiquiti Nanostation M XW",
 +
      "sys_cpu": "MIPS 74Kc V4.12",
 +
      "sys_mem": "60168",
 +
      "sys_uptime": "30737.31",
 +
      "sys_load": "3.51 3.52 3.46",
 +
      "sys_free": "20544",
 +
      "sys_watchdog": "0",
 +
      "sys_os_type": "OpenWrt",
 +
      "sys_os_name": "OpenWrt",
 +
      "sys_os_rel": "0.5.5-unstable-2558-12d53ce2",
 +
      "sys_os_ver": "197-r9851-d1739c6c9a",
 +
      "sys_os_arc": "mips_24kc",
 +
      "sys_os_insttime": "1554898613",
 +
      "on_core_ver": "0.5.5-unstable-2558-12d53ce2",
 +
      "on_core_insttime": "1554898613",
 +
      "on_packages": "on-certificates on-openvpn on-olsr2",
 +
      "on_id": "2.50",
 +
      "on_olsrd_status": "1",
 +
      "on_wifidog_status": "",
 +
      "on_wifidog_id": "",
 +
      "on_vpn_cn": "2.50.aps.on",
 +
      "on_vpn_status": "1",
 +
      "on_vpn_gw": "192.168.2.166",
 +
      "on_vpn_autosearch": "1",
 +
      "on_vpn_sort": "etx",
 +
      "on_vpn_gws": "192.168.0.245:true:55 192.168.1.220:: 192.168.1.31:: 192.168.1.221:: 192.168.2.254:: 192.168.2.230:: 192.168.2.80:: 192.168.2.146:: 192.168.2.247:: 192.168.3.30:: 192.168.3.4:: 192.168.2.140:: 192.168.1.120:true:66 192.168.1.31:: 192.168.3.97:: 192.168.1.221:: 192.168.2.254:: 192.168.2.230:: 192.168.2.146:: 192.168.3.30:: 192.168.1.45:: 192.168.3.4:: 192.168.2.147:true:14 192.168.3.56:: 192.168.2.140:: 192.168.2.189:true:196 192.168.2.165:: 192.168.0.247:true:51 192.168.3.97:: 192.168.2.254:true:26 192.168.2.230:: 192.168.2.146:: 192.168.3.98:: 192.168.3.86:: 192.168.1.45:: 192.168.3.4:: 192.168.2.147:true:11 192.168.2.209:: 192.168.3.56:: 192.168.2.140:: 192.168.1.120:true:60 192.168.2.189:: 192.168.2.165:: 192.168.3.97:: 192.168.1.40:: 192.168.1.17:: 192.168.2.166:true:6 192.168.3.98:: 192.168.3.86:: 192.168.1.45:: 192.168.2.147:true:21 192.168.3.16:: 192.168.2.209:: 192.168.1.94:: 192.168.3.56:: 192.168.2.101:: 192.168.2.189:true:41 192.168.2.165:: 192.168.3.58:: 192.168.1.40:: 192.168.1.17:: 192.168.3.98:: 192.168.3.86:: 192.168.2.190:: 192.168.1.170:: 192.168.1.135:: 192.168.3.16:: 192.168.2.209:: 192.168.2.101:: 192.168.2.246:: 192.168.1.189:false:55 192.168.3.58:: 192.168.1.40:: 192.168.1.17:: 192.168.2.166:true:29 192.168.2.190:true:35 192.168.1.170:: 192.168.1.135:: 192.168.3.16:: 192.168.1.220:: 192.168.2.101:: 192.168.2.246:: 192.168.2.80:: 192.168.1.189:false:55 192.168.2.247:: 192.168.3.58:: 192.168.2.190:true:44 192.168.1.170:: 192.168.1.135:: 192.168.1.220:: 192.168.1.31:: 192.168.1.221:: 192.168.2.246:: 192.168.2.80:: 192.168.1.189:false:56 192.168.2.247:: 192.168.3.30::",
 +
      "on_vpn_blist": "",
 +
      "on_ugw_status": "",
 +
      "on_ugw_enabled": "",
 +
      "on_ugw_possible": "",
 +
      "on_ugw_tunnel": "",
 +
      "on_ugw_connected": "",
 +
      "on_ugw_presetips": "",
 +
      "on_ugw_presetnames": "",
 +
      "on_old_autoadapttxpwr": "",
 +
      "on_old_remoteconf": "",
 +
      "db_time": "Sat May 11 05:38:03 CEST 2019",
 +
      "db_epoch": "1557545828",
 +
      "db_ver": "0.2",
 +
      "db_update": "1557545828"
 +
    }
 +
  }
 +
]
 +
</pre>
  
 
=Tools=
 
=Tools=

Aktuelle Version vom 11. Mai 2019, 18:55 Uhr

Inhaltsverzeichnis

[Bearbeiten] Übersicht

NetJSON ist ein JSON-basiertes Datenformat (RFC http://netjson.org/rfc.html) zu Repräsentation eines Netzwerks und seine Geräte. Ziele sind:

  • einheitliche Darstellung
  • die Konfiguration der Geräte zu repräsentieren
  • Monitoring Daten zu transportieren
  • Topologiedaten zu ermitteln
  • in einem abstrakten JSON Format Daten speichern und in konkrete Implementierungen transformieren

Es ist beispielweise möglich im NetJSON Format die Konfiguration von vielen unterschiedlichen Netzwerkgeräten unterschiedlicher Hersteller zu speichern.

[Bearbeiten] Configuration Management

Aktiv wird netjsonconfig im Rahmen des OpenWisp Projekts genutzt. Hier wird die Konfiguration aus vielen Geräten ausgerollt. Hier gibt es OpenWRT, OpenVPN und experimentellen AirOS Support.

[Bearbeiten] Monitoring

Für Monitoring scheint NetJSON noch nicht im großen Stil genutzt zu werden. Es gibt nur wenige Tools hier.

Es gab 2017 ein sehr interessantes Google Summer of code Projekt: http://netjson.org/docs/gsoc-2017.html#implement-netjson-devicemonitoring-in-ubus-openwrt-lede . Leider wurde dies nie umgesetzt.

[Bearbeiten] Opennet

In Opennet haben wir mehrere denkbare Möglichkeiten zur Nutzung. Beispielsweise:

  • Derzeit nutzen wir für das Monitoring das on_dataservice olsrv1 Plugin. Mit NetJSON könnte man hier mehr Standardisierung schaffen. Es wäre die Hoffnung, dass auch fertige Tools hier verfügbar sind.
  • Von Opennet Knoten die Config in NetJSON abspeichern, sodass die Konfiguration auf einfache Art und Weise in ein neues Gerät eingespielt werden können.

[Bearbeiten] on_dataservice (Monitoring)

[Bearbeiten] ondataservices durch NetJSON ablösen?

Für die Inventarisierung werden derzeit mit OLSRv1 und dem ondataservices Plugin Daten der APs eingesammelt. Es stand die Frage im Raum, ob wir diese Eigenentwicklung auf einen Standardmechanismen ändern wollen/können. Hierzu wurde sich NetJSON angeschaut. NetJSON scheint für Konfigurationsmanagement gut verwendbar zu sein. Hier gibt es auch Tools. Für unseren konkreten Fall gibt es jedoch nur wenig Mehrwert. Es gibt bei uns bereits eine JSON Datei, welche als Nachfolge von ondataservice existiert. Das Format zu ändern und auf einen Standard zu wechseln, hat nur wenig Mehrwert derzeit.

[Bearbeiten] Migration auf NetJSON

Wenn man auf NetJSON migrieren möchte, müsste folgendes getan werden:

  • Daten, welche derzeit in ondataservices vorhanden sind in NetJSON abbilden
  • Auf dem Mesh-Knoten müssen das NetJSON erzeugt werden.
  • Die API muss NetJSON importieren können.

[Bearbeiten] Fragen

  • Welche Daten gibt es derzeit in on_dataservice?
  • Gibt es diese bereits in NetJSON?


Folgendes reales Beispiel der on_dataservice Daten gibt es:

	[
	  {
	    "ifaces": {
	      "originator": "",
	      "on_olsr_mainip": "192.168.2.50",
	      "if_name": "wlan0",
	      "if_type_bridge": "",
	      "if_type_bridgedif": "0",
	      "if_hwaddr": "44:d9:e7:54:ee:d2",
	      "ip_label": "wlan0",
	      "ip_addr": "192.168.2.50/16 fe80::46d9:e7ff:fe54:eed2/64",
	      "ip_broadcast": "192.168.255.255",
	      "on_networks": "",
	      "on_zones": "",
	      "on_olsr": "1",
	      "dhcp_start": "",
	      "dhcp_limit": "",
	      "dhcp_leasetime": "",
	      "dhcp_fwd": "",
	      "ifstat_collisions": "0",
	      "ifstat_rx_compressed": "0",
	      "ifstat_rx_errors": "0",
	      "ifstat_rx_length_errors": "0",
	      "ifstat_rx_packets": "948338",
	      "ifstat_tx_carrier_errors": "0",
	      "ifstat_tx_errors": "0",
	      "ifstat_tx_packets": "638845",
	      "ifstat_multicast": "0",
	      "ifstat_rx_crc_errors": "0",
	      "ifstat_rx_fifo_errors": "0",
	      "ifstat_rx_missed_errors": "0",
	      "ifstat_tx_aborted_errors": "0",
	      "ifstat_tx_compressed": "0",
	      "ifstat_tx_fifo_errors": "0",
	      "ifstat_tx_window_errors": "0",
	      "ifstat_rx_bytes": "1091373999",
	      "ifstat_rx_dropped": "0",
	      "ifstat_rx_frame_errors": "0",
	      "ifstat_rx_over_errors": "0",
	      "ifstat_tx_bytes": "218444449",
	      "ifstat_tx_dropped": "0",
	      "ifstat_tx_heartbeat_errors": "0",
	      "wlan_essid": "Rundstrahler-Z10.on-i.de",
	      "wlan_apmac": "44:D9:E7:54:EE:D2",
	      "wlan_type": "nl80211",
	      "wlan_hwmode": "802.11an",
	      "wlan_mode": "Client",
	      "wlan_channel": "44",
	      "wlan_freq": "5.220",
	      "wlan_txpower": "20",
	      "wlan_signal": "-68",
	      "wlan_noise": "-95",
	      "wlan_bitrate": "39.0",
	      "wlan_crypt": "          none",
	      "wlan_vaps": "yes",
	      "db_ver": "0.2",
	      "db_update": "1557545828"
	    }
	  },
	  {
	    "ifaces": {
	      "originator": "",
	      "on_olsr_mainip": "192.168.2.50",
	      "if_name": "eth0",
	      "if_type_bridge": "",
	      "if_type_bridgedif": "0",
	      "if_hwaddr": "44:d9:e7:55:ee:d2",
	      "ip_label": "",
	      "ip_addr": "fe80::46d9:e7ff:fe55:eed2/64",
	      "ip_broadcast": "",
	      "on_networks": "",
	      "on_zones": "",
	      "on_olsr": "0",
	      "dhcp_start": "",
	      "dhcp_limit": "",
	      "dhcp_leasetime": "",
	      "dhcp_fwd": "",
	      "ifstat_collisions": "0",
	      "ifstat_rx_compressed": "0",
	      "ifstat_rx_errors": "0",
	      "ifstat_rx_length_errors": "0",
	      "ifstat_rx_packets": "417555",
	      "ifstat_tx_carrier_errors": "0",
	      "ifstat_tx_errors": "0",
	      "ifstat_tx_packets": "673210",
	      "ifstat_multicast": "0",
	      "ifstat_rx_crc_errors": "0",
	      "ifstat_rx_fifo_errors": "0",
	      "ifstat_rx_missed_errors": "0",
	      "ifstat_tx_aborted_errors": "0",
	      "ifstat_tx_compressed": "0",
	      "ifstat_tx_fifo_errors": "0",
	      "ifstat_tx_window_errors": "0",
	      "ifstat_rx_bytes": "40007025",
	      "ifstat_rx_dropped": "0",
	      "ifstat_rx_frame_errors": "0",
	      "ifstat_rx_over_errors": "0",
	      "ifstat_tx_bytes": "773783629",
	      "ifstat_tx_dropped": "0",
	      "ifstat_tx_heartbeat_errors": "0",
	      "wlan_essid": "",
	      "wlan_apmac": "",
	      "wlan_type": "",
	      "wlan_hwmode": "",
	      "wlan_mode": "",
	      "wlan_channel": "",
	      "wlan_freq": "",
	      "wlan_txpower": "",
	      "wlan_signal": "",
	      "wlan_noise": "",
	      "wlan_bitrate": "",
	      "wlan_crypt": "",
	      "wlan_vaps": "",
	      "db_ver": "0.2",
	      "db_update": "1557545828"
	    }
	  },
	  {
	    "ifaces": {
	      "originator": "",
	      "on_olsr_mainip": "192.168.2.50",
	      "if_name": "br-lan",
	      "if_type_bridge": "eth0.1",
	      "if_type_bridgedif": "0",
	      "if_hwaddr": "44:d9:e7:55:ee:d2",
	      "ip_label": "br-lan",
	      "ip_addr": "172.16.0.1/24 fddc:6e66:be51::1/60 fe80::46d9:e7ff:fe55:eed2/64",
	      "ip_broadcast": "172.16.0.255",
	      "on_networks": "",
	      "on_zones": "lan",
	      "on_olsr": "0",
	      "dhcp_start": "",
	      "dhcp_limit": "",
	      "dhcp_leasetime": "",
	      "dhcp_fwd": "",
	      "ifstat_collisions": "0",
	      "ifstat_rx_compressed": "0",
	      "ifstat_rx_errors": "0",
	      "ifstat_rx_length_errors": "0",
	      "ifstat_rx_packets": "417553",
	      "ifstat_tx_carrier_errors": "0",
	      "ifstat_tx_errors": "0",
	      "ifstat_tx_packets": "662705",
	      "ifstat_multicast": "0",
	      "ifstat_rx_crc_errors": "0",
	      "ifstat_rx_fifo_errors": "0",
	      "ifstat_rx_missed_errors": "0",
	      "ifstat_tx_aborted_errors": "0",
	      "ifstat_tx_compressed": "0",
	      "ifstat_tx_fifo_errors": "0",
	      "ifstat_tx_window_errors": "0",
	      "ifstat_rx_bytes": "32490951",
	      "ifstat_rx_dropped": "0",
	      "ifstat_rx_frame_errors": "0",
	      "ifstat_rx_over_errors": "0",
	      "ifstat_tx_bytes": "767549039",
	      "ifstat_tx_dropped": "0",
	      "ifstat_tx_heartbeat_errors": "0",
	      "wlan_essid": "",
	      "wlan_apmac": "",
	      "wlan_type": "",
	      "wlan_hwmode": "",
	      "wlan_mode": "",
	      "wlan_channel": "",
	      "wlan_freq": "",
	      "wlan_txpower": "",
	      "wlan_signal": "",
	      "wlan_noise": "",
	      "wlan_bitrate": "",
	      "wlan_crypt": "",
	      "wlan_vaps": "",
	      "db_ver": "0.2",
	      "db_update": "1557545828"
	    }
	  },
	  {
	    "ifaces": {
	      "originator": "",
	      "on_olsr_mainip": "192.168.2.50",
	      "if_name": "eth0.2",
	      "if_type_bridge": "",
	      "if_type_bridgedif": "0",
	      "if_hwaddr": "44:d9:e7:55:ee:d2",
	      "ip_label": "",
	      "ip_addr": "fe80::46d9:e7ff:fe55:eed2/64",
	      "ip_broadcast": "",
	      "on_networks": "",
	      "on_zones": "",
	      "on_olsr": "0",
	      "dhcp_start": "",
	      "dhcp_limit": "",
	      "dhcp_leasetime": "",
	      "dhcp_fwd": "",
	      "ifstat_collisions": "0",
	      "ifstat_rx_compressed": "0",
	      "ifstat_rx_errors": "0",
	      "ifstat_rx_length_errors": "0",
	      "ifstat_rx_packets": "0",
	      "ifstat_tx_carrier_errors": "0",
	      "ifstat_tx_errors": "0",
	      "ifstat_tx_packets": "10493",
	      "ifstat_multicast": "0",
	      "ifstat_rx_crc_errors": "0",
	      "ifstat_rx_fifo_errors": "0",
	      "ifstat_rx_missed_errors": "0",
	      "ifstat_tx_aborted_errors": "0",
	      "ifstat_tx_compressed": "0",
	      "ifstat_tx_fifo_errors": "0",
	      "ifstat_tx_window_errors": "0",
	      "ifstat_rx_bytes": "0",
	      "ifstat_rx_dropped": "0",
	      "ifstat_rx_frame_errors": "0",
	      "ifstat_rx_over_errors": "0",
	      "ifstat_tx_bytes": "3540798",
	      "ifstat_tx_dropped": "0",
	      "ifstat_tx_heartbeat_errors": "0",
	      "wlan_essid": "",
	      "wlan_apmac": "",
	      "wlan_type": "",
	      "wlan_hwmode": "",
	      "wlan_mode": "",
	      "wlan_channel": "",
	      "wlan_freq": "",
	      "wlan_txpower": "",
	      "wlan_signal": "",
	      "wlan_noise": "",
	      "wlan_bitrate": "",
	      "wlan_crypt": "",
	      "wlan_vaps": "",
	      "db_ver": "0.2",
	      "db_update": "1557545828"
	    }
	  },
	  {
	    "ifaces": {
	      "originator": "",
	      "on_olsr_mainip": "192.168.2.50",
	      "if_name": "tun-on-user",
	      "if_type_bridge": "",
	      "if_type_bridgedif": "0",
	      "if_hwaddr": "",
	      "ip_label": "tun-on-user",
	      "ip_addr": "10.1.16.198 fe80::7ced:f2a8:2978:14ee/64",
	      "ip_broadcast": "10.1.16.197/32",
	      "on_networks": "",
	      "on_zones": "",
	      "on_olsr": "0",
	      "dhcp_start": "",
	      "dhcp_limit": "",
	      "dhcp_leasetime": "",
	      "dhcp_fwd": "",
	      "ifstat_collisions": "0",
	      "ifstat_rx_compressed": "0",
	      "ifstat_rx_errors": "0",
	      "ifstat_rx_length_errors": "0",
	      "ifstat_rx_packets": "30197",
	      "ifstat_tx_carrier_errors": "0",
	      "ifstat_tx_errors": "0",
	      "ifstat_tx_packets": "34605",
	      "ifstat_multicast": "0",
	      "ifstat_rx_crc_errors": "0",
	      "ifstat_rx_fifo_errors": "0",
	      "ifstat_rx_missed_errors": "0",
	      "ifstat_tx_aborted_errors": "0",
	      "ifstat_tx_compressed": "0",
	      "ifstat_tx_fifo_errors": "0",
	      "ifstat_tx_window_errors": "0",
	      "ifstat_rx_bytes": "3654897",
	      "ifstat_rx_dropped": "0",
	      "ifstat_rx_frame_errors": "0",
	      "ifstat_rx_over_errors": "0",
	      "ifstat_tx_bytes": "3374529",
	      "ifstat_tx_dropped": "0",
	      "ifstat_tx_heartbeat_errors": "0",
	      "wlan_essid": "",
	      "wlan_apmac": "",
	      "wlan_type": "",
	      "wlan_hwmode": "",
	      "wlan_mode": "",
	      "wlan_channel": "",
	      "wlan_freq": "",
	      "wlan_txpower": "",
	      "wlan_signal": "",
	      "wlan_noise": "",
	      "wlan_bitrate": "",
	      "wlan_crypt": "",
	      "wlan_vaps": "",
	      "db_ver": "0.2",
	      "db_update": "1557545828"
	    }
	  },
	  {
	    "ifaces": {
	      "originator": "",
	      "on_olsr_mainip": "192.168.2.50",
	      "if_name": "eth0.1",
	      "if_type_bridge": "",
	      "if_type_bridgedif": "1",
	      "if_hwaddr": "44:d9:e7:55:ee:d2",
	      "ip_label": "",
	      "ip_addr": "",
	      "ip_broadcast": "",
	      "on_networks": "",
	      "on_zones": "",
	      "on_olsr": "0",
	      "dhcp_start": "",
	      "dhcp_limit": "",
	      "dhcp_leasetime": "",
	      "dhcp_fwd": "",
	      "ifstat_collisions": "0",
	      "ifstat_rx_compressed": "0",
	      "ifstat_rx_errors": "0",
	      "ifstat_rx_length_errors": "0",
	      "ifstat_rx_packets": "417557",
	      "ifstat_tx_carrier_errors": "0",
	      "ifstat_tx_errors": "0",
	      "ifstat_tx_packets": "662708",
	      "ifstat_multicast": "55",
	      "ifstat_rx_crc_errors": "0",
	      "ifstat_rx_fifo_errors": "0",
	      "ifstat_rx_missed_errors": "0",
	      "ifstat_tx_aborted_errors": "0",
	      "ifstat_tx_compressed": "0",
	      "ifstat_tx_fifo_errors": "0",
	      "ifstat_tx_window_errors": "0",
	      "ifstat_rx_bytes": "32491179",
	      "ifstat_rx_dropped": "0",
	      "ifstat_rx_frame_errors": "0",
	      "ifstat_rx_over_errors": "0",
	      "ifstat_tx_bytes": "767549798",
	      "ifstat_tx_dropped": "0",
	      "ifstat_tx_heartbeat_errors": "0",
	      "wlan_essid": "",
	      "wlan_apmac": "",
	      "wlan_type": "",
	      "wlan_hwmode": "",
	      "wlan_mode": "",
	      "wlan_channel": "",
	      "wlan_freq": "",
	      "wlan_txpower": "",
	      "wlan_signal": "",
	      "wlan_noise": "",
	      "wlan_bitrate": "",
	      "wlan_crypt": "",
	      "wlan_vaps": "",
	      "db_ver": "0.2",
	      "db_update": "1557545828"
	    }
	  },
	  {
	    "nodes": {
	      "originator": "",
	      "on_olsr_mainip": "192.168.2.50",
	      "on_ipv6_mainip": "fd32:d8d3:87da::44d9:e7ff:fe54:eed2",
	      "sys_ver": "Linux 4.14.111",
	      "sys_board": "Atheros AR9342 rev 2 Ubiquiti Nanostation M XW",
	      "sys_cpu": "MIPS 74Kc V4.12",
	      "sys_mem": "60168",
	      "sys_uptime": "30737.31",
	      "sys_load": "3.51 3.52 3.46",
	      "sys_free": "20544",
	      "sys_watchdog": "0",
	      "sys_os_type": "OpenWrt",
	      "sys_os_name": "OpenWrt",
	      "sys_os_rel": "0.5.5-unstable-2558-12d53ce2",
	      "sys_os_ver": "197-r9851-d1739c6c9a",
	      "sys_os_arc": "mips_24kc",
	      "sys_os_insttime": "1554898613",
	      "on_core_ver": "0.5.5-unstable-2558-12d53ce2",
	      "on_core_insttime": "1554898613",
	      "on_packages": "on-certificates on-openvpn on-olsr2",
	      "on_id": "2.50",
	      "on_olsrd_status": "1",
	      "on_wifidog_status": "",
	      "on_wifidog_id": "",
	      "on_vpn_cn": "2.50.aps.on",
	      "on_vpn_status": "1",
	      "on_vpn_gw": "192.168.2.166",
	      "on_vpn_autosearch": "1",
	      "on_vpn_sort": "etx",
	      "on_vpn_gws": "192.168.0.245:true:55 192.168.1.220:: 192.168.1.31:: 192.168.1.221:: 192.168.2.254:: 192.168.2.230:: 192.168.2.80:: 192.168.2.146:: 192.168.2.247:: 192.168.3.30:: 192.168.3.4:: 192.168.2.140:: 192.168.1.120:true:66 192.168.1.31:: 192.168.3.97:: 192.168.1.221:: 192.168.2.254:: 192.168.2.230:: 192.168.2.146:: 192.168.3.30:: 192.168.1.45:: 192.168.3.4:: 192.168.2.147:true:14 192.168.3.56:: 192.168.2.140:: 192.168.2.189:true:196 192.168.2.165:: 192.168.0.247:true:51 192.168.3.97:: 192.168.2.254:true:26 192.168.2.230:: 192.168.2.146:: 192.168.3.98:: 192.168.3.86:: 192.168.1.45:: 192.168.3.4:: 192.168.2.147:true:11 192.168.2.209:: 192.168.3.56:: 192.168.2.140:: 192.168.1.120:true:60 192.168.2.189:: 192.168.2.165:: 192.168.3.97:: 192.168.1.40:: 192.168.1.17:: 192.168.2.166:true:6 192.168.3.98:: 192.168.3.86:: 192.168.1.45:: 192.168.2.147:true:21 192.168.3.16:: 192.168.2.209:: 192.168.1.94:: 192.168.3.56:: 192.168.2.101:: 192.168.2.189:true:41 192.168.2.165:: 192.168.3.58:: 192.168.1.40:: 192.168.1.17:: 192.168.3.98:: 192.168.3.86:: 192.168.2.190:: 192.168.1.170:: 192.168.1.135:: 192.168.3.16:: 192.168.2.209:: 192.168.2.101:: 192.168.2.246:: 192.168.1.189:false:55 192.168.3.58:: 192.168.1.40:: 192.168.1.17:: 192.168.2.166:true:29 192.168.2.190:true:35 192.168.1.170:: 192.168.1.135:: 192.168.3.16:: 192.168.1.220:: 192.168.2.101:: 192.168.2.246:: 192.168.2.80:: 192.168.1.189:false:55 192.168.2.247:: 192.168.3.58:: 192.168.2.190:true:44 192.168.1.170:: 192.168.1.135:: 192.168.1.220:: 192.168.1.31:: 192.168.1.221:: 192.168.2.246:: 192.168.2.80:: 192.168.1.189:false:56 192.168.2.247:: 192.168.3.30::",
	      "on_vpn_blist": "",
	      "on_ugw_status": "",
	      "on_ugw_enabled": "",
	      "on_ugw_possible": "",
	      "on_ugw_tunnel": "",
	      "on_ugw_connected": "",
	      "on_ugw_presetips": "",
	      "on_ugw_presetnames": "",
	      "on_old_autoadapttxpwr": "",
	      "on_old_remoteconf": "",
	      "db_time": "Sat May 11 05:38:03 CEST 2019",
	      "db_epoch": "1557545828",
	      "db_ver": "0.2",
	      "db_update": "1557545828"
	    }
	  }
	]

[Bearbeiten] Tools

TODO

  • Welche Tools gibt es bereits für NetJSON?
  • Was können diese Tools? (Bspw. Generieren von NetJSON in OpenWrt?)
  • Können wir diese nutzen?
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge