FF Router per SNMP monitoren

Hallo,

ich hatte Gestern im Zeichen geistiger Umnachtung mal eben (das war der Fehler) die Idee, auf einem der 841 ND snmp zu installieren, um diesen von einem Raspberry PI aus zu monitoren.

In der Shell funktioniert IPKG nicht.

Hat jemand SNMP auf dem FF Router laufen,und wenn ja wie ?

1 Like

Du solltest erst mal umsteigen in meineń Ford Ka - noch mal bisserl üben :wink:
(Achtung - dies ist Ironie und nicht böse gemeint. Und ja, ich weiß dass das nicht dem Thema dienlich ist. Manchmal muss Community-Building seltsame Wege gehen. Danke für das Verständnis)

Hi!

Also SNMP wird sicherlich keinen Platz mehr auf dem Gerät finden.

Allerdings kannst du die Nodeinfo mittels socat via Ipv6 direkt vom Gerät beziehen, hier ein Beispiel an meiner Node:

# echo "nodeinfo" | socat - UDP6-DATAGRAM:[2a02:f98:0:28:fad1:11ff:fe81:164c]:1001 > test123
# jq . test123
{
  "node_id": "f8d11181164c",
  "network": {
    "mac": "f8:d1:11:81:16:4c",
    "addresses": [
      "fe80:0:0:0:fad1:11ff:fe81:164c",
      "fda0:747e:ab29:cafe:fad1:11ff:fe81:164c",
      "2a02:f98:0:28:fad1:11ff:fe81:164c"
    ],
    "mesh_interfaces": [
      "fa:d5:11:81:16:4c",
      "fa:d4:12:81:16:4c"
    ]
  },
  "hostname": "Cyrus-Foxden01",
  "location": {
    "longitude": 6.784073,
    "latitude": 51.210468
  },
  "owner": {
    "contact": "freifunk@lambdacore.de"
  },
  "software": {
    "fastd": {
      "enabled": true,
      "version": "v14"
    },
    "autoupdater": {
      "enabled": true,
      "branch": "beta"
    },
    "batman-adv": {
      "compat": 14,
      "version": "2013.4.0"
    },
    "firmware": {
      "base": "gluon-v2014.3-107-g61346d1",
      "release": "2014.4-beta-1"
    }
  },
  "hardware": {
    "model": "TP-Link TL-WR841N/ND v7"
  }
}
1 Like

snmp, toll, mächtig, unglaublich kompliziert!

Ich habe schon sehr viele Stunden damit zugebracht, weil unsere HP procurve switches nur damit arbeiten.

Weil ich mir diesen Ärger bei unseren Access Points nicht schon wieder geben wollte, habe ich mich da für Munin entschieden. Das gibt es für openwrt auch auch als munin lite. Schau dir das mal an, ich denke da bist du besser aufgehoben. Betrieben wird das über xinetd:

https://dev.openwrt.org/browser/packages/admin/muninlite/files/etc/xinetd.d/munin?rev=13589

Per Multicast klappt es jetzt auch:

echo "nodeinfo" | socat - UDP6-DATAGRAM:[ff02::01%wlan0]:1001 | jq .

Allerdings geht dies so nur wenn man im selben Netzwerk ist. Also entweder per Wifi/Lan Kabel an den Nodes oder z.b von einer VM die via Fastd im Mesh ist. Wichtig bei diesem Befehl ist der Scope-Identifier, sprich welches Interface verwendet werden soll. In diesem Fall wlan0 falls dies der Netzwerkadapter ist der im Mesh hängt.
Allerdings haben erste Tests gezeigt das auch Multicast hier mal ein paar Nodes vergisst, also nicht so viel besser als mit Alfred. Allerdings könnt ihr diese Daten so per Unicast direkt abfragen falls ihr ein eigenes Monitorting habt.

SNMP lässt sich einigermaßen schmerzfrei mit check_mk benutzen. Check_mk wiederum ist ein großartiges Tool, um Nagios/Icinga/Shinken schmerzfreier zu konfigurieren und besser zu skalieren. SNMP-Hosts kann der selbständig abscannen und i.d.R. korrekt einbinden: https://mathias-kettner.de/check_mk.html

Ansonsten lassen sich Plugins für unbekannte SNMP-Werte einfach erstellen. check_mk scheißt dabei auf die MiBs und nutzt die OIDs direkt in den Plugins.

Der ganze Stack aus Nagios, check_mk, mk_livestatus, Nagvis und was weiss ich lässt sich mit der Open Monitoring Distribution ziemlich einfach installieren: http://omdistro.org/

Munin ist großartig, hat aber das Problem dass es beschissen bis gar nicht skaliert.

hallo zusammen.

Sorry für thread necro.

Ich stand seit der Installation meines ersten Routers (ein kleiner 841) auch vor dem Problem, keinen snmpd mehr auf dem flash unterzubekommen. Also musste ich mich mit einem schnöden ping in meinem nagios/check_mk zufriedengeben.

Heute kam mir aber die Idee, das ziemlich schicke check_mk_agent script mal auf meinem privaten OpenWRT-Router auszutesten.
Man muss zwar die Shell im Script anpassen und einen Teil, der Virtualbox-Instanzen behandelt, deaktivieren, aber danach schnurrte das ganze wie ein Kätzchen.

Wie markusl schon schrieb, ist check_mk halt sehr angenehm aufzusetzen und zu verwalten und man muss sich nicht mal die Mühe machen, da versch. Metriken von Hand einzusammeln.

Der Aufruf des check_mk_agent funktioniert zwar nur mit root-Rechten sinnvoll, aber das lässt sich absichern, indem man den ssh-key der Monitoring-Instanz mit dem Aufruf des check_mk_agent koppelt und keine shell zulässt. (https://mathias-kettner.de/checkmk_datasource_programs.html)

Zur Veranschaulichung hänge ich noch einen Screenshot an.

VG aus Granterath

Hagen

Ich bevorzuge in dem Zusammenhang muninlite:

Hi, kannst du mal einmal zeigen wie du das Script des Agents angepasst hast? Die Shell anpassen war jetzt der kleinere Trick, ich bekomme aber keine Ausgabe wenn ich das Skript aufrufe. Was hast du noch gedreht? LG

Hallo.

Ich hänge dir das Script einfach mal hier an. Mir ist es auf dem FF-Router allerdings justament mit dem letzten Autoupdate verschütt gegangen. Ich habe leider gerade nicht parat, wo man auf dem FF-Flash solche Geschichten update-sicher unterbringen kann.

check_mk_agent.zip (6,5 KB)