Alfred

From Freifunk Braunschweig
Jump to: navigation, search

Verfürgbare Daten

Daten die jeder Node auf der Alfred ID 158 sendet, ein mal pro Minute per cron der die announce.lua aufruft

Sende-Aufruf

<syntaxhighlight lang="bash"> /lib/gluon/announce/announce.lua | gzip | alfred -s 158 </syntaxhighlight>

Abfrage-Aufruf

<syntaxhighlight lang="bash"> alfred -r 158 </syntaxhighlight>

Darin ist binaryJSON wobei jeder Knoten einen Eintrag in der Liste hat.

Resultat (unziped)

<syntaxhighlight lang="javascript" line start="1" enclose="div"> {"network":

 {"gateway":"d2:ce:7a:ef:4f:91",                                        // aktuell gewähltes Gateway
  "addresses":["fda0:747e:ab29:3838:26a4:3cff:fe9e:2e99",               // aktuelle Adressen im FF-Netz
               "fdef:ffc0:3dd7:0:26a4:3cff:fe9e:2e99",
               "fe80::26a4:3cff:fe9e:2e99"],
  "mesh_interfaces":["26:a4:3c:9e:2e:99","26:a4:3c:9f:2e:99"],          // eigene Mesh Interfaces (warum 2mal?)
  "mac":"24:a4:3c:9e:2e:99"                                             // MAC des Nodes
 },
 "hostname":"Bullet_M2_DooM_01",                                        // Hostname
 "hardware":{"model":"Ubiquiti Bullet M"},                              // Router/AP Model
 "owner":{"contact":"mail@server.de"},                                  // Kontakt E-Mail des Besitzers/Betreibers
 "software":                                                            // verschiedene Software und ihr Status
   {"fastd":{"enabled":true,"version":"v14"},
    "autoupdater":{"enabled":true,"branch":"stable"},
    "batman-adv":{"version":"2013.4.0"},
    "firmware":{"base":"gluon-v2014.2-32-ge831099","release":"0.4.1+0-exp20140718"}
   },
 "statistics":                                                          // Statistiken
   {"memory":{"cached":7984,"total":29212,"buffers":2264,"free":4360},  // Arbeitsspeicher
    "uptime":693.83,                                                    // Uptime
    "idletime":636.19,                                                  // Zeit ohne Last
    "traffic":                                                          // Traffic Statistiken (batman-adv)
      {"tx":{"packets":892,"dropped":4,"bytes":146774},                 // absoluter Traffic gesendet
       "rx":{"bytes":137252,"packets":1324},                            // absoluter Traffic empfangen
       "forward":{"bytes":1100,"packets":11},                           // weitergereichter Traffic
       "mgmt_tx":{"bytes":260321,"packets":5501},                       // Management Traffic gesendet
       "mgmt_rx":{"bytes":351899,"packets":7299}                        // Management Traffic empfangen
      },
 "processes":{"total":53,"running":1},"loadavg":0.01}                   // Prozess Statistik + Load 

} </syntaxhighlight>

Verbundene Access Points

GW01 und 02, also momentan alle GWs, teilen alle 30min auf Kanal 142 mit welche APs sich jemals mit ihnen über fastd verbunden haben. Ziel ist es auf lange Sicht die Keys von APs die sich lange nicht verbunden haben löschen zu können.

Warum kann ich den Inhalt von Kanal 142 nicht lesen?

Die Daten sind mit der libz aus python komprimiert und danch in reine Strings konvertiert, das kann man mit gzip nicht so einfach aufmachen. Deswegen gibt es das ganze auf beide GWs unter /root/nodes.yaml noch mal in leserlich.

Was soll das Ganze in Alfred?

Alfred wird genutzt um die Daten zwischen den GWs zu synchronisieren. Gegen scp oder ähnliches spricht, dass dann neue GWs aufwendig in den Verbund eingebaut werden müssten. Bei Alfred reicht es das git aus zu checken und dann einen cronjob für root zu schreiben.