Hallo zusammen,
ich möchte mich direkt am Anfang dafür entschuldigen, dass ich ggf. Begriffe unsauber verwende oder sie verwechsle. Was die ganze Thematik angeht, bin ich leider noch nicht so bewandert.
Zu meinem Problem:
Ich habe einen Kunden, der einen Switch-Cluster mit dem Modell HPE FF 5700-48G betreibt. Genauere Informationen zu dem Cluster, wie viele Switches etc., liefere ich noch nach.
In check_MK werden von diesem Cluster rund 78 Services überwacht. Das Problem ist, dass diese Meldungen immer mal wieder alle zusammen einen „Timeout“ erleben. Meine Aufgabe ist es nun, genau das Problem zu beheben.
Wir haben uns in etwa folgendes gedacht:
Wir passen das snmpwalk-Skript, welches von check_MK genutzt wird an, so dass lediglich die 78 Services über den snmpwalk abgefragt werden. Hierfür gibt es ja die MIB, bzw. OID, mit der man gezielt einen aktuellen Wert auslesen kann.
Weiter Informationen:
Über die Konsole habe ich einen snmpwalk ausgeführt, die Syntax war folgende:
cmk --snmpwalk IP
Ich hätte erwartet, dass Zeile für Zeile ausgegeben wird. Allerdings tut sich erstmal nichts und nach ca. 950 Sekunden kommt ein Timeout. Ziemlich lang … und das ist wohl auch der Grund warum in check_MK die Services ab und zu ihren Wert nicht erhalten.
Mittels eines MIB-Browsers habe ich ebenfalls ein snmpwalk durchführen können. Dort erhalte ich tatsächlich in Echtzeit jede abgefragte Zeile. Ich glaube es dauert tatsächlich ca. 10 Minuten bis auch dieser seine Arbeit vollendet hat. Ich glaube es waren 36000+ Einträge.
Ich verstehe nicht warum der cmk snmpwalk über die Konsole nicht durchläuft. Eine Datei liegt auch nicht in dem in der Hilfe beschriebenen Pfad.
Führe ich in der Konsole einen snmpwalk mit einer MIB/OID und ohne „cmk“ aus, so erhalte ich den erwarteten Wert zurück:
snmpwalk -v 2c -c public IP .1.3.6.1.2.1.1.1.0
Versuche ich es mit einem vorangestellten „cmk“ funktioniert es nicht, ich erhalte nur einen Fehler und die Beschreibung mit der Syntax kommt zum Vorschein. Ich habe meine Syntax-Versuche mal protokolliert:
Führt zum Timeout:
cmk --snmpwalk IP
Funktioniert:
snmpwalk -v 2c -c public IP .1.3.6.1.2.1.1.1.0
snmpwalk -v 2c -c public IP .1.3.6.1.2.1.1.4.0
snmpwalk -v 2c -c public IP .1.3.6.1.2.1.1.5.0
"Funktioniert" - Ich erhalte lediglich eine Angabe für die Ausführungsdauer:
cmk bulkwalk IP
cmk snmpwalk IP
cmk --oid .1.3.6.1.2.1.1.1.0 snmpwalk IP
Läuft durch aber keine Rückmeldung (| less → leifert auch keinen Mehrwert, dort steht nichts drin):
cmk --oid .1.3.6.1.2.1.1.5.0 --snmpwalk IP
cmk --snmpwalk IP --oid .1.3.6.1.2.1.1.5.0
cmk --snmpwalk --oid .1.3.6.1.2.1.1.1.0 IP
Funktioniert nicht:
cmk --snmpwalk -v 2c -c public IP .1.3.6.1.2.1.1.1.0
cmk --snmpwalk IP .1.3.6.1.2.1.1.1.0
cmk snmpwalk IP .1.3.6.1.2.1.1.1.0
cmk snmpwalk IP --oid .1.3.6.1.2.1.1.1.0
cmk snmpwalk IP oid .1.3.6.1.2.1.1.1.0
cmk oid .1.3.6.1.2.1.1.1.0 snmpwalk IP
Meine Fragen:
-
Warum kommt es beim cmk --snmpwalk über die Konsole zu einem Timeout und ist die Syntax korrekt: cmk --snmpwalk IP
-
Warum bekomme ich kein cmk --snmpwalk mit einer MIB/OID hin? Wie lautet die korrekte Syntax?
-
Ist es möglich das snmpwalk-Skript zu kopieren, anzupassen und in check_MK dem Host mitzuteilen, dass das abgeänderte Skript genutzt werden soll?
-
Hat jemand sonst eine Idee, warum es zum Timeout kommt? Der MIB-Browser braucht aber wie gesagt auch gefühlt knapp 10 Minuten, bis er alle Einträge beisammen hat.
-
Weiß jemand zufällig wie ich zu den in check_MK aufgeführten Services die MIB bzw. OID herausfinden kann?
Über Hilfe würde ich mich sehr freuen, da ich in dem Thema wirklich etwas verloren bin und mit meinem Wissen und den Ideen am Ende bin.