Thematischer Schwerpunkt dieser Ausgabe ist die kontinuierliche Überwachung von Servern, Clients und anderen Geräten im Netzwerk: mit dem IPMI-Plugin, dem ... (mehr)

Einbindung in Icinga

Das folgende Beispiel zeigt die IPMI-Überwachung eines Servers übers Netzwerk. Auf dem Server ist dazu ein IPMI-Benutzer mit User-Rechten eingerichtet. Nun geht es darum, das IPMI-Plugin in Icinga einzubinden. Die Konfiguration ist bei einem Nagios-System übrigens identisch. Als Voraussetzungen erfordert das Plugin die Bash-Shell, das Free-IPMI-Paket und Awk.

Das Plugin gibt es auf den Webseiten von Thomas Krenn zum Download [5] . Es wird nach dem Download einfach im Standard-Plugin-Ordner abgelegt. Eine Definition des Kommandos in der »commands.cfg« macht das IPMI-Plugin danach für die einzelnen Host- und Service-Definitionen nutzbar ( Listing 2 ). Mit der Custom-Object-Variablen »_ipmi_ip« wird danach die jeweilige IP-Adresse des IPMI-BMC in den bestehenden Hostdefinitionen der Server ergänzt ( Listing 3 ). Die abschließende Servicedefinition erfordert als Parameter nur mehr den Pfad zur Free-IPMI-Konfigurationsdatei, die IPMI-Benutzernamen, -Passwort und Channel-Privilege-Level enthält ( Listing 4 und 5 ). Dank dieser Konfigurationsdatei müssen keine IPMI-Passwörter in der Icinga-Konfiguration abgelegt werden.

Listing 5

IPMI-Benutzerdaten

 

Listing 4

Service-Definition

 

Listing 3

Host-Definition

 

Listing 2

Kommando-Definition

 

Da kein Passwort als Parameter an »ipmimonitoring« übergeben wird, tauchen keine Zugangsdaten in der Prozessliste auf. Zudem erlaubt diese Vorgehensweise die einfache Konfiguration weiterer Parameter von »ipmimonitoring« ohne Anpassungen am Plugin. Die Konfigurationsdatei sollte aber aus Sicherheitsgründen nur für den User »icinga« lesbar sein.

Icinga überwacht nun mit dem Plugin alle IPMI-Sensoren des jeweiligen Servers. Bei Fehlern schlägt Icinga sofort Alarm: Probleme mit der Stromversorgung führen umgehend zum Status Critical ( Abbildung 3 ). Der Output »IPMI Status: Critical [Power Redundancy = Critical, PS1 Status = Critical]« deutet dabei auf ein Problem beim ersten Netzteil hin.

Abbildung 3: Icinga zeigt den kritischen Status des IPMI-Service rot an.

Wie es in den Nagios Plugin Development Guidelines vorgeschrieben ist, unterstützt das Plugin drei zusätzliche Verbosity-Level. Der erste Level sorgt für eine ausführlichere Ausgabe – in diesem Fall wäre dies: »IPMI Status: Critical [Power Redundancy = Critical ('Redundancy Lost' 'Non-redundant:Sufficient Resources from Redundant'), PS1 Status = Critical ('Presence detected' 'Power Supply input lost (AC/DC)')]« .

Ausführliche Infos

Mit diesen Details ist sofort ersichtlich, dass die Stromzufuhr zum ersten Netzteil unterbrochen ist, das Netzteil selbst aber keinen Fehler meldet. Aufgrund der höheren Zeichenanzahl kann aber eine solche Meldung bei SMS-Benachrichtigungen unter Umständen abgeschnitten werden. Der Verbosity-Level 2 liefert darüber hinaus eine mehrzeilige Ausgabe. Level 3 enthält schließlich ausführliche Debugging-Informationen, die im Fehlerfall wertvolle Hinweise zu möglichen Konfigurationsproblemen liefern.

Das IPMI-Plugin stellt für alle numerischen Messwerte auch Performance- daten bereit. Sie lassen sich über die bekannten Visualisierungs-Tools, etwa mit PNP4Nagios, in Graphen darstellen. Abbildung 4 zeigt beispielsweise den Anstieg der Stromaufnahme des Netzteils 2 von 0,5 Ampere auf knapp 1 Ampere nach dem Ausfall der Stromzufuhr von Netzteil 1 kurz vor 17:00 Uhr. Auch für alle anderen numerischen Messwerte wie Lüfterdrehzahlen, Temperaturen oder Spannungen erstellt PNP4Nagios Performancegraphen.

Abbildung 4: Um 17:00 Uhr steigt plötzlich die Stromaufnahme des Servers auf beinahe 1 Ampere an.

Für das Jahr 2011 plant das Icinga-Team die Einbindung der neuen Version 2 des Netways-Grapher. Damit lassen sich die erhobenen Performancedaten als dynamische Graphen darstellen.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023