1. Hosts, Services und Agenten
So, Checkmk steht bereit. Doch bevor wir mit dem eigentlichen Monitoring beginnen, werden wir kurz einige wichtige Begriffe erläutern. Das beginnt mit dem Host: Ein Host ist in Checkmk jedes eigenständige, physische oder virtuelle System, das von Checkmk überwacht wird. In der Regel handelt es sich um Dinge mit eigener IP-Adresse (Server, Switches, SNMP-Geräte, virtuelle Maschinen), aber auch um beispielsweise Docker Container oder andere logische Objekte ohne eine solche IP-Adresse. Jeder Host hat immer einen der Zustände UP, DOWN, UNREACH oder PEND.
Auf jedem Host wird eine Anzahl von Services überwacht. Ein Service kann dabei alles Mögliche sein, zum Beispiel ein Dateisystem, ein Prozess, ein Hardware-Sensor, ein Switchport — aber auch einfach nur eine bestimmte Metrik wie die CPU-Auslastung oder die RAM-Nutzung. Jeder Service hat einen der Zustände OK, WARN, CRIT, UNKNOWN oder PEND.
Damit Checkmk von einem Host Daten abfragen kann, ist ein Agent notwendig. Das ist ein kleines Programm, das auf dem Host installiert wird, und auf Anfrage Daten über den Zustand (oder die „Gesundheit“) des Hosts liefert. Server, auf denen Windows, Linux oder Unix läuft, können von Checkmk nur dann sinnvoll überwacht werden, wenn Sie dort einen von uns gelieferten Checkmk-Agenten installieren. Bei Netzwerkgeräten und vielen Appliances hat meist der Hersteller bereits einen Agenten eingebaut, den Checkmk ohne Weiteres mit dem standardisierten Protokoll SNMP abfragen kann. Cloud-Dienste wie Amazon Web Services (AWS) oder Azure stellen stattdessen eine Schnittstelle („API“) bereit, die von Checkmk per HTTP abgefragt werden kann.
2. Vorüberlegungen zu DNS
Auch wenn Checkmk keine Namensauflösung von Hosts voraussetzt, erleichtert ein gut gepflegtes Domain Name System (DNS) die Konfiguration erheblich und vermeidet Fehler, denn Checkmk kann dann die Namen der Hosts selbständig auflösen, ohne dass Sie IP-Adressen in Checkmk eintragen müssen.
Der Aufbau des Monitorings ist daher ein guter Anlass, zu überprüfen, ob Ihr DNS auf dem neuesten Stand ist und gegebenenfalls dort fehlende Einträge zu ergänzen.
3. Ordnerstruktur für Hosts
Checkmk verwaltet Ihre Hosts in einem hierarchischen Baum von Ordnern — ganz analog zu dem, was Sie von Dateien in Ihrem Betriebssystem kennen. Wenn Sie nur eine Handvoll Hosts überwachen, mag das für Sie weniger wichtig sein. Aber erinnern Sie sich: Checkmk ist für das Überwachen von Tausenden und Zigtausenden Hosts geschaffen — und dabei ist Ordnung die halbe Miete.
Bevor Sie die ersten Hosts in Checkmk aufnehmen, ist es daher von Vorteil, wenn Sie sich Gedanken über die Struktur dieser Ordner machen. Die Ordnerstruktur ist zum einen für Ihre eigene Übersicht nützlich. Wichtiger aber ist, dass sie für die Konfiguration von Checkmk verwendet werden kann: Alle Konfigurationsattribute von Hosts können in einem Ordner definiert werden, die dann automatisch an die dort enthaltenen Unterordner und Hosts vererbt werden. Daher ist es nicht nur, aber insbesondere für die Konfiguration großer Umgebungen elementar, von Beginn an eine wohlüberlegte Ordnerstruktur aufzusetzen.
Eine einmal erstellte Ordnerstruktur können Sie verändern — müssen dabei allerdings sehr gewissenhaft vorgehen. Das Verschieben eines Hosts in einen anderen Ordner kann nämlich zur Folge haben, dass sich dessen Attribute ändern, ohne dass Sie sich dessen vielleicht bewusst sind.
Die eigentliche Frage beim Aufbau einer für Sie sinnvollen Ordnerstruktur ist, nach welchen Kriterien Sie die Ordner organisieren möchten. Die Kriterien können in jeder Ebene des Baums andere sein. So können Sie z.B. in der ersten Ebene nach Standorten unterscheiden und in der zweiten Ebene nach Technologie.
Folgende Ordnungskriterien haben sich in der Praxis bewährt:
Standort/Geografie
Organisation
Technologie
Eine Sortierung nach Standort ist vor allem in größeren Unternehmen sehr naheliegend, insbesondere dann, wenn Sie das Monitoring über mehrere Checkmk-Server verteilen. Jeder Server überwacht dann z.B. eine Region oder ein Land. Wenn Ihre Ordner diese Aufteilung abbilden, dann können Sie z.B. im Ordner „München“ definieren, dass alle Hosts in diesem Ordner von der Checkmk-Instanz „muc“ aus überwacht werden sollen.
Alternativ dazu kann die Organisation (d.h. die Antwort auf die Frage "Wer ist für einen Host zuständig?“) ein sinnvolleres Kriterium sein, denn nicht immer ist Standort und Verantwortung das Gleiche. So mag es sein, dass eine Gruppe Ihrer Kollegen für die Administration von Oracle zuständig ist, und zwar unabhängig davon, an welchem Standort die entsprechenden Hosts stehen. Ist also z.B. der Ordner „Oracle“ für die Hosts der Oracle-Kollegen vorgesehen, so ist es in Checkmk einfach zu konfigurieren, dass alle Hosts unterhalb dieses Ordners nur für diese Kollegen sichtbar sind und, dass diese ihre Hosts dort sogar selbst pflegen können.
Eine Strukturierung nach Technologie könnte z.B. einen Ordner für Windows-Server und einen für Linux-Server vorsehen.
Das würde die Umsetzung des Schemas „Auf allen Linux-Servern muss der Prozess sshd
laufen.“ vereinfachen.
Ein anderes Beispiel ist die Überwachung von Geräten via SNMP, wie beispielsweise Switches oder Router.
Hier kommt kein Checkmk-Agent zum Einsatz, sondern die Geräte werden über das Protokoll SNMP abgefragt.
Sind diese Hosts in eigenen Ordnern zusammengefasst, so können Sie direkt am Ordner die für SNMP notwendigen Einstellungen wie etwa die „Community“ vornehmen.
Da eine Ordnerstruktur nur in seltenen Fällen die Komplexität der Wirklichkeit abbilden kann, bietet Checkmk mit den Host-Merkmalen (host tags) eine weitere ergänzende Möglichkeit zur Strukturierung: doch dazu in einem anderen Kapitel mehr. Weiterführende Informationen zur Ordnerstruktur finden Sie in den Artikeln über die Verwaltung und die Strukturierung von Hosts.
4. Ordner erstellen
Den Einstieg in die Verwaltung von Ordnern und Hosts finden Sie über die Navigationsleiste, das Setup-Menü, das Thema Hosts und den Eintrag Hosts. Dann wird die Seite Main angezeigt:
Bevor wir den ersten Ordner erstellen, werden wir kurz auf den Aufbau dieser Seite eingehen, da Sie die verschiedenen Elemente auf den meisten Checkmk-Seiten so oder so ähnlich wiederfinden werden. Unterhalb des Seitentitels Main finden Sie den Breadcrumb-Pfad, der Ihnen zeigt, wo Sie sich innerhalb der Checkmk-Oberfläche gerade befinden. Darunter wird die Menüleiste angezeigt, die die möglichen Aktionen auf dieser Seite in Menüs und Menüeinträgen zusammenfasst. Die Menüs sind in Checkmk stets kontext-spezifisch, d.h. sie finden nur Menüeinträge für Aktionen, die auf der aktuellen Seite Sinn ergeben.
Unter der Menüleiste finden Sie die Aktionsleiste, in der die wichtigsten Aktionen aus den Menüs als Knöpfe zum direkten Anklicken angeboten werden. Die Aktionsleiste können Sie mit dem Knopf rechts neben dem Help-Menü ausblenden und mit wieder einblenden. Bei ausgeblendeter Aktionsleiste werden die Symbole in der Menüleiste rechts neben angezeigt.
Da wir uns zurzeit auf einer leeren Seite befinden (ohne Ordner und ohne Hosts), werden die wichtigen Aktionen zum Erstellen des ersten Objekts zusätzlich über noch größere Knöpfe angeboten — damit die Möglichkeiten auch nicht übersehen werden, die die Seite bietet. Diese Knöpfe werden nach dem Erstellen des ersten Objekts verschwinden.
Nun aber zurück zum Thema, weswegen wir uns eigentlich auf dieser Seite befinden: dem Anlegen von Ordnern.
Einen Ordner — den Hauptordner — gibt es in jedem frisch aufgesetzten Checkmk-System.
Er heißt Main, wie Sie im Titel der Seite sehen können.
Unterhalb des Hauptordners werden wir nun für ein einfaches Beispiel die drei Ordner Windows
, Linux
und Network
erstellen.
Legen Sie den ersten der drei Ordner an, indem Sie eine der angebotenen Aktionen zum Erstellen eines Ordners auswählen, z.B. den Aktionsknopf Add folder. Auf der neuen Seite Add folder tragen Sie im ersten Kasten Basic settings den Ordnernamen ein:
Im obigen Bild ist der Show-less-Modus aktiv und es wird nur derjenige Eintrag angezeigt, der zum Erstellen eines Ordners unbedingt notwendig ist. Bestätigen Sie die Eingabe mit Save.
Erstellen Sie analog zum Ordner Windows
die anderen beiden Ordner Linux
und Network
.
Danach sieht die Situation so aus:
Tipp: Wenn Sie mit der Maus auf den Reiter oder den oberen Bereich eines Ordner-Symbols zeigen, klappt der Ordner auf und enthüllt die Symbole, die Sie benötigen, um wichtige Aktionen mit dem Ordner auszuführen (die Eigenschaften ändern, den Ordner verschieben oder ihn löschen).
Noch ein Tipp: Rechts oben auf jeder Seite finden Sie die Information, ob — und wenn ja, wie viele — Änderungen inzwischen bereits aufgelaufen sind. Da wir drei Ordner erstellt haben, gibt es drei Änderungen, die jetzt aber noch nicht aktiviert werden müssen. Wir werden uns mit dem Aktivieren von Änderungen weiter unten genauer beschäftigen.
5. Den ersten Host aufnehmen
Jetzt ist alles dafür vorbereitet, um den ersten Host in das Monitoring aufzunehmen — und was wäre naheliegender, als den Checkmk-Server selbst zu überwachen? Natürlich wird dieser nicht seinen eigenen Totalausfall melden können, aber nützlich ist das trotzdem, denn Sie erhalten so nicht nur eine Übersicht über die CPU- und RAM-Nutzung, sondern auch etliche Metriken und Checks, die das Checkmk-System selbst betreffen.
Das Vorgehen zum Aufnehmen eines Linux-Hosts (wie übrigens auch eines Windows-Hosts) ist im Prinzip stets das Folgende:
Agent herunterladen
Agent installieren
Host erstellen
Host registrieren
Nachdem der Host in der Konfigurationsumgebung erstellt wurde, werden zum Abschluss noch die Services konfiguriert und die Änderungen für die Monitoring-Umgebung aktiviert.
5.1. Agent herunterladen
Da der Checkmk-Server ein Linux-Rechner ist, benötigen Sie den Checkmk-Agenten für Linux.
In der Raw Edition finden Sie die vorkonfigurierten Linux-Pakete des Agenten über Setup > Agents > Linux:
In den kommerziellen Editionen gelangen Sie mit Setup > Agents > Windows, Linux, Solaris, AIX zu einer Seite, die Ihnen auch den Zugang zur Agentenbäckerei (Agent Bakery) bietet, mit der Sie sich individuell konfigurierte Agentenpakete „backen“ können. Von dieser Seite aus kommen Sie mit dem Menüeintrag Related > Linux, Solaris, AIX files zur Seite mit den Agentendateien wie in der Raw Edition.
Laden Sie die Paketdatei herunter: Wählen Sie das RPM-Dateiformat für Red Hat Enterprise Linux (RHEL) basierte Systeme und SLES oder das DEB-Dateiformat für Debian und Ubuntu.
5.2. Agent installieren
Für das folgende Installationsbeispiel nehmen wir an, dass sich die heruntergeladene Paketdatei im Verzeichnis /tmp/
befindet.
Falls Sie die Datei in ein anderes Verzeichnis heruntergeladen haben, ersetzen Sie im folgenden Installationskommando das Verzeichnis /tmp/
mit eben diesem Verzeichnis.
Ähnliches gilt für den Namen der Paketdatei, den Sie mit dem Namen der von Ihnen heruntergeladene Datei ersetzen.
Die Paketdatei wird nur während der Installation benötigt. Sie können sie nach der Installation löschen.
Hinweis: In unserem Beispiel wird der Agent auf dem Checkmk-Server installiert, d.h. Sie brauchen die Paketdatei nicht auf einen anderen Rechner zu kopieren.
Falls sich die heruntergeladene Datei nicht auf dem Ziel-Host für die Installation des Agenten befinden sollte, müssen Sie die Datei zuerst auf den Ziel-Host kopieren, zum Beispiel mit dem Kommandozeilentool scp
.
Das passiert auf die gleiche Weise wie bei der Installation der Checkmk-Software und wie es für die Linux-Installation beschrieben ist, z.B. für die Installation unter Debian und Ubuntu.
Die Installation erfolgt als root
auf der Kommandozeile, für die RPM-Datei mit rpm
, am besten mit der Option -U
, die für Update steht und dafür sorgt, dass die Installation auch dann fehlerlos durchläuft, wenn bereits eine alte Version des Agenten installiert ist:
root@linux# rpm -U /tmp/check-mk-agent-2.2.0p1-1.noarch.rpm
… oder für die DEB-Datei mit dem Befehl dpkg -i
:
root@linux# dpkg -i /tmp/check-mk-agent_2.2.0p1-1_all.deb
Mit dem Agenten wird der Agent Controller installiert, mit dem unter anderem bei der Registrierung die TLS-Verschlüsselung der Verbindung zum Checkmk-Server hergestellt wird.
Damit die Installation des Agent Controllers klappt, setzt dies eine Linux-Distribution mit dem init-System systemd
voraus, das seit 2015 in den meisten Linux-Distributionen Standard ist.
Für die seltenen Fälle, in denen der Agent Controller nicht verwendet werden kann, finden Sie Informationen im Artikel Linux überwachen im Legacy-Modus.
Damit ist die Installation des Agenten abgeschlossen. Die Kommandozeile können Sie geöffnet lassen. Sie wird nochmal bei der Registrierung des Hosts benötigt.
5.3. Host erstellen
Nachdem der Agent auf dem Host installiert ist, können Sie den Host in die Konfigurationsumgebung von Checkmk aufnehmen — und zwar in den vorbereiteten Ordner Linux. Nur zur Erinnerung: In diesem Beispiel sind der Checkmk-Server und der zu überwachende Host identisch.
Öffnen Sie in der Checkmk-Oberfläche die gleiche Seite Main, auf der Sie bereits die drei Ordner erstellt haben: Setup > Hosts > Hosts. Wechseln Sie dort in den Ordner Linux, indem Sie den Ordner anklicken.
Klicken Sie Add host und die Seite Add host wird geöffnet:
Wie schon beim Anlegen der drei Ordner weiter oben ist immer noch der Show-less-Modus aktiv. Daher zeigt Checkmk im Formular nur die wichtigsten und zum Erstellen eines Hosts notwendigen Host-Attribute an. Falls es Sie interessiert, können Sie sich den Rest ansehen, indem Sie bei jedem der geöffneten Kästen die drei Auslassungszeichen anklicken und die beiden zugeklappten Kästen am Ende der Seite öffnen. Wie am Anfang erwähnt, ist Checkmk ein komplexes System, das auf jede Frage eine Antwort hat. Deswegen kann man bei einem Host (aber nicht nur dort) auch sehr viel konfigurieren.
Tipp: Auf vielen Seiten — auch auf dieser — können Sie sich zusätzlich Hilfetexte zu den Attributen anzeigen lassen. Wählen Sie dazu im Help-Menü den Eintrag Show inline help. Die gewählte Einstellung bleibt auch auf anderen Seiten aktiv, bis Sie die Hilfe wieder abschalten. Das folgende Bild zeigt die Inline-Hilfe für den Parameter IPv4 address:
Aber nun zu den Eingaben, um den ersten Host zu erstellen. Sie müssen nur ein einziges Feld ausfüllen, nämlich Hostname bei den Basic settings.
Diesen Namen können Sie frei vergeben. Dabei sollten Sie aber wissen, dass der Host-Name von zentraler Bedeutung ist, denn er dient im Monitoring an allen Stellen als interne ID (oder Schlüssel) zur eindeutigen Identifizierung des Hosts. Da er in Checkmk so wichtig ist und oft genutzt wird, sollten Sie sich die Benamsung Ihrer Hosts gut überlegen. Ein Host-Name kann später geändert werden, aber da dies ein aufwendiger Vorgang ist, sollten Sie ihn vermeiden.
Am besten ist es, wenn der Host unter seinem Namen im DNS auflösbar ist. Dann sind Sie mit diesem Formular auch schon fertig. Falls nicht, oder falls Sie kein DNS verwenden möchten, können Sie die IP-Adresse aber auch von Hand im Feld IPv4 address eintragen.
Hinweis: Damit Checkmk immer stabil und performant laufen kann, unterhält es einen eigenen Cache für die Auflösung der Host-Namen. Daher führt der Ausfall des DNS-Dienstes nicht zum Ausfall des Monitorings. Die Details zu Host-Namen, IP-Adressen und DNS finden Sie im Artikel über die Verwaltung der Hosts.
Ein Host muss in der Konfigurationsumgebung existieren, bevor er im nächsten Schritt registriert werden kann. Schließen Sie also die Erstellung des Hosts vorerst ab, indem Sie auf Save & view folder klicken.
5.4. Host registrieren
Mit der Registrierung des Hosts beim Checkmk-Server wird das Vertrauensverhältnis zwischen beiden eingerichtet. Die Kommunikation zwischen Host und Server erfolgt dann nur noch Transport Layer Security (TLS) verschlüsselt.
Die Registrierung erfolgt durch Aufruf des Agent Controllers cmk-agent-ctl
als root
auf der Kommandozeile.
Für das Kommando benötigen Sie die Namen des Checkmk-Servers (im Beispiel mycmkserver
), der Checkmk-Instanz (mysite
) und des Hosts (localhost
), wie er soeben in Checkmk eingerichtet wurde.
Komplettiert werden die Optionen durch den Namen eines Checkmk-Benutzers mit Zugriff auf die REST-API.
Dazu können Sie cmkadmin
verwenden:
root@linux# cmk-agent-ctl register --hostname localhost --server mycmkserver --site mysite --user cmkadmin
Waren die angegebenen Werte korrekt, werden Sie aufgefordert, die Identität der Checkmk-Instanz zu bestätigen, zu der Sie die Verbindung herstellen wollen. Das zu bestätigende Server-Zertifikat haben wir aus Gründen der Übersichtlichkeit stark verkürzt:
Attempting to register at mycmkserver, port 8000. Server certificate details:
PEM-encoded certificate:
-----BEGIN CERTIFICATE-----
MIIC9zCCAd+gAwIBAgIUM7th5NaTjbkXVo1gMXVDC3XkX4QwDQYJKoZIhvcNAQEL
[...]
jbXj75+c48W2u4O0+KezRDIG/LdeVdk0Gq/kQQ8XmdqgObDU7mJKBArkuw==
-----END CERTIFICATE-----
Issued by:
Site 'mysite' local CA
Issued to:
mysite
Validity:
From Tue, 28 Feb 2023 15:55:26 +0000
To Thu, 28 Feb 3022 15:55:26 +0000
Do you want to establish this connection? [Y/n]
> Y
Please enter password for 'cmkadmin'
> *****
Registration complete.
Bestätigen Sie mit Y
und geben Sie anschließend auf Anforderung das Passwort des Benutzers cmkadmin
ein, um den Vorgang abzuschließen.
Falls keine Fehlermeldung angezeigt wird, ist die verschlüsselte Verbindung hergestellt. Über diese Verbindung werden alle Daten komprimiert übertragen.
Nach diesem (vorerst letzten) Ausflug auf die Kommandozeile, geht es wieder weiter in der Checkmk-Oberfläche.
5.5. Diagnose
Murphys Gesetz („Alles, was schiefgehen kann, wird auch schiefgehen.“) kann leider auch von Checkmk nicht außer Kraft gesetzt werden. Schiefgehen kann vor allem dann etwas, wenn man es zum ersten Mal probiert. Daher sind gute Möglichkeiten zur Fehlerdiagnose wichtig.
Bereits bei der Erstellung eines Hosts bietet Checkmk an, nicht nur die Eingaben (Host-Name und IP-Adresse) auf der Seite Add host zu sichern, sondern zusätzlich die Verbindung zum Host zu testen. Nach der kurzen Unterbrechung zur Registrierung werden wir diesen Verbindungstest nun nachholen. Auf der Seite Linux klicken Sie beim gerade erstellten Host auf das Symbol , um die Host-Eigenschaften zu öffnen. In der Aktionsleiste der Seite Properties of host finden Sie unter anderem den Knopf Save & run connection tests. Klicken Sie auf diesen.
Die Seite Test connection to host wird angezeigt und Checkmk versucht, den Host auf den verschiedensten Wegen zu erreichen. Für Linux- und Windows-Hosts sind dabei nur die beiden oberen Kästen interessant:
Durch die Ausgabe im Kasten Agent erhalten Sie die Gewissheit, dass Checkmk erfolgreich mit dem Agenten kommunizieren kann, den Sie zuvor auf dem Host manuell installiert und registriert hatten.
In weiteren Kästen sehen Sie, wie Checkmk versucht, per SNMP Kontakt aufzunehmen. Das führt in diesem Beispiel erwartbar zu SNMP-Fehlern, ist aber sehr nützlich für Netzwerkgeräte, die wir weiter unten besprechen werden.
Auf dieser Seite können Sie im Kasten Host Properties bei Bedarf eine andere IP-Adresse ausprobieren, den Test erneut durchführen und die geänderte IP-Adresse mit Save & go to host properties sogar direkt in die Host-Eigenschaften übernehmen.
Klicken Sie diesen Knopf (ob Sie die IP-Adresse geändert haben oder nicht) und Sie landen wieder auf der Seite Properties of host.
Weitere Möglichkeiten zur Diagnose finden Sie übrigens im Artikel zum Linux-Agenten.
5.6. Die Services konfigurieren
Nachdem der Host selbst aufgenommen wurde, kommt das eigentlich Interessante: die Konfiguration seiner Services. Auf der oben genannten Seite der Host-Eigenschaften klicken Sie Save & run service discovery und die Seite Services of host wird angezeigt.
Auf dieser Seite legen Sie fest, welche Services Sie auf dem Host überwachen möchten. Wenn der Agent auf dem Host erreichbar ist und korrekt läuft, findet Checkmk automatisch eine Reihe von Services und schlägt diese für das Monitoring vor (hier gekürzt dargestellt):
Für jeden dieser Services gibt es prinzipiell die folgenden Möglichkeiten:
Undecided : Sie haben sich noch nicht entschieden, ob dieser Service überwacht werden soll.
Monitored : Der Service wird überwacht.
Disabled : Sie haben sich dafür entschieden, den Service grundsätzlich nicht zu überwachen.
Vanished : Der Service wurde überwacht, existiert aber jetzt nicht mehr.
Die Seite zeigt alle Services nach diesen Kategorien in Tabellen an. Da Sie noch keinen Service konfiguriert haben, sehen Sie nur die Tabelle Undecided.
Wenn Sie auf Monitor undecided services klicken, werden alle Services direkt in das Monitoring übernommen und alle Undecided zu Monitored Services.
Umgekehrt können Services auch verschwinden, z.B. weil ein Dateisystem entfernt wurde. Diese erscheinen dann im Monitoring als UNKNOWN und auf dieser Seite als Vanished und können mit Remove vanished services aus dem Monitoring entfernt werden.
Für den Anfang ist es am einfachsten, wenn Sie jetzt auf den Knopf Accept all klicken, der alles auf einmal macht: fehlende Services hinzufügen, verschwundene entfernen — und zusätzlich gefundene Änderungen an Host-Labels übernehmen.
Sie können diese Seite jederzeit später aufrufen, um die Konfiguration der Services anzupassen. Manchmal entstehen durch Änderungen an einem Host neue Services, z.B. wenn Sie eine Logical Unit Number (LUN) als Dateisystem einbinden oder eine neue Oracle Datenbankinstanz konfigurieren. Diese Services erscheinen dann wieder als Undecided, und Sie können sie einzeln oder alle auf einmal in das Monitoring aufnehmen.
5.7. Änderungen aktivieren
Checkmk speichert alle Änderungen, die Sie vornehmen, zunächst nur in einer vorläufigen „Konfigurationsumgebung“, die das aktuell laufende Monitoring noch nicht beeinflusst. Erst durch das „Aktivieren der aufgelaufenen Änderungen“ werden diese in das Monitoring übernommen. Mehr über die Hintergründe dazu erfahren Sie im Artikel über die Konfiguration von Checkmk.
Wie wir schon oben erwähnt hatten, finden Sie auf jeder Seite rechts oben die Information, wie viele Änderungen sich bisher angesammelt haben, die noch nicht aktiviert sind. Klicken Sie auf den Link mit der Anzahl der Änderungen. Dies bringt Sie auf die Seite Activate pending changes, die unter anderem bei Pending changes die noch nicht aktivierten Änderungen auflistet:
Klicken Sie jetzt auf den Knopf Activate on selected sites, um die Änderungen anzuwenden.
Kurz danach können Sie das Resultat in der Seitenleiste im Overview sehen, der nunmehr die Zahl der Hosts (1) und die Zahl der zuvor von Ihnen ausgewählten Services anzeigt. Auch im Standard-Dashboard, das Sie mit einem Klick auf das Checkmk-Logo links oben in der Navigationsleiste erreichen, können Sie jetzt sehen, dass sich das System mit Leben gefüllt hat.
Damit haben Sie den ersten Host mit seinen Services erfolgreich ins Monitoring übernommen: Gratulation!
Detailliertere Informationen über den Linux-Agenten können Sie im Artikel über die Überwachung von Linux nachlesen. Informationen dazu, wie man ausstehende Änderungen wieder zurückzieht finden Sie in der Konfiguration von Checkmk.
6. Windows überwachen
Ebenso wie für Linux hat Checkmk auch für Windows einen eigenen Agenten. Dieser ist als MSI-Paket verpackt. Sie finden ihn nur einen Menüeintrag entfernt vom Linux-Agenten. Sobald Sie das MSI-Paket heruntergeladen und auf Ihren Windows-Rechner kopiert haben, können Sie es wie bei Windows üblich per Doppelklick installieren.
Sobald der Agent installiert ist, können Sie den Host in Checkmk erstellen, per Kommando registrieren und ins Monitoring aufnehmen.
Dabei gehen Sie nach dem gleichen Ablauf vor, wie oben für den Linux-Host beschrieben, allerdings sollten Sie den Host im dafür vorgesehenen Ordner Windows
erstellen.
Da Windows anders aufgebaut ist als Linux, findet der Agent natürlich andere Services.
Die detaillierte Einführung ins Thema finden Sie im Artikel über die Überwachung von Windows.
7. Mit SNMP überwachen
Professionelle Switches, Router, Drucker und viele andere Geräte und Appliances haben bereits vom Hersteller eine eingebaute Schnittstelle für das Monitoring: das Simple Network Management Protocol (SNMP). Solche Geräte lassen sich sehr einfach mit Checkmk überwachen — und Sie müssen noch nicht einmal einen Agenten installieren.
Das grundsätzliche Vorgehen ist dabei immer gleich:
In der Management-Oberfläche des Geräts schalten Sie SNMP frei für lesende Zugriffe von der IP-Adresse des Checkmk-Servers.
Vergeben Sie dabei eine Community. Das ist nichts anderes als ein Passwort für den Zugriff. Da dieses im Netzwerk in der Regel im Klartext übertragen wird, ist es nur begrenzt sinnvoll, das Kennwort sehr kompliziert zu wählen. Die meisten Anwender verwenden für alle Geräte innerhalb eines Unternehmens einfach die gleiche Community. Das vereinfacht auch die Konfiguration in Checkmk sehr.
Erstellen Sie in Checkmk den Host für das SNMP-Gerät wie oben beschrieben, diesmal im dafür vorgesehenen Ordner
Network
.In den Eigenschaften des Hosts, im Kasten Monitoring agents aktivieren Sie Checkmk agent / API integrations und wählen Sie No API integrations, no Checkmk agent aus.
Im gleichen Kasten Monitoring agents aktivieren Sie SNMP und wählen Sie SNMP v2 or v3 aus.
Falls die Community nicht
public
lautet, aktivieren Sie wieder unter Monitoring agents den Eintrag SNMP credentials, wählen Sie SNMP community (SNMP Versions 1 and 2c) aus und tragen Sie im Eingabefeld darunter die Community ein.
Für die letzten 3 Punkte sollte das Ergebnis so aussehen wie im folgenden Bild:
Tipp: Wenn Sie alle SNMP-Geräte in einem eigenen Ordner angelegt haben, führen Sie die Konfiguration der Monitoring agents einfach für den Ordner aus. Damit gelten die Einstellungen automatisch für alle Hosts in diesem Ordner.
Der Rest läuft wie gehabt. Wenn Sie möchten, können Sie noch mit dem Knopf Save & go to connection tests einen Blick auf die Seite Test connection to host werfen. Dort sehen Sie auch sofort, ob der Zugriff via SNMP funktioniert, hier z.B. für einen Switch:
Klicken Sie auf der Seite Properties of host anschließend auf Save & run service discovery, um die Liste aller Services angezeigt zu bekommen. Diese sieht natürlich komplett anders aus als bei Linux oder Windows. Auf allen Geräten überwacht Checkmk per Default alle Ports, die aktuell in Benutzung sind. Dies können Sie später nach Belieben anpassen. Außerdem zeigt Ihnen ein Service, der immer OK ist, die allgemeinen Informationen zu dem Gerät, und ein anderer Service die Uptime an.
Die ausführliche Beschreibung finden Sie im Artikel über die Überwachung via SNMP.
8. Cloud, Container und virtuelle Maschinen
Auch Cloud-Dienste, Container und virtuelle Maschinen (VM) können Sie mit Checkmk überwachen, selbst wenn Sie keinen Zugriff auf die eigentlichen Server haben. Checkmk nutzt dafür die von den Herstellern vorgesehenen Anwendungsprogrammierschnittstellen (API). Diese verwenden für den Zugriff durchgehend HTTP bzw. HTTPS.
Das Grundprinzip ist immer das Folgende:
Richten Sie in der Management-Oberfläche des Herstellers einen Account für Checkmk ein.
Erstellen Sie in Checkmk einen Host für den Zugriff auf die API.
Richten Sie für diesen Host eine Konfiguration zum Zugriff auf die API ein.
Für die überwachten Objekte wie VMs, EC2-Instanzen, Container usw. legen Sie weitere Hosts in Checkmk an bzw. automatisieren die Erstellung.
Sie finden im Handbuch Schritt-für-Schritt-Anleitungen zur Einrichtung der Überwachung von Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Docker, Kubernetes und VMware ESXi.