Die HW-/SW-Inventur

Checkmk Manual

Suche im Handbuch

Dieser Artikel ist noch nicht fertig und nur ein Entwurf!

1. Einleitung

Zu jedem Server gibt es in der Regel sich regelmäßig verändernde Messwerte, die Checkmk als Services darstellt. Darüber hinaus gibt es aber auch noch relativ statische Werte, die keinerlei Beurteilung/Bewertung benötigen. Wieviel RAM auf einem Server installiert ist, möchte man vielleicht gerne dokumentieren. Aber es ist nicht sinnvoll das über einen Service zu erledigen. Denn auf welcher Grundlage sollte dieser seinen Status ändern? Die Hardware-/Software-Inventory dokumentiert diese Daten und erlaubt damit einen Blick auf bestimmte Kenndaten eines Servers abseits der überwachten Services.

Einen zweiten Aspekt stellt die Strukturierung der Daten dar. Gerade mit Blick auf einen möglichen Export der Daten in eine CMDB, ist es wichtig, die Hardware- und Softwaredaten in einer strukturierten Form vorliegen zu haben. Das macht erst macht es möglich, sie später weiter zu verarbeiten und in andere Formate zu exportieren. In Checkmk werden diese Daten daher in einer baumartigen Struktur aufbereitet.

Checkmk bietet aber nicht nur die reine Auflistung der Daten in der Hardware-/Software-Inventur (HW-/SW-Inventur), sondern speichert auch eine Historie der Inventur eines Servers und ermöglicht dadurch eine Nachverfolgbarkeit. Auf diese Weise lässt sich nachvollziehen, wann einer Server z. B. ein BIOS-Update, oder ein Upgrade des RAM bekommen hat.

2. Einrichtung

2.1. Plugin ausrollen

Manche Daten in der HW-/SW-Inventur werden bereits automatisch gesammelt. Für den installierten RAM eines Servers wird zum Beispiel kein weiteres Plugin benötigt, da diese Daten ja ohnehin über den entsprechenden Agenten gesammelt werden. Für alle anderen Daten gibt es das Checkplugin mk_inventory, welches für die Betriebssysteme Linux, Windows, AIX und Solaris zur Verfügung steht.

Da sich statische Daten per Definition recht selten ändern, ist es nicht sinnvoll, diese jede Minute abzurufen, wie es bei normalen Agentendaten der Fall ist. Stattdessen ist für jedes Betriebssystem ein Cache von 4 Stunden in dem jeweiligen Skript vorkonfiguriert. Selbstverständlich können Sie diese Werte den Bedürfnissen Ihrer Umgebung anpassen. Wie das funktioniert, erklären die folgenden beiden Unterkapitel.

Konfiguration über die Agent Bakery

In der Agent Bakery es gibt unabhängig vom Betriebssystem ein einziges Regelset, um die HW-/SW-Inventur zu konfigurieren. Hier können Sie auch bestimmen, wie oft das Plugin ausgeführt werden soll. Sie finden das Regelset unter WATO ➳ Monitoring Agents ➳ Rules ➳ Hardware/Software-Inventory (Linux, Windows, Solaris, AIX):

(Bild von der Regel)

Für die Konfiguration unter Windows können Sie hier auch die Pfade angeben, welche in der Registry als Indikator für installierte Software berücksichtigt werden sollen.

Manuelle Konfiguration unter Windows und AIX

Die Intervalle sind in den Skripten fest vorgegeben. Um diese zu ändern, öffnen Sie das Skript mit einem Texteditor Ihrer Wahl und ändern Sie lediglich den Wert INTERVAL bei AIX:

/usr/lib/check_mk/plugins/mk_inventory.aix
# Zeile 27
INTERVAL=86400

Bei dem Skript für Windows heißt der entsprechende Wert delay:

%PROGRAMFILES(X86)%\check_mk\plugins\mk_inventory.vbs
' Zeile 14
delay = 86400

Zusätzlich können Sie in dem Windows-Plugin auch Pfade hinterlegen, welche dann bei der Suche nach Programmen berücksichtigt werden sollen. Das gilt sowohl für Pfade in Ordnern, als auch Pfade in der Registry:

%PROGRAMFILES(X86)%\check_mk\plugins\mk_inventory.vbs
' Zeile 15 + 16
exePaths = Array("C:\mycustompath\myspecialprogram\start.exe")
regPaths = Array("Software\Microsoft\Windows\CurrentVersion\Uninstall","Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall")

Manuelle Konfiguration unter Linux und Solaris

Sie können über eine Konfigurationsdatei in dem Verzeichnis /etc/check_mk das Intervall bestimmen. Legen Sie dazu eine Konfigurationsdatei mk_inventory.cfg an und definieren sie wie folgt das Intervall in Sekunden:

/etc/check_mk/mk_inventory.cfg
INVENTORY_INTERVAL=86400

2.2. Die HW-/SW-Inventur in dem Checkmk-Instanz aktivieren

Sobald die Plugins verteilt sind, werden die Daten in der Agenten-Ausgabe mitgeliefert. Da es sich hier aber um spezielle Daten handelt, bei denen kein Status berechnet werden muss, werden diese vorerst ignoriert. Damit Sie nun die HW-/SW-Inventur nutzen können, aktivieren Sie die Verarbeitung der Daten. Praktischerweise funktioniert das ebenfalls über ein Regelset, so dass Sie die Inventur auf bestimmte Hosts einschränken, oder für verschiedene Hosts auch unterschiedliche Regeln anlegen können.

Legen Sie für die Aktivierung unter WATO ➳ Host & Service Parameters ➳ Hardware/Software-Inventory ➳ Do hardware/software inventory eine Regel an. Wenn Sie keine Checkbox aktivieren, werden hier Standardwerte gesetzt, wie sie in dem Screenshot zu sehen sind:

(Regel, um die Inventory zu aktivieren. Alle Optionen ausgeklappt, damit die Standardwerte sichtbar sind)

Nachdem Sie die Regel angelegt und die Änderungen aktiviert haben, wird automatisch auf allen beteiligten Hosts ein neuer Service erzeugt. Die Einrichtung ist damit bereits abgeschlossen und bei jedem beteiligten Host wird der neue Service Checkmk HW/SW Inventory erzeugt. Dieser Service nimmt den Status an, wie er in der Regel zuvor konfiguriert wurde.

(Bild des Service mit einer schicken Ausgabe)

3. Mit den Inventurdaten arbeiten

Um in die eigentliche HW-/SW-Inventur zu kommen, wechseln Sie zu den Services eines Host, klicken auf das Dropdown-Menü des neu angelegten Service Checkmk HW/SW Inventory und dann auf den Punkt {{Show Hardware/Software Inventory of this host}}.

(Dropdownmenü mit Inventory rot umrandet)

Sie befinden Sich nun in einer neuen Ansicht, die speziell für die HW-/SW-Inventur entwickelt wurde. In dieser können Sie die Daten eines Hosts strukturiert abrufen und auflisten. Der Inventurbaum gliedert sich dabei in die drei Hauptkategorien Hardware, Networking und Software. Ausgehend von diesen Punkten gehen Sie dann weiter in die Details hinein, bis Sie die konkreten Elemente einer Unterkategorie angezeigt bekommen:

(Den Inventorybaum anzeigen; Hardware und Processor sind offen)

Jedes konkrete Element wird dabei entweder als Liste mit einer Beschreibung und einem dazugehörigen Wert dargestellt (siehe oben). Oder die Elemente befinden sich in einer Tabelle, wie z. B. bei den Netzwerkschnittstellen:

(Auf Networking fokussieren; Interfaces ausklappen, damit die Tabelle sichtbar wird)

Diese Tabellen lassen sich dann auch filtern und durchsuchen. Klicken Sie dazu entweder auf den Link rechts oben bei der Tabelle. Alternativ finden Sie die durchsuchbaren Tabellen der HW-/SW-Inventur auch bei den Ansichten unter Inventory:

(View-Snapin mit ausgeklappter Inventory)

Hier können Sie dann manuell Filter setzen. Dabei ist es möglich für jede Spalte einen Filter zu setzen. Zusätzlich schränken Sie bei Bedarf auch die Hosts ein, welche in das Ergebnis einbezogen werden sollen. So können Sie zum Beispiel bequem schauen, ob und welche ihrer Hosts von einer Softwareversion betroffen ist, die als unsicher markiert wurde und entsprechend reagieren.

(Die Suche zeigen, wo nach einer bestimmten Version von Python gesucht wird)

Das Ergebnis wird dann ebenfalls in Tabellenform ausgegeben, sofern es einen Host gibt, auf den die Suche zutrifft:

(Das Ergebnis zeigt einen oder zwei Hosts)

4. Die HW-/SW-Inventur API

5. Fehlerbehebung

6. Dateien und Verzeichnisse