SNMP Modul

Hallo,

kurzes Feedback:

1.) schönes Modul, gefällt mir

2.) Im DEBUG Fenster wird nie etwas angezeigt. Soll das so sein ?

3.a) Die Fehlermeldungen könnten präziser sein. d.h. wenn keine Community angegeben wird oder falsch ist, dann kommen keine Werte vom HOST (was auch stimmt), aber der Fehler kann bestimmt auch als eigene Fehlermeldung vielleicht angezeigt werden.

3.b) Fehlermeldungen wenn OID nicht richtig lesbar bzw. formatiert ergibt ebenso eine Fehlermeldung, die nicht weiterhilft.

3.c) es läuft ein WALK erst richtig, (mit hochlaufenden Zahlen) wenn alles richtig eingegeben ist. Das ist auch gut so. Allerdings kann man auch einen Walk starten mit fehlerhaften Angaben (siehe 3a und 3b), der dann auch grafisch animiert läuft und man sich dann wundert das nach Ewigkeiten keine Ergebnisse kommen. Da könnte ein Hinweis kommen, das was fehlt oder falsch ist.

4.) da ich einen Apple Mac habe, habe ich keine OIDLib, welche ich einlesen kann. Jetzt habe ich OIDs welche beim Walk als FLOAT deklariert werden, die allerdings INTEGER sind. Daher wird die Profilerstellung für den Status hier unmöglich. Auch ein Umdeklarieren ist in IP-Symcon generell unmöglich. Da müsste man noch eine Möglichkeit finden Einfluss zu nehmen.

Symcon:

MIB Browser:

5.) Ich wollte bei der Liste auf das Zahnrad klicken um eine Möglichkeit für das Problem 4 zu finden und hatte aber leider die Instanz geschlossen. Beim erneuten Öffnen ist die Walk-Ergebnis-Liste leer. Irgendwie super ungünstig, da ich jetzt meine „AKTIVEN angehakten“ OIDS nicht mehr finden kann.

Vielleicht kann man da noch ein bissl was dran ändern…
Danke.

Grüße
Björn

Hi,
weiß jemand wo ich für einen Samsung-Laserdrucker (Jetzt HP) eine MIB-Datei bekomme?

Edit: Schön wäre es wenn man die einzelnen Einträge in Kategorien verschieben könnte. Aktuell gibt es dann nur

05.09.2022 18:00:13 | 55701 | ERROR   | TimerPool            | SNMPWalk (UpdateValues): 
Notice: Uninitialized string offset: 0 in /var/lib/symcon/modules/.store/de.symcon.snmp/libs/vendor/freedsx/snmp/src/FreeDSx/Snmp/Oid.php on line 176
To encode the OID it must have at least 2 components: 

Statt die Ident direkt als ein Kind zu suchen müsste man mit IPS_GetChildrenIDs oder so arbeiten.

Ralf

Läuft das auch wenn das System als docker container läuft? Oder gibts da irgendein Problem? Habe es jetzt ne Stunde mit verschiedenen Devices, mit und ohne MIBs getestet, komme aber immer auf Fehlermeldungen, z.B. „Notice: Uninitialized string offset: 0 in /var/lib/symcon/modules/.store/de.symcon.snmp/libs/vendor/freedsx/snmp/src/FreeDSx/Snmp/Oid.php on line 176
To encode the OID it must have at least 2 components:“

Vielleicht hat das ja jmd. mal mit Docker zum laufen gebracht?

Grüße, H-C

PS: Hatte auch schon Probleme mit dem Modul von Swen. Das lag wohl auch am Setup mit docker (Synology)

Ich hab’s im Docker mit eigener IP-Adresse ( Netzerkmodus HOST) ohne NAT laufen ….

Das funktioniert…

Mit NAT habe ich nicht probiert. (BRIDGE Modus)

Parallel dazu habe ich mit einem MIB Browser vorher ausprobiert, damit ich mir sicher sein konnte dass auch etwas kommen muss bei den jeweiligen OIDs.

Gruß

Hi,
bei mir läuft es im Docker aber auch im Host-Modus. Mit Bridge kenne ich mich nicht aus.

Ralf

Hab jetzt auch mal den bridge modus geändert und eine fixe IP-Adresse vergeben. Bin auf einer Synology unterwegs und habe das mit dem Host-Modus nicht hinbekommen. Habe daher alternativ den MACVLAN-Modus genommen, so wie andere das auch zB für Pi-Hole machen.

WIe auch immer, das System läuft jetzt auf einer eigenen IP. Die Fehlermeldung

„Notice: Uninitialized string offset: 0 in /var/lib/symcon/modules/.store/de.symcon.snmp/libs/vendor/freedsx/snmp/src/FreeDSx/Snmp/Oid.php on line 176 To encode the OID it must have at least 2 components:“

bleibt aber. Teste das Ganze für eine UPS von APC mit PowerNet Mib. Von meinem Testrechner aus funnktioniert die .oidlib, die ich auch importiert hatte, wunderbar mit dem Pässler SNMP Tester. An der .oidlib scheint es also nicht zu liegen.

Bin etwas ratlos …

Eine Idee hatte ich noch. Es gab ja auch schon in der Vergangenheit Probleme mit der FreeDSx-Library. Wenn ich jetzt das Modul lösche und dann auch den Ordner

/libs/vendor/freedsx/

komplett lösche sollten ja alle Altlasten beseitigt sein. Der Theorie nach müsste dann mit der Neuinstallation des Moduls der Ordner /libs/vendor/freedsx/ wieder neu erscheinen. Scheint das plausibel zu sein? Scheue mich davor um nichts zu zerschiessen …

Grüße, H-C

PS.: Welche MIB bzw. OIDlib nehmt ihr zum Testen?

Hi,
hat einer ein MIB-File für Synology das z.B. .1.3.6.1.2.1.25.2.3.1.5.1 (physical memory) enthält? Mich interessieren einige Daten die mit .1.3.6.1.2 anfangen bei Synology selbst habe ich aber nur .1.3.6.1.4 (Netzwerk und Platten) gefunden.

Ralf

Vielen Dank für euer Feedback! (Wir werden sicherlich noch das ein oder andere in Zukunft verbessern)

Fürs erste haben wir jedoch den aktuellen Stand (mit 2 kleinen Fixen) als erste Stable Version veröffentlich! :slight_smile: :rocket:

paresy

Hi,
beim walken auf meinem Netgear GS108T (managed switch) gibt es:

The SNMP VarBind value from ASN.1 type FreeDSx\Asn1\Type\BitStringType and tag 3 is not recognized.

Hat jemand QNAP-NAS? Nach Synology wollte ich auch das mal versuchen. Der Walker zeigt an das er 8900 Einträge wohl gefunden hat und dann kommt:

No message received from host.

Bei meinem Samsung-C480FN Laserdrucker läuft der Walk ohne Fehler durch. Da Samsung-Printer von HP übernommen worden sind habe ich eine HP-OIDLib benutzt aber ohne Erfolg.

Ralf

Beim Versuch die durch paessler Konvertierte Lancom MIB (ca 6MB) als oidlib (ca. 24MB) hochzuladen, stürzt die Verwaltungskonsole ab.

Bin ich hier gezwungen, in mühsamer Kleinarbeit das bereits im Paessler Tool zu bearbeiten oder baut ihr das um?

Nachtrag: Lade ich dann eine verkleinerte 1MB Version hoch, stürzt er beim anschließenden Walk bei ca. 95600 Positionen mit ‚konnte Script nicht ausführen, connection lost‘ ab.

Wie komme ich hier weiter?

Schränke mit der Startadresse den Bereich ein, damit die nicht fast 100k Adressen im Walk hast :wink: Vielleicht sollten wir dies von Haus aus auf max. 20k limitieren, sodass keine falschen Erwartungen auftreten.

Bei deinen 24MB bist du wahrscheinlich genau über dem ServerMaxPostSize, welches es als Spezialschalter gibt. Er höhe den Wert mal - dann sollte er die OIDLib zumindest Hochladen. Ich kann mir vorstellen, dass du dann aber noch am PHP Memory Limit drehen musst, falls es weitere Fehler gibt.

paresy

Wie soll ich die verkleinern? Ich benötige etwas überspitzt die erste und letzte Adresse aus dem riesigen Bereich. Wie werden die Daten eigentlich im Intervall abgerufen? Per WALK immer alle oder ist da ein Automatismus eingebaut, der intelligent mehrere Bereiche abfragt?

Den Spezialschalter werde ich testen, heißt aber auch, dass dann bei jedem Empfang diese Datei durchsucht wird? Oder wird die nur im Konfigurator geladen?

Hi,
ich würde mal tippen das nur die abgefragt werden die Du auswählst. Wäre sonst ja blöd überspitzt 100.000 abzufragen wenn nur 2 benutzt werden.

Falls Du das Modul noch nicht benutzt hast/benutzen konntest. Der Walker zeigt dir alle Einträge an und Du musst dann auswählen welche Du gerne hättest. Ist so eine Art Konfigurator.

Ralf

So. Einige Tests später: Es geht einfach nicht. Habe das Memory Limit hochgesetzt und den MaxPostSize angepasst. Danach konnte ich die Datei (Symcon meint, 32MB) hochladen. Wenn ich den Walk mit der ersten sinnvollen Adresse starte, beendet er ohne weitere Ausgabe die Abfrage nach ca. 96000 Ergebnissen mit

No message received from host.

damit kann ich genau nichts anfangen. Dabei wird KEIN einziger Eintrag in das Formular übernommen. Wenn ich den Bereich etwas einschränke, kommen keine Werte mehr. Schränke ich ihn nicht so weit ein, sind es wieder zuviele Werte.

Da es sich um ein Modul aus dem Store handelt, müsste ich jetzt sehr aufwändig dem Source hinterher suchen. Also ist auch ein Debugen etwas schwieriger.

Leider wird auch nirgendwo erklärt, wie es genau funktioniert, noch spuckt der Debug irgendetwas aus.

Fazit: Aktuell unbrauchbar.

Ich habe leider auch den folgenden Fehler im Log mit der 6.3 RC2 und dem SNMP Modul:

31.10.2022, 10:18:41 | TimerPool | Pine64 SNMPWalk (UpdateValues):
Notice: Uninitialized string offset: 0 in /var/lib/symcon/modules/.store/de.symcon.snmp/libs/vendor/freedsx/snmp/src/FreeDSx/Snmp/Oid.php on line 176
To encode the OID it must have at least 2 components:

Die Werte werden jedoch aktualisiert. Bei anderen Geräten klappt es reibungslos ohne Fehlermeldungen.
Was kann ich gegen die Fehlermeldung denn tun?

Hallo Zusammen,

hat sich schon mal jemand an Mikrotik versucht?

Ich kann die ganzen Werte den Interfaces absolut nicht zuordnen.


Hi,
die letzten Ziffern bauen immer einen Zusammenhang her. Hypothetisches Beispiel Festplatten

  1. Festplatte

X.1.0 bestimmt den Namen
X.2.0 bestimmt den Hersteller
X.3.0 bestimmt die Kapazität
X.4.0 bestimmt die Temperatur

  1. Festplatte dann

X.1.1 bestimmt den Namen
usw.

Wenn man also die letzten Ziffern vergleicht kann man einen Zusammenhang der Werte herstellen.

Ralf

1 „Gefällt mir“

Meisten liefern die Hersteller dazu grobe Hilfen - schaue mal hier - Mikrotik-Wiki

Mir ist heute aufgefallen, dass meine Settings Datei vor wenigen Wochen sprunghaft auf ca. 50 MB gewachsen ist.

Auf der Suche viel mir dann auf, dass die OID Datei vollständiger Bestandteil der Settings.json ist. Das braucht natürlich richtig Platz, sowohl im Dateisystem, bei Backups und (bei mir vernachlässigbar) Arbeitsspeicher.

Gibt es nicht eine Möglichkeit die OID Datei einfach nur im Dateisystem abzuspeichern und über geschickte File-Descriptoren anzusprechen?

Da das Modul bei mir sowieso nicht funktioniert (zu große OID Dateien) habe ich es erstmal auf Seite gelegt und hoffe das alte Modul wieder ans laufen zu kriegen oder notfalls mein eigenes zu bauen.

Das löschen der OID Dateien (bei mir waren es zwei Stück) hat meine settings.json dann wider auf 1,2 MB schrumfen lassen.

Hi,
ab und zu flutet das Modul mein Log-File mit >10K Meldung. Die Meldung fängt an mit:

16.09.2023 00:47:24 | 55701 | ERROR   | TimerPool            | SNMPWalk DS920+ 1.3.6.1. (UpdateValues): No message received from host.Unexpected message ID received. Expected 1667281362 but got 833396679.Unexpected message ID received. Expected 24728172 but got 1667281362.Unexpected message ID received. Expected 1101845026 but got 24728172.Unexpected message ID received. Expected 642565066 but got 1101845026.Unexpected message ID received. Expected 1479007669 but got 642565066.Unexpected message ID received. Expected 1462468378 but got 1479007669.Unexpected message ID received. Expected 1980636220 but got 1462468378.Unexpected 

Wenn man sich die Werte anschaut sind sie „nur“ verschoben, d.h. als Erstes wird 1667281362 erwartet und beim zweiten Eintrag wird 24728172 erwartet aber es kommt 1667281362 usw. So geht es vermutlich bis zum Ende weiter. Die 833396679 scheinen sich dazwischen geschoben zu haben.

Ralf