NEWS
[gelöst] - Zabbix (FritzBox etc.)
-
@codierknecht das Problem mit Zabbix ist ja das man manchmal einfach in eine Sammelwut verfällt. Ist zwar schön was man alles abrufen kann, aber ob man das braucht ...
Up- und Download Auslastung frage ich zum Beispiel meinen Switch hinter der Fritte per SNMP statt der Fritte selbst.
Trotzdem nehme ich nur zu gerne dann dein fertiges Template, zum einen als schönes Beispiel, zum anderen weil man das dann auch schön zeigen kann und die Leute damit etwas anfangen können.
Du kannst noch die DECT Geräte abfragen usw. Dann bist du irgendwann bei allem was der TR064 und/oder FritzDECT Adapter raussaugt, nur ohne steuern. Kannst dir ja bei den Adapter Inspiration holen.
Statistiken zur Verbindung / Fehlerrate werden auch immer gerne genommen. Wobei es da ja DSL, Glasfaser und LTE gäbe.Das Muster-Template kann gerne alles herausholen was es gibt - man kann dann ja das deaktivieren was man nicht braucht bzw. das Template klonen und zusammenstreichen ...
-
Der Vollständigkeit halber hier nun das komplette Script in Zabbix, um die Anzahl der Portweiterleitungen zu ermitteln:
const params = JSON.parse(value); var requestBody = '<?xml version="1.0" encoding="utf-8"?>' + '<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">' + ' <s:Header>' + ' <h:InitChallenge xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1">' + ' <UserID>' + params.username + '</UserID>' + ' </h:InitChallenge>' + ' </s:Header>' + ' <s:Body>' + ' <u:' + params.action + ' xmlns:u="' + params.urn + '" />' + ' </s:Body>' + '</s:Envelope>'; const action = params.urn + '#' + params.action; // Initialize challenge with Fritz!Box var url = 'http://' + params.ip + ':49000' + params.url; const request = new HttpRequest(); request.addHeader('Content-Type: text/xml; charset="utf-8"'); request.addHeader('User-Agent: AVM UPnP/1.0 Client 1.0'); request.addHeader('SoapAction: ' + action); var response = request.post(url, requestBody); var statusCode = request.getStatus(); if (statusCode != 200) { throw 'Error ' + statusCode + ' initializing authentication!'; } else { // Calculate authentication const nonce = XML.query(response, '//Nonce/text()'); const realm = XML.query(response, '//Realm/text()'); const secret = md5(params.username + ':' + realm + ':' + params.password); const auth = md5(secret + ':' + nonce); // Get values with authentication requestBody = '<?xml version="1.0" encoding="utf-8"?>' + '<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">' + ' <s:Header>' + ' <h:ClientAuth xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1">' + ' <Nonce>' + nonce + '</Nonce>' + ' <Auth>' + auth + '</Auth>' + ' <UserID>' + params.username + '</UserID>' + ' <Realm>' + realm + '</Realm>' + ' </h:ClientAuth>' + ' </s:Header>' + ' <s:Body>' + ' <u:' + params.action + ' xmlns:u="' + params.urn + '" />' + ' </s:Body>' + '</s:Envelope>'; response = request.post(url, requestBody); var statusCode = request.getStatus(); if (statusCode != 200) { throw 'Error ' + statusCode + ' sending authenticated request!'; } else { return(XML.query(response, 'number(//NewForwardNumberOfEntries/text())')); } }
Die Parameter "ip", "username" und "password" sollten klar sein.
Was zusätzlich noch benötigt wird:
"action" = "GetForwardNumberOfEntries"
"url" = "/upnp/control/layer3forwarding"
"urn" = "urn:dslforum-org:service:Layer3Forwarding:1"Jetzt werde ich nach und nach die Doku von AVM durchgehen, und sehen was da sinnvoll nutzbar ist.
Das Ganze werde ich dann als Template für Zabbix veröffentlichen.
Wie gesagt: Wer Vorschläge hat, darf die gerne äußern.Aktueller Zwischenstand:
-
-
@codierknecht argh, Version 6.4. Da müsste ich noch eben warten bis 7.0 raus ist ... ich setze in dem Bereich nur die LTS-Versionen ein.
-
@bananajoe sagte in [gelöst] - Zabbix (FritzBox etc.):
Version 6.4
Lässt sich das unter 6.0 importieren, wenn man einfach im XML die Versionsnummer runterdreht?
Oder hat sich zu 6.4 das Format maßgebend geändert? -
@codierknecht Kollege testet gerade Könnte reichen, ansonsten sagt er einem was ihn stört
-
Wenn man einmal weiß wie es geht ... wer einen Hammer hat, sieht eine Welt voller Nägel
Mittlerweile sind's > 80 Items
Obwohl so eine Fritte eigentlich recht "unkommunikativ" ist. Kein SNMP, kein Telnet, kein SSH. -
@bananajoe sagte in [gelöst] - Zabbix (FritzBox etc.):
Da müsste ich noch eben warten bis 7.0 raus ist
Just for info:
7.0 LTS ist draußen ... -
Was ist neu in Zabbix 7.0?
https://www.youtube.com/watch?v=60Zy3bw-wOs -
die honeycomb find ich cool