Ondataservice: Unterschied zwischen den Versionen
(Kat.) |
Lars (Diskussion | Beiträge) (Beschreibung der Verbindung von get_ap_data.py und ondataservice) |
||
Zeile 52: | Zeile 52: | ||
= Aktuelle Installationen = | = Aktuelle Installationen = | ||
− | |||
− | Auf www.on-i.de läuft ein ondataservice- | + | == Übertragung der Statusinformationen == |
+ | Abhängig von der Firmware-Version werden die Informationen jedes APs entweder per Push (neue Firmware, via OLSR) oder per Pull (alte Firmware, Abfrage via http) übertragen. | ||
+ | |||
+ | === Aktuelle Firmware === | ||
+ | ''Dieser Modus gilt für die Firmware-Versionen ab ''0.3-8'' und die AirOS-Anpassungen ab Version ''opennet0.5''.'' | ||
+ | |||
+ | Das olsrd-Plugin ''ondataservice'' versendet periodisch die lokalen AP-Informationen in Form eines JSON-Datensatzes. | ||
+ | |||
+ | === Ältere Firmware === | ||
+ | ''Dies gilt beispielsweise für Version ON5.'' | ||
+ | |||
+ | Auf inez.on-i.de läuft täglich ein Skript [http://absorb.it/software/opennet/ondataservice/get_ap_data.py] welches die Daten der Opennet-Accesspoints mit alter Firmware abfragt. | ||
+ | Dazu werden von allen 192.168.x.y-Hosts, die ''inez'' erreichen kann, die URL ''/cgi-bin-status.html'' abgerufen ([http://192.168.1.15/cgi-bin-status.html Beispiel]). | ||
+ | |||
+ | Die Kurzzusammenfassung des letzten Abrufs ist auf ''inez'' im Verzeichnis ''/home/rene/APData/lastrun.log'' zu finden. | ||
+ | Die folgenden Markierung sind dabei besonders interessant: | ||
+ | * ''old statuspage missing'': die Seite ''/cgi-bin-status.html'' ist nicht abrufbar -> auf diesem Weg sind keine Informationen abrufbar | ||
+ | * ''++done'': die Abfrage war erfolgreich | ||
+ | |||
+ | Die hierbei gesammelten Daten aller alten APs werden von dem ''ondataservice''-Plugin auf ''inez'' via OLSR verteilt (''spreadall=true''). Dies erlaubt jedem Datensammler den kompletten Datensatz (alte und neue Firmware) allein aus den OLSR-Daten zu beziehen. | ||
+ | |||
+ | == Schnittstelle zum Wiki == | ||
+ | Auf www.on-i.de läuft ein ''ondataservice''-Plugin, welches alle empfangenen Daten speichert. Diese werden über die [[Extension:APData]] (vgl. auch [http://absorb.it/software/opennet/ondataservice/APData.php]) zur Verfügung gestellt und können im Wiki genutzt werden. | ||
= Quellcode / Eigenbau = | = Quellcode / Eigenbau = | ||
Zeile 76: | Zeile 97: | ||
uci commit olsrd | uci commit olsrd | ||
/etc/init.d/olsrd restart | /etc/init.d/olsrd restart | ||
+ | |||
== Firmware-Update == | == Firmware-Update == | ||
Ab Version 0.3-8 ist ondataservice_light Teil der neuen Opennet Firmware. Die AirOS-Anpassung für Opennet enthält ab Version opennet0.5 ondataservice_light. | Ab Version 0.3-8 ist ondataservice_light Teil der neuen Opennet Firmware. Die AirOS-Anpassung für Opennet enthält ab Version opennet0.5 ondataservice_light. |
Version vom 26. Juni 2012, 11:59 Uhr
Inhaltsverzeichnis |
olsr ondataservice plugin
Das Plugin dient zur Verteilung der Konfigurations- und Statusinformationen im Opennet. Es gibt zwei Versionen, eine light-version, die nur Daten senden kann und eine komplette Version, die Daten senden und emfangen kann. Als Datenquelle nutzt die Light-Version ein JSON-Datenfile, die komplette Version eine SQlite3-Datenbank.
Die aktuelle Version (binaries und ipk-pakete) kann unter http://absorb.it/software/opennet/ondataservice/ heruntergeladen werden.
Konfiguration: ondataservice_light
Standard-Version die als Teil der neuen Firmware ausgeliefert wird (keine Möglichkeit zum Empfangen der Daten, nur senden)
PlParam "interval" "SEC" interval for sending the DATABASE in seconds. (default: 10800 - 3 hours) PlParam "inc_interval" "SEC" interval for continously sending TABLES from DATABASE in seconds. (default: 5 seconds) PlParam "database" "/path/to/database" Path to the database (json)
Konfiguration: ondataservice (full version)
Voll-Version mit SQlite-Schnittstelle, Kann Daten senden und empfangen.
PlParam "interval" "SEC" interval for sending the DATABASE in seconds. (default: 10800 - 3 hours) PlParam "inc_interval" "SEC" interval for continously sending TABLES from DATABASE in seconds. (default: 5 seconds) PlParam "cleanup_interval" "SEC" Interval how often DATABASE should be checked for old DATASETS. (default: 1800 - 0.5 hours) PlParam "timeout" "SEC" validity time for received NAME messages in seconds. (default: 21600 - 6 hours) PlParam "database" "/path/to/database" Path to the database PlParam "receive" "false|true" Set to true if you like to receive and store the values. Otherwise the values from other Nodes are ignored. (default: false - not stored) PlParam "spreadall" "false|true" Set to true if you like to spread all data from the database. (default: false - only data for own mainip is spreaded)
Aktuelle Installationen
Übertragung der Statusinformationen
Abhängig von der Firmware-Version werden die Informationen jedes APs entweder per Push (neue Firmware, via OLSR) oder per Pull (alte Firmware, Abfrage via http) übertragen.
Aktuelle Firmware
Dieser Modus gilt für die Firmware-Versionen ab 0.3-8 und die AirOS-Anpassungen ab Version opennet0.5.
Das olsrd-Plugin ondataservice versendet periodisch die lokalen AP-Informationen in Form eines JSON-Datensatzes.
Ältere Firmware
Dies gilt beispielsweise für Version ON5.
Auf inez.on-i.de läuft täglich ein Skript [1] welches die Daten der Opennet-Accesspoints mit alter Firmware abfragt. Dazu werden von allen 192.168.x.y-Hosts, die inez erreichen kann, die URL /cgi-bin-status.html abgerufen (Beispiel).
Die Kurzzusammenfassung des letzten Abrufs ist auf inez im Verzeichnis /home/rene/APData/lastrun.log zu finden. Die folgenden Markierung sind dabei besonders interessant:
- old statuspage missing: die Seite /cgi-bin-status.html ist nicht abrufbar -> auf diesem Weg sind keine Informationen abrufbar
- ++done: die Abfrage war erfolgreich
Die hierbei gesammelten Daten aller alten APs werden von dem ondataservice-Plugin auf inez via OLSR verteilt (spreadall=true). Dies erlaubt jedem Datensammler den kompletten Datensatz (alte und neue Firmware) allein aus den OLSR-Daten zu beziehen.
Schnittstelle zum Wiki
Auf www.on-i.de läuft ein ondataservice-Plugin, welches alle empfangenen Daten speichert. Diese werden über die Extension:APData (vgl. auch [2]) zur Verfügung gestellt und können im Wiki genutzt werden.
Quellcode / Eigenbau
ondataservice plugin
git clone git://absorb.it/olsrd-0.6.2 cd olsrd-0.6.2 make ondataservice make ondataservice_light
olsr mit plugin als Teil von openwrt backfire
Im Verzeichnis (backfire)/feeds/packages/net findet sich das Verzeichnis von olsr. Dies kann einfach ersetzt werden, bspw. durch http://absorb.it/software/opennet/ondataservice/olsrd_0.6.2.tgz oder http://absorb.it/software/opennet/ondataservice/olsrd_0.6.1.tgz (je nach gewünschter olsrd-Version). Im Verzeichnis ist ein patch (023), welcher die Erweiterungen einbindet. Ausserdem ist das Makefile für die Erweiterungen modifiziert.
Ergänzung auf eigenem AP (neue Firmware)
Anpassung per Hand
- die Datei status_values.sh in das (evtl. zu erstellende) Verzeichnis /etc/cron.daily/ kopieren
- das zur Hardware und olsrd-Version passende ondataservices_light-plugin installieren
- das plugin aktivieren (achtung, olsrd muss neu gestartet werden, also nich remote machen)
section=$(uci add olsrd LoadPlugin) uci set olsrd.$section.library=olsrd_ondataservice_light.so.0.1 uci commit olsrd /etc/init.d/olsrd restart
Firmware-Update
Ab Version 0.3-8 ist ondataservice_light Teil der neuen Opennet Firmware. Die AirOS-Anpassung für Opennet enthält ab Version opennet0.5 ondataservice_light.
Tabellen-Übersicht
nodes
PRIMARY KEY (mainip) ON CONFLICT REPLACE
Feld-Name | Bsp. Alte Firmware | Bsp. Neue Firmware |
---|---|---|
originator | 172.16.0.23 | |
mainip | 192.168.1.243 | 192.168.2.19 |
sys_ver | Linux 2.6.32.27 | |
sys_board | 0x0467/42 | Atheros AR9132 rev 2 |
sys_cpu | MIPS 24Kc V7.4 | |
sys_mem | 29536 | |
sys_uptime | 20 days, 17:03 | 1801658.05 |
sys_load | 0.27, 0.12, 0.10 | 0.35 0.09 0.03 |
sys_free | 2716 | |
sys_watchdog | 1 | |
sys_os_type | OpenWrt | OpenWrt |
sys_os_name | WHITE RUSSIAN (0.9-ON5) | backfire |
sys_os_rel | 10.03 | |
sys_os_ver | 43.15-r26741 | |
sys_os_arc | ar71xx | |
sys_os_insttime | 1310573386 | |
on_core_ver | 0.11ipkg-13 | 0.3-7 |
on_core_insttime | 1310573392 | |
on_packages | on-usergw on-wifidog on-openvpn | |
on_id | 1.243 | 2.19 |
on_olsrd_status | 1 | |
on_olsrd_mainip | 192.168.1.243 | 192.168.2.19 |
on_wifidog_status | 0 | 1 |
on_wifidog_id | AP2.19 | |
on_vpn_cn | 2.19.aps.on | |
on_vpn_status | 1 | 1 |
on_vpn_gw | 192.168.0.248 | 192.168.0.244 |
on_vpn_autosearch | 0 | 0 |
on_vpn_sort | metric | |
on_vpn_gws | 192.168.0.248:y:8 192.168.0.247:y:8 192.168.0.254:y:7 | 192.168.0.244:y:1 192.168.0.254:y:12 192.168.0.248:y:16 192.168.0.247:y:1 |
on_vpn_blist | ||
on_ugw_status | 0 | 0 |
on_ugw_enabled | 0 | 0 |
on_ugw_possible | 0 | |
on_ugw_tunnel | 0 | |
on_ugw_connected | ||
on_ugw_presetips | 192.168.0.247 192.168.0.251 | |
on_ugw_presetnames | erina.on-i.de nagare.on-i.de | |
on_old_autoadapttxpwr | 0 | |
on_old_remoteconf | 1 | |
db_time | Mon Oct 31 15:53:01 2011 | Mon Oct 31 14:37:09 UTC 2011 |
db_epoch | 1320072781 | 1320071825 |
db_ver | 0.1 | 0.2 |
db_update | 1320081762 | 1320071825 |
ifaces
PRIMARY KEY (mainip, if_name) ON CONFLICT REPLACE
Feld-Name | Bsp. Alte Firmware | Bsp. Neue Firmware |
---|---|---|
originator | 192.168.10.3 | 192.168.1.23 |
mainip | 192.168.1.171 | 192.168.1.23 |
if_name | eth1:0 | wlan0 |
if_type_bridge | ||
if_type_bridgedif | 1 | |
if_hwaddr | 00:16:B6:B1:0A:33 | 54:e6:fc:cc:e1:74 |
ip_label | ||
ip_addr | 192.168.34.171/255.255.254.0 | |
ip_broadcast | 192.168.35.255 | |
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 | 576377 | |
ifstat_tx_carrier_errors | 0 | |
ifstat_tx_errors | 0 | |
ifstat_tx_packets | 977111 | |
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 | 50419237 | |
ifstat_rx_dropped | 0 | |
ifstat_rx_frame_errors | 0 | |
ifstat_rx_over_errors | 0 | |
ifstat_tx_bytes | 1264554549 | |
ifstat_tx_dropped | 0 | |
ifstat_tx_heartbeat_errors | 0 | |
wlan_essid | frieda23.opennet-initiative.de | |
wlan_apmac | 54:E6:FC:CC:E1:74 | |
wlan_type | nl80211 | |
wlan_hwmode | 802.11bgn | |
wlan_mode | Master | |
wlan_channel | 6 | |
wlan_freq | 2.437 | |
wlan_txpower | 18 | |
wlan_signal | ? | |
wlan_noise | ||
wlan_bitrate | 0.0 | |
wlan_crypt | WEP Open System (NONE) | |
wlan_vaps | yes | |
db_ver | 0.1 | 0.2 |
db_update | 1320217469 | 1320240220 |