Cisco Switch: Negative Temperaturen

Die Cisco-Temperatur-Checks scheinen mit negativen Temperaturen nicht wirklich klar zu kommen :smiley:


Output auf der Switch-CLI: System Temperature Value: -1 Degree Celsius

Und hier noch ein anderer Sensor:

Modell: Cisco Catalyst 2960X-24TS-L Switch
Firmware: 15.2(7)E2

Nö das is kein Problem des Checks sondern eher ein SNMP Problem.
Hier werden wieder mal 32bit signed integers verwendet und somit ist der Wert für 32bit einfach -1.
In deinem Fall handelt es sich aber nicht um echte Minusgrade sondern um einen GBIC oder normalen Sensor der kaputt ist.

Also zumindest beim Temperature GigabitEthernet1/0/25 Module Temperature Sensor bin ich mir ziemlich sicher, dass es wirklich Minusgrade sind, momentan sollten das etwa -4 Grad sein.

Relevanter SNMP-Wert sollte glaube ich dieser sein: .1.3.6.1.4.1.9.9.91.1.1.1.1.4.1042 2520

Heizen ist keine Option? (Bitte ignorieren… ich konnte mich nicht zurueckhalten…)

OK… mal abgesehen davon dass mir bewusst ist, das mein obiger Kommentar
nicht wirklich zur Loesung beitraegt: Laut Spezifikation wirds ab -5 Grad Celsius knapp, ne?

1 Like

Was steht da im Check als Wert? Deine Diagramanzeige und Check Ausgabe sind jedenfalls genau -1.

Hallo,

was meinst du?
Das Diagramm sieht wie folgt aus:

Ich meine nicht das Diagram hier wird der Wert einfach 254 gekappt.
Das erste Diagram zeigt schön einen Wert von 4294967295 an.
Dies entspricht -1 wenn der SNMP Wert ein signed Integer ist.
Ob dein Gerät wirklich negative Werte ausgibt oder aber der Sensor ein Problem hat sieht man jetzt schön wenn du wie gesagt Minus 4 hast dann sollte da ein anderer Wert zurück kommen.
Bis jetzt hab ich nur Geräte gesehen mit defekten Sensoren welche dann einfach wie hier die virtuelle -1 ausgegeben haben.

Um bei den -4 zu bleiben:
Meine Theorie ist, dass der Wert als uint8_t (0 bis 255) gespeichert wird, was dann bei -4 Grad genau die 251 wären, die auch im Diagramm dargestellt werden…

Die Werte sind laut Doku 32bit signed Integers.
Seltsam wäre auch der angezeigte Wert von 251,8 Grad da es hier normal nur Integers gibt.
Welche Check ist das der hier verwendet wird (Check Name)?

Service check command: check_mk-cisco_temperature