Checkmk

Aus Agilos Wiki
Zur Navigation springen Zur Suche springen


Was ist Checkmk?

Checkmk ist eine Software zum überwachen von Server, Netzwerke, Applikationen und ähnliches. Über „Agenten“ lassen sich die einzelnen „Hosts“ gebündelt auf einer Web-Oberfläche überwachen und kontrollieren. Es gibt dabei 5 verschiedene Editionen:

- Raw: Ist eine kostenlose Edition, die 100% Open-Source ist und die einfachste Edition von Checkmk.
- Enterprise: Ist die Edition, die für den Professionellen gebrauch gedacht ist. Sie hat die gleichen Funktionen wie die Raw Edition, und bietet noch weitere Funktionen an, wie zum Beispiel den Monitoring-Agent, der Informationen über die Zielsysteme beschafft, eine große Anzahl an Dashlets die dem Dashboard hinzugefügt werden können und vieles mehr.
- Cloud: Ist eine erweiterte Edition von der Enterprise Edition, die in Cloud-Umgebungen nützlich ist, die mit speziellen Plugins, Dashboard und ähnlichem.
- Free/Trial: Ist die gleiche Edition wie die Cloud Version, die allerdings für 30 Tage kostenlos ist, und ab dem Punkt dann entweder käuflich erworben werden kann, oder aber weiterhin kostenlos als Free Version genutzt werden kann, dann allerding nur mit einer Instanz und maximal 750 Services.
- MSP (Managed Service Provider): Ist für die Nutzung mit mehreren Kunden gedacht. Dadurch kann man mehrere Server von Kunden auf einem Dashboard haben, und kann seinen Kunden dann genau Zugriff auf die Services haben lassen, für die sie zuständig sind/die zu ihnen gehören.

Je nachdem, für welchen Zweck man Checkmk nutzen möchte, ist eine Edition besser als die andere.


Begriffe die im Laufe des Eintrages auftreten

Name Beschreibung
Site Damit ist die Instanz gemein, mit der wir uns Verbinden und über die alles angezeigt wird.
Host Der Host ist der Server, den wir hauptsächlich beobachten, und über den wir Informationen wollen.
Agent Der Agent ist die Verbindung zwischen unserem CheckMK Server und dem überwachten Server.
SNMP Simple Network Management Protokol dient zum Überwachen von Netzwerkgeräten.

Einrichtung eines Checkmk Servers

Installation von CheckMK

1. Checkmk öffnen und das richtige System auswählen.

2. Auswahl der Edition

3. Auswahl der Plattform

4. Checkmk downloaden und auf Server installierne.

Erstellen einer Site

1. Terminal auf Server aktivieren

2. Den Befehl „omd create Name der Site“ eingeben.

3. Admin und Passwort rauskopieren/aufschreiben

4. Den Befehl „omd start Name der Site“ eingeben und Start der Site auslösen.

5. Im Browser „IP des Servers/Name der Site“ eingeben.

6. Unter „Setup“ und dann „Users“ Password des Admin ändern.

Anlegen eines Agenten/Host

1. Checkmk WATO auf „Setup“ -> "Agents" -> „Windows, Linux, Solaris, AIX“

2. Agent für richtiges Betriebssystem aussuchen und Herunterladen.

3. Datei auf Ziel-Computer laden und installieren.

4. In Checkmk auf "Setups" -> "Hosts" -> "Hosts"

5. "Add host" auswählen, dem Host ein Namen geben und IP-Adresse des Computer eintrage

6. Alle angaben mit „Save & view folder“ speichern

Registrierung eines Hostes

1. Im Terminal des Servers den Befehl „cmk-agent-ctl register --hostname Name des Hosts --server Name/IP des Servers --site Name der Site --user Name des Users“

2. Passwort des Nutzers eingeben und Host ist angelegt.

3. Auf Checkmk selbst auf „Setup“ -> “Hosts“ -> “Hosts“ gehen.

4. Neuen Host suchen und mit Stift-Symbol bearbeiten.

5. Funktion „Save & run connection test“ ausführen und Verbindungen durchlaufen lassen.

6. Abschließend „Save & go to host properties“ auswählen.

Einrichtung von Services

1. Auf den Host gehen und „Save & run service discovery“ auswählen.

2. Den Punkt „Monitor undecided services“ auswählen und alle Services auswählen.

3. "Accept all" auswählen um alle änderungen durchzuführen.

Status der Services:

Undecided: Es wurde nicht entschieden, ob der Service überwacht werden soll.
Monitored: Der Service wird überwacht.
Disabled: Es wurde entschieden, den Service nicht zu überwachen.
Vanished: Der Service wurde überwacht, ist aber verschwunden.

Änderungen aktivieren

Änderungen in Checkmk müssen immer mit dem gelben Kreis/Dreieck am oberen Bildschirm akzeptiert werden.

Einfach den Kreis/Dreieck anklicken und auf „Activate on selected sites“ klicken, damit werden alle Änderungen gespeichert.

Eine Webseite monitoren:

1. Auf "Setup" gehen und „HTTP, TCP, Email, ...“ auswählen.

2. Mit "Check HTTP" eine Regel erstellen.

3. "Servicename" ist der Name der Seite, "Hostname" die IP-Adresse/DNS.

4. Haken bei "Virtual Host" setzen und "Use SSL/HTTPS/ auswählen.

5. Auf der Seite, die wir überwachen wollen den Quellcode aufrufen und einen String raussuchen und kopieren.

6. Den String in "Fixed string to expect in the content“ eintragen.

7. Abspeichern und fertig.

Zusatz: Kontrolle des Zertifikates

8. Erstellte Regel kopieren und bearbeiten.

9. Auf "SSL Zertifikat" umstellen und einstellen ab wann "warning" und "critical" eintritt.

Monitoring von Checkmk

Analyze configuration

Die Analyze configuration erlaubt dir, Fehler in der Einstellung von Checkmk zu finden. Du erreichst ihn unter „Setup“ -> „Maintenance“ und dort dann „Analyze configuration“. Hier findet man Tests und die passenden Ergebnise, die durchgeführt wurden. Das balue Icon liefert zusätzliche Infos, mit genaueren Infos zum Test. Wenn hier eine Warnung auftritt, kann man die Werte ändern, um es zu personalisieren. Änderungen müssen wieder über das Gelbe Symbol oben akzeptiert werden. Zum Schluss noch die Test mit dem Werkzeug Symbol als gesehen makieren, und der Test wird wieder "OK".

Problem erkennen

Probleme in Checkmk sind alle Zustände in denen ein Server oder ein Host nicht auf OK steht. Dies kann unterschiedliche Gründe haben. Wenn man auf den Host/Service klickt, bekommt man Details zu dem jeweiligen Punkt und sieht dort dann auch, was der Grund für den Fehler ist. Um jetzt ein Problem zu bestätigen, geht man auf den problematischen Host/Service. Dort kann man entweder direkt auf „Acknowledge problems“ gehen, oder das Feld im Reiter „Commands“ nutzen. Wenn man die Checkboxen aktiviert hat, dann kann man auch mehrere Probleme bestätigen. Wenn man auf „Acknowledge problems“ geht, dann wird man dazu aufgefordert ein Kommentar einzugeben. Da biete es sich dann einfach an, die Lösung hinzuschreiben. Nach dem bestätigen wird dann das Problem nicht mehr bei den „unhandeld Problems“ angezeigt. Sollte man nun wieder auf die Probleme gehen, hat man die Möglichkeit, die Probleme wieder als „unhandeld“ anzuzeigen. Dazu wählt man einfach den Punkt „Remove acknowledgement“ aus. Man wird gefragt, ob man dies wirklich tun möchte und danach wird der Fehler wieder normale angezeigt. Zusätzlich zu den normalen Kommentaren, kann man noch Sonderbedingungen hinzufügen. Einmal „sticky“, dabei wird ein Problem als „Handeld“ markiert, selbst wenn sich der Status von z.B. Warn auf Crit ändert. Dies hat den Vorteil, dass Probleme keine neuen Benachrichtigungen senden, obwohl sie bereits bearbeitet werden. Und das andere ist „persistent comment“. Dabei wird das Kommentar zu dem Problem quasi angepinnt und verschwindet nicht, wenn das Problem behoben ist. Dies hat den Vorteil, dass man auch später noch nachvollziehen kann, was genau gemacht wurde.

Wartungszeiten

Wartungszeiten werden genutzt um gezielte Downtimes von Services und Hosts einzurichten, damit diese keine Fehlermeldungen erzeugen.

1. Über "Monitor" auf "All Hosts" gehen und dann den Bestimmten Host auswählen.

2. Über der Tabelle auf den Hostnamen klicken und dann auf "schedule downtime"

3. Grund des Downtime als Kommentar einfügen und dann die Länge der Downtime, diese kann eingestellt werden wie man sie braucht.

4. Wenn ein Host in Downtime wechselt taucht ein kleines blaues Symbol auf, unter der man die Zeit theorethisch verlängern könnte.

Zusatz: Mehrere Hosts mit Regeln in Downtime setzen

5. Über "Setup" nach "Downtime suchen.

6. Mit "Recurring downtimes for hosts" stellt man die Regeln ein.

7. Name vergeben, Erster und letzter Einsatz der Regel/Downtime und Intervall, wann Downtime eingesetzt werden soll. (Zusätzliche einstellung, welche Host betroffen sind.)

Bulk action - Bearbeitung mehrere Hosts/Services gleichzeitig

1. Auf "Setup" gehen und dann "Hosts" auswählen.

2. "Show Checkboxs" auswählen und dann die zu bearbeitenden "Hosts" auswählen.

3. Mit den Punkten hier dann die Änderungen an den ausgewählten Hosts vornehmen.

Wichtig zu beachten: Hier gibt man nur an, was man ändern möchte. Nur weil man ein Punkt weglässt, heißt es nicht, dass dieser Wert wieder auf seinen Ursprünglichen zurückfällt. Dafür braucht man die Funktion „remove explicit attribute settings“. Hier gibt man dann die Punkte an, die man entfernen möchte.

Netzwerk Topologie

Mit der Netzwerk Topologie wird der Pfad von Checkmk zu einem Host dargestellt.

1. Auf "Setup" und dann "Hosts" gehen.

2. Den benötigten Host aufrufen und einen Switch als "Hosts" angeben.

3.

Bei einem Netzwerk in Checkmk kann man sich anzeigen lassen, inwiefern die Hosts mit der Site verknüpft sind. Zum Beispiel sind 4 der Hosts über einen Switch mit der Site verbunden. Wenn jetzt der Switch ausfallen würde, dann würden auch die 4 Hosts ausfallen und wir würden für alles eine Benachrichtigung bekommen. Da es mehr Sinn macht, in diesem Fall nur über den Switch bescheid zu wissen, kann man ein „Parent“ für die Hosts festlegen. Dazu muss man bei "Setup" auf „Host“ gehen. Dort kann man bei den Einstellungen für den Einzelnen Host ein Parent eintragen. Checkmk weiß dann, dass, um Zugriff auf den Host zu bekommen, er zuerst auf den Parent zugreifen muss. Und sollte der Parent dann nicht mehr erreichbar sein, wird der Host nicht als „Down“ angezeigt, sondern als „Unreachable“. Wenn ein Host über mehrere Switches erreichbar sein kann, dann kann man einem Host auch mehrere Parents zu weißen. Dadurch wird der Host selbst dann noch als „Up“ angezeigt, selbst wenn einer der Parents abgeschaltet ist.

Benachrichtigungen

1. E-Mail oder Handynummer auf Konto hinterlegen. Evtl. gleich auch einer "Contact Group" hinzufügen.

2. Dann über "Setup" nach „Assignment of services to contact groups“ suchen.

3. Hier dann die Kontaktgruppe auswählen und unter "Conditions" die Hosts und Services eingeben, von denen die Benachrichtigungen kommen sollen.

4. Mit "Setup" und "Notifications" wreden die Benachrichtigungen eingestellt.

5. Über "Show analysis" werden die 10 letzten Benachrichtigungen angezeigt und darüber lassen sich neue Benachrichtigungs Regeln testen.

Zusatz: Notification Bulking

"Notification Bulking" fasst mehrere Nachrichten an die gleiche Person in einer zusammen. Mit der Angabe, wie lange das Intervall sein soll, werden alle Nachrichten an diese Person gesammelt und dann erst abgeschickt.

Logfiles in Checkmk

Um sich über Checkmk die Logfiles anzuschauen, braucht man den Log Watch auf dem System. Log Watch ist quasi wie ein Agent, den man auf dem Server installiert, daher wird er auch wie jeder andere Agent auch, über „Setup“ -> „Agents“ aufgerufen. Dann gehen wir auf "Agent rules" und suchen nach log. Ab hier ist es dann wie bei den normalen Regeln. Hier stellen wir ein, dass die Agenten die Log Files bewachen sollen. Das kann man auch für mehrere Einstellen. Dazu geben wir noch ein, welche Logs genau beachtet werden soll. Sobald alles passend eingestellt wurde, gehen wir auf „Bake agents“ und laden den Agenten herunter. Diesen Agenten müssen wir dann wie andere Agenten dem Server hinzufügen. Dazu schalten wir uns auf den Server und installieren diesen. Danach muss der neue Agent auch gefunden werden. Dazu geht man auf die Hosts und macht eine neue „discovery“. Diese Änderungen werden akzeptiert und damit sind die Log Dateien auch schon einsehbar. Wenn Checkmk nun ein Fehler in einem Log gefunden hat, dann kann man den Host auswählen und im Menü des Log Checks auf „Open Log“ gehen. Hier findet man nun eine Detaillierte Ansicht des Log Eintrages. Was hierbei zu beachten ist: Selbst, wenn der Fehler, der im Log angezeigt wird, bereits gelöst ist, wird hier dennoch ein „Warning/Critical“ angezeigt. Das liegt daran, dass im Log immer noch der Fehler steht. Um dies wieder auf „OK“ zu stellen, muss man in „Open Log“ auf „clear log“ gehen. Dies sorgt dafür, dass das Log gesäubert wird und jeder Fehler, der dort drin stand entfernt wird. Und dadurch wird der Log Service wieder auf „OK“ gestellt. Eine wichtiger Hinweis bei Log Dateien über Windows: In Checkmk bekommen wir alle Log Events von Windows angezeigt. Und um dies etwas einzugrenzen, muss man die Log patterns bearbeiten. Dazu gehen wir auf „Setup“ und suchen dort „Logfile patterns“. Hier können wir einstellen, dass alle Logfile Services immer ein bestimmten zustand bekommen. Z.B. wenn in dem Log das Wort „Test“ vorkommt, wird das Log immer als „OK“ angezeigt. Über den "pattern analyzer" kann man dann die erstellten Regeln überprüfen. Man kann Zeilen seines Logs hier einfügen, um herauszufinden, ob eine Regel dazu passt.


Erweiterungen für Checkmk

MKP - Checkmk Packages

MKP sind Erweiterungen für Checkmk, die es Standartmäßig nicht in Checkmk gibt. Man kann sich eigene Erweiterungen erstellen, oder man sucht sich Online (exchange.checkmk.com) die Erweiterung, die man braucht, vielleicht hat ja jemand schon eine erstellt. Bei der Auswahl der richtigen Erweiterung muss man darauf achten, dass die Erweiterung auch für die Checkmk Version gedacht ist, die man selbst verwendet oder dass sie zumindest die Erweiterung verwenden kann. Um eine Erweiterung zu installieren gehen wir auf Checkmk auf den Reiter "Setup" und suchen „extension packages“. Hier sieht man normalerweise alle Erweiterungen, die man installiert hat. Um jetzt eine Erweiterung zu installieren, muss man auf „upload package“ gehen. Hier kann man dann unter „file to search“ die Datei suchen, die man gerade heruntergeladen hat und mit "upload" einfach installieren. Sobald das Package installiert ist, muss man die Änderung akzeptieren. (Wichtig zu beachten: Sollte man eine Check-Erweiterung heruntergeladen haben, dann müsste man jetzt eine Neue Service Discovery ausführen, damit der Check auch auf die Computer angewendet wird.) Wir haben auch die Möglichkeit Erweiterungen direkt über das Terminal zu bearbeiten. Dazu schalten wir uns über SSH auf den Server drauf, auf dem sich Checkmk befindet. Mit dem Befehl „mpk“ kann man sich ne Liste an MPK Befehlen anzeigen lassen, z.B. „mpk list“ was uns anzeigt, welche Erweiterungen aktuell installiert sind. Und damit kann man dann die Erweiterungen von dem Terminal aus verwalten.

Agent bakery

Mit der "Agent bakery" können wir Einstellungen der Agents direkt als Paket zusammengefasst auf die Host aufspielen. Dazu kann man "Tags" benutzen, um zu bestimmen, welche Hosts nun welche Einstellungen bekommen. Dazu gehen wir auf "Windows, Linux, Solaris, AIX", dort haben wir unter "Agents" den Punkt "Automatic updates". Hier sieht man einmal, was alles gemacht werden muss, damit die Agenten automatisch geupdatet werden können. Über den "signatur key" sorgt man dafür, dass die Automatischen Updates geschützt sind. Und jeder Agent fragt diese ab, bevor er ein Update des Agenten durchzieht.