Internes Temperatur Monitoring

Daniel
von Daniel
27.09.2022
01:50 MIN

Wie bereits im vorherigen Artikel beschrieben, spielt das Monitoring von Umgebungsparametern eine nicht zu unterschätzende Rolle. In diesem Artikel soll nun auf die Möglichkeit eingegangen werden, wie auf die in der Hardware verschiedener Hersteller verbauten Temperatursensoren zugegriffen werden kann. Diese Sensoren können bereits erste Indikatoren zu den aktuellen Umgebungsparametern liefern.

Image: ©Angelov - stock.adobe.com

Image: ©Angelov - stock.adobe.com

Worum geht´s?

Um die empfindliche Hardware von Server- bzw. Netzwerkinfrastruktur vor Überhitzung und den damit verbundenen Ausfällen zu schützen, ist ein entsprechendes Umgebungsmonitoring essenziel wichtig / notwendig. Eine Vielzahl von Herstellern verbaut aus diesem Grund in ihrer Hardware Sensoren, die Parameter wie z.B. Temperatur, Luftfeuchtigkeit oder Lüfter Drehzahl messen können.

Die jeweiligen Bauteile kommunizieren miteinander und so kann z.B. die Lüfter Drehzahl eines Gerätes basierend auf der aktuellen Temperatur variabel gesteuert werden. Ziel ist es hierbei für alle Komponenten optimale Rahmenparameter zu schaffen, um dadurch eine möglichst lange Lebensdauer zu erreichen. Ein Großteil der Hersteller ermöglicht den Zugriff auf die so gesammelten Daten. Es entstehen dadurch keine zusätzlichen Kosten.

Verfügt die Hardware über eine Verwaltungsoberfläche bzw. Konsole auf der z.B. aktuelle Werte zu Temperatur, Lüfter Drehzahl oder Stromverbrauch angezeigt werden, so lassen sich sämtliche dort angezeigten Werte in der Regel auch automatisiert auslesen. Da die Systeme die Informationen z.B. zur Temperatur, wie bereits geschrieben, meist nur zur Steuerung der Lüfterdrehzahl bzw. zur Notabschaltung benötigen, werden diese Daten nicht oder nur kurz zwischengespeichert bzw. protokolliert.

Das Logging der Umgebungsparameter ist in der Regel nicht die primäre Aufgabe des Gerätes. Der dafür notwendige, lokal im Gerät verbaute, Speicherplatz ist hierfür meist knapp und teuer. Das manuelle Auslesen der Parameter, z.B. über die Verwaltungs-/ Weboberfläche oder Konsole, ist mit entsprechendem Aufwand verbunden. Eine lückenlose 24/7 Überwachung ist mit dieser Variante meist nur schwer umzusetzen. Wenn die Daten über einen längeren Zeitraum aufbewahrt werden sollen, muss eine vollumfängliche Protokollierung meist selbst gebaut werden.

Für das automatisierte Auslesen der Informationen bietet sich je nach Hersteller und Produkt eine Abfrage der Daten per SNMP bzw. über eine API an. Als weitere Möglichkeiten sind z.B. Datenabrufe über Skripte und der Zugriff per SSH auf die jeweilige Konsole denkbar.

An dieser Stelle kann ein Monitoring Tool wie z.B. PRTG dabei unterstützen, die Daten automatisiert auszulesen und zu protokollieren. Zusätzlich lässt sich mit Hilfe dieser durchgehenden Überwachung und der Definition von Grenzwerten auch eine entsprechende Alarmierung realisieren. Wird ein vorher definierter Grenzwert überschritten, können automatisch Aktionen wie z.B. der Versand einer E-Mail oder SMS umgesetzt werden.

Historische Daten und Verläufe können miteinander verglichen werden und bieten somit eine solide Grundlage für Entscheidungen bzw. die zukünftige Planung.

Das Tool PRTG Network Monitor liefert für diese Anforderung eine Vielzahl an vordefinierten Sensoren. Einen Großteil des Aufwandes übernimmt hierbei das PRTG Auto Discovery. Sobald die erforderlichen Informationen hinterlegt wurden, beginnt PRTG automatisch relevante Daten von den jeweiligen Systemen auszulesen. Neben Erreichbarkeit per Ping, CPU, RAM, Disk und Netzwerk Auslastung können auch Werte wie Temperatur, Lüfterdrehzahl und Power Supply Status abgefragt werden.

Die Abfrage per SNMP wird in der Regel von jedem netzwerkfähigen Gerät im Enterprise Umfeld unterstützt. Im weiteren Verlauf gehen wir daher anhand eines Beispiels näher auf die automatische Abfrage per SNMP ein.

SNMP steht für Simple Network Management Protocol und wurde entwickelt um Netzwerkelemente (z. B. Router, Server, Switches, Drucker, Computer usw.) von einer zentralen Station aus überwachen und steuern zu können. Die Netzwerkverbindung erfolgt über das verbindungslose Protokoll UDP. Für SNMP Abfragen (query) wird der UDP Port 161 verwendet, für den Empfang von Trap Nachrichten kommt standardmäßig der UDP Port 162 zum Einsatz. SNMP liegt derzeit in 3 Versionen vor. Die gängigsten davon sind SNMPv1, SNMPv2c und SNMPv3.
SNMPv1 und SNMPv2c übermitteln die Daten im Klartext, SNMPv3 bietet weitere Sicherheitsfunktionen wie z.B. die Verschlüsselung der Daten. Die Funktionsweise ist generell ähnlich, wir gehen daher an dieser Stelle nicht näher auf die unterschiedlichen Versionen ein.

Wie sieht unsere Lösung aus?

PRTG liefert für eine Vielzahl an Herstellern wie z.B. Cisco, HP, Fujitsu, Dell, Lenovo, QNAP, NetApp, etc. vordefinierte Sensoren zum Auslesen von Health Werten. Wird ein Hersteller wie z.B. Juniper nicht offiziell unterstützt, können diese Informationen jedoch mit eigenen Sensoren trotzdem ausgelesen werden.

Der Aufwand hierfür ist natürlich etwas höher als „klick, klick, fertig“ aber dennoch mit etwas Hintergrundwissen oder der Unterstützung unserer erfahrenen Consultants kein Problem. Neben einer Vielzahl an vordefinierten Elementen, die einen Großteil der Anforderungen bereits abdecken, können wir zusätzlich eigene Sensoren anlegen. Durch diese Möglichkeit sind fast keine Grenzen für ein flexibles und individuelles Monitoring gesetzt.

Um nun z.B. die internen Temperaturwerte eines Juniper Switches auszulesen, werden neben der SNMP Community und ggf. weiteren Zugangsdaten, noch die jeweiligen OIDs (Objekt Identifier) benötigt, hinter denen sich diese Parameter verbergen. Ein Blick in die Dokumentation des Herstellers hilft hier meist weiter diese Informationen zu finden.  

In unserem Beispiel erhalten wir nach kurzer Recherche folgende OID Information (Quelle): 

Die lange Zahlenkombination führt uns zu den gewünschten Temperatur Informationen. Für den nächsten Schritt wird ein Werkzeug zur Abfrage von SNMP Daten benötigt. Hierfür gibt es verschiedene Plugins z.B. für PowerShell. Ein sehr hilfreiches kostenfreies Tool mit einer grafischen Benutzeroberfläche ist der Paessler SNMP Tester.

Die in der Juniper Dokumentation angegebene OID muss für den automatisierten Einsatz noch weiter aufbereitet werden. Switche können unterschiedlich ausgebaut und miteinander verbunden werden. Um die SNMP Abfragen dynamisch zu halten, beinhaltet die hier als Beispiel abgebildete OID am Ende die Platzhalter x.x.x.x. Im nächsten Schritt muss herausgefunden werden, welche Werte an Stelle des Platzhalters verwendet werden müssen. Dazu gibt es die Funktion „SNMP Walk“. Hiermit führt z.B. der Paessler SNMP Tester einen Suchlauf über sämtliche, möglichen Werte, durch. Die OIDs mit einem Rückgabewert werden anschließend für die weitere Verwendung angezeigt.

In diesem Beispiel hat der Juniper Switch für die Abfrage der beiden OIDs 1.3.6.1.4.1.2636.3.1.13.1.7.7.1.0.0 und 1.3.6.1.4.1.2636.3.1.13.1.7.9.1.0.0 die Rückgabewerte "37" und "42"geliefert. Die so herausgefundenen OID Werte können nun zur weiteren Verwendung in einem Monitoring Tool, in unserem Fall PRTG Network Monitor, zur automatischen Abfrage hinterlegt werden. 

Für dieses Szenario liefert PRTG eine Vielzahl an vordefinierten Custom Sensoren. Hier kommt der Sensortyp SNMP Custom Advanced zum Einsatz. Dieser Sensortyp unterstützt die Abfrage von Werten von bis zu 10 OIDs.

Der so angelegte Sensor kann nun in beliebig konfigurierbaren Intervallen automatisch abgefragt werden. Durch die Definition von Grenzwerten können Limits definiert werden, die nicht überschritten werden dürfen. Im Falle des Temperatur Monitorings sind hier idealerweise die Herstellerangaben zu hinterlegen. Der Zustand eines Sensors in PRTG kann zwischen Ok (grün), Warnung (gelb) und Fehler (rot) wechseln. Die jeweiligen Sensor Zustände wiederum können mit Triggern für Benachrichtigungen versehen werden. PRTG bringt eine Vielzahl an vordefinierten Benachrichtigungsmöglichkeiten wie z.B. die Alarmierung per E-Mail, Push Nachricht auf die PRTG eigene iOS / Android App, Teams und Slack mit. Die bereits gegebenen Möglichkeiten lassen sich durch den Einsatz eines unterstützten SMS Modems oder eigenen Scripten vielseitig erweitern.

Wie gehe ich das Ganze an?

Weiterführende Informationen hierzu liefern das Paessler Handbuch, Getting Started Guides oder die Knowledge Base. Auch die ausführlichen Erklärvideos, die noch einmal detailliert auf die Themen eingehen, sollen hier nicht unerwähnt bleiben:

 

Durch die Überwachung der auf der internen Hardware verschiedener Hersteller verbauten Temperatursensoren können bereits erste Indikatoren zu den aktuellen Umgebungsparametern gesammelt werden. Da sich diese Informationen allerdings nur auf das überwachte Gerät und die unmittelbare Umgebung bezieht, können diese Informationen ggf. nicht ausreichend bzw. aussagekräftig genug sein. Die internen Messdaten können zudem meist nur einen groben Aufschluss über das gesamte Raumklima liefern. Weitere im Raum befindliche Hardware verfügt ggf. über keine eigenen Temperaturfühler. Es ist daher empfehlenswert zusätzliche Messpunkte außerhalb der Geräte zu installieren.

Externes Temperatur Monitoring:

Der nächste Teil des Blog-Artikels geht daher auf verschiedene Herangehensweisen für die Einbindung externer Sensoren ein. Auf dem Markt gibt es eine Vielzahl an professionellen Lösungen für diese Anforderung. Im weiteren Verlauf werden einige dieser Lösungen vorgestellt und die Einbindung in PRTG skizziert. In den meisten Fällen werden die Temperaturwerte oder weiteren Informationen bequem über das Netzwerkprotokoll SNMP oder eine REST API abgegriffen.

Worauf wartest du noch?

Du siehst, es gibt eine Vielzahl an Anforderungen, die mit PRTG abgedeckt werden können. Falls wir dein Interesse geweckt haben, zögere nicht und kontaktiere uns! Wir freuen uns auf neue spannende Projekte und deine individuellen Anforderungen!

Zu den Kommentaren ()