[Check_mk (deutsch)] Anfänger Fragen

Hallo liebe Community,

ich bin gerade dabei die ersten Gehversuche mit checkmk zu machen und habe da noch Verständnisprobleme. Ich überwache aktuell einen Test Linux Server mit CentOS und habe dort auch erfolgreich den Linux Agent aktiviert. Das klappt auch alles soweit und die Daten landen am Monitoring Server.

Ich möchte jedoch auf dem CentOS auch Dienste wie Apache, FTP, IMAP und Co. überwachen. Es gibt ja dafür auch bereits vorgefertigte Check Scripts am checkmk Server im Verzeichnis /opt/omd/versions/1.5.0p18.cre/share/check_mk/checks/.

Was mir allerdings noch nicht ganz klar ist wie ich diese Checks - als Beispiel “check_http” nun meinem Agent Host zuweisen kann. Über die Weboberfläche WATO scheint das nicht zu funktionieren, also einfach dem Host diesen Service zuzuordnen - vielleicht habe ich es aber auch nicht gefunden.

Was ich auch bereits probiert habe ist das check_http Script vom checkmk Server auf den überwachenden Host in das Verzeichnis /usr/lib/check_mk_agent/plugins als ausführbare Datei zu legen und anschließend in der Weboberfläche einen “full scan” zu machen. Da taucht dann auch nichts auf.

Vielleicht findet jemand die Zeit mir hier eine kurze grundsätzliche Beschreibung für mein check_http Beispiel zu geben. Was ist wo einzurichten, möglicherweise zu konfigurieren damit ich diesen Dienst in der Weboberfläche, neben den Agent Services, angezeigt bekomme.

Vielen Dank!

Hallo unbekannt,

Ich denke Du musst zu allererst mal umdenken wenn Du von Nagios kommst, was mir so scheint.
In check_mk wird bereits sehr vieles out of the box vom agenten geliefert und dynamisch als passive check angelegt. Schau Dir dazu mal die Ausgabe des Agenten mit telnet auf port 6556 an.
All das was da geliefert wird, kannst Du mit einer Regel „beeinflussen“.

In Deinem speziellen Problem ist das die Regel "State and count of processes". Dort kannst Du den Prozess definieren, den Du überwachen willst und die Thresholds dazu. Für Erklärungen kannst Du oben rechts den Bücherstapel anklicken.
Die Regel findest Du einmal unter „Manual Checks“ und unter „Parameters for discovered services“
Die „Manual Checks“ sind fix, d.h. der Dienst MUSS auf dem host laufen zu jeder Zeit. Die Regel unter „Parameters for discovered services“ erkennt den Service nur wenn er zum Zeitpunkt des Discovery auch vom Agenten geliefert wird, wenn nicht wird einfach kein Service erzeugt. Das ist der Dynamische Weg, hat aber den Nachteil, wenn Du Thresholds änderst musst Du den Service auch neu discoveren.

Die wirklichen active checks wie z.B. check_http kannst Du mit der entsprechenden Regel in den Conditions entweder direkt einen Host zuweisen (explicit hosts), oder indirekt über die host tags.

Die Konfig muss natürlich nach jeder Änderung aktiviert werden.

Lies Dir doch einfach mal die Doku auf der check_mk Webseite, die ist auf einem guten Stand und erklärt einiges.

Gruß

Michael

···

From: checkmk-de <checkmk-de-bounces@lists.mathias-kettner.de> On Behalf Of MU
Sent: Friday, June 28, 2019 10:25 AM
To: checkmk-de@lists.mathias-kettner.de
Subject: [Check_mk (deutsch)] Anfänger Fragen

Hallo liebe Community,

ich bin gerade dabei die ersten Gehversuche mit checkmk zu machen und habe da noch Verständnisprobleme. Ich überwache aktuell einen Test Linux Server mit CentOS und habe dort auch erfolgreich den Linux Agent aktiviert. Das klappt auch alles soweit und die Daten landen am Monitoring Server.

Ich möchte jedoch auf dem CentOS auch Dienste wie Apache, FTP, IMAP und Co. überwachen. Es gibt ja dafür auch bereits vorgefertigte Check Scripts am checkmk Server im Verzeichnis /opt/omd/versions/1.5.0p18.cre/share/check_mk/checks/.

Was mir allerdings noch nicht ganz klar ist wie ich diese Checks - als Beispiel "check_http" nun meinem Agent Host zuweisen kann. Über die Weboberfläche WATO scheint das nicht zu funktionieren, also einfach dem Host diesen Service zuzuordnen - vielleicht habe ich es aber auch nicht gefunden.

Was ich auch bereits probiert habe ist das check_http Script vom checkmk Server auf den überwachenden Host in das Verzeichnis /usr/lib/check_mk_agent/plugins als ausführbare Datei zu legen und anschließend in der Weboberfläche einen "full scan" zu machen. Da taucht dann auch nichts auf.

Vielleicht findet jemand die Zeit mir hier eine kurze grundsätzliche Beschreibung für mein check_http Beispiel zu geben. Was ist wo einzurichten, möglicherweise zu konfigurieren damit ich diesen Dienst in der Weboberfläche, neben den Agent Services, angezeigt bekomme.

Vielen Dank!

This electronic transmission (and any attachments thereto) is intended solely for the use of the addressee(s). It may contain confidential or legally privileged information. If you are not the intended recipient of this message, you must delete it immediately and notify the sender. Any unauthorized use or disclosure of this message is strictly prohibited. Faurecia does not guarantee the integrity of this transmission and shall therefore never be liable if the message is altered or falsified nor for any virus, interception or damage to your system.

Zitat von MU <eulses@gmail.com>:

Hallo liebe Community,

ich bin gerade dabei die ersten Gehversuche mit checkmk zu machen und habe
da noch Verständnisprobleme. Ich überwache aktuell einen Test Linux Server
mit CentOS und habe dort auch erfolgreich den Linux Agent aktiviert. Das
klappt auch alles soweit und die Daten landen am Monitoring Server.

Hallo,
du kannst in jedem check ganz unten System zuweisen oder aber du arbeitest mit Tags was auf Dauer der bessere Ansatz ist.
Unter

findest du das Handbuch das dir weiter hilft.

Zusätzlich gibt es einen Blog-Eintrag
https://blog.checkmk.com/how-to-monitor-webserver
der vielleicht auchs chon mal hilft.

Gruss

Ralf

Hi MU,

wenn Du den Agenten schon auf Deinem CentOS draufhast, dann hast Du doch schon automatisch den Apache vom Check_MK selbst?!

Ich bin jetzt kein großer Linuxer und auch kein Apache-Admin, aber was fehlt Dir noch?

Generell ist es so, dass die installierten Agenten die Daten an den Check_MK Server liefern.

Im Standard ist das in der Regel alles Wissenswerte von CPU, RAM, Disks, Netzwerk sowie ein Haufen Daten “üblicher” Dienste bzw. Applikationen.

Wenn man mehr benötigt als dass was der Agent liefert kann man das über Plugins realisieren.

Die Daten vom Agenten werden von den Checks in Check_MK “verarbeitet”.

Der von Dir angesprochene check_http ist noch etwas anders, das ist kein Plugin, damit prüft der Check_MK Server quasi eine http-Seite, ohne Agenten.

Ich prüfe damit z.B. unsere Homepage auf Erreichbarkeit, da wir diese nicht selbst hosten und ich auf dem Server vom Provider keinen Agenten installieren kann :wink: Und das kann man sehr wohl alles per WATO konfigurieren.

Grüße Marc

···

Von: checkmk-de checkmk-de-bounces@lists.mathias-kettner.de Im Auftrag von MU
Gesendet: Freitag, 28. Juni 2019 10:25
An: checkmk-de@lists.mathias-kettner.de
Betreff: [Check_mk (deutsch)] Anfänger Fragen

Hallo liebe Community,

ich bin gerade dabei die ersten Gehversuche mit checkmk zu machen und habe da noch Verständnisprobleme. Ich überwache aktuell einen Test Linux Server mit CentOS und habe dort auch erfolgreich den Linux Agent aktiviert. Das klappt auch alles soweit und die Daten landen am Monitoring Server.

Ich möchte jedoch auf dem CentOS auch Dienste wie Apache, FTP, IMAP und Co. überwachen. Es gibt ja dafür auch bereits vorgefertigte Check Scripts am checkmk Server im Verzeichnis /opt/omd/versions/1.5.0p18.cre/share/check_mk/checks/.

Was mir allerdings noch nicht ganz klar ist wie ich diese Checks - als Beispiel “check_http” nun meinem Agent Host zuweisen kann. Über die Weboberfläche WATO scheint das nicht zu funktionieren, also einfach dem Host diesen Service zuzuordnen - vielleicht habe ich es aber auch nicht gefunden.

Was ich auch bereits probiert habe ist das check_http Script vom checkmk Server auf den überwachenden Host in das Verzeichnis /usr/lib/check_mk_agent/plugins als ausführbare Datei zu legen und anschließend in der Weboberfläche einen “full scan” zu machen. Da taucht dann auch nichts auf.

Vielleicht findet jemand die Zeit mir hier eine kurze grundsätzliche Beschreibung für mein check_http Beispiel zu geben. Was ist wo einzurichten, möglicherweise zu konfigurieren damit ich diesen Dienst in der Weboberfläche, neben den Agent Services, angezeigt bekomme.

Vielen Dank!

Zitat von MU <eulses@gmail.com>:

Hallo liebe Community,

ich bin gerade dabei die ersten Gehversuche mit checkmk zu machen und habe
da noch Verständnisprobleme. Ich überwache aktuell einen Test Linux Server
mit CentOS und habe dort auch erfolgreich den Linux Agent aktiviert. Das
klappt auch alles soweit und die Daten landen am Monitoring Server.

Nachtrag:
Du solltest unbedingt prüfen ob der Webserver die erwarteten Inhalte ausliefert.
Dazu gibt es Optionen im http-check. Wichtig dabei ist aber die Prüfung uas der Richtung zu machen aus der auch die User / Kunden zugreifen.
Es macht keinen Sinn einen Server von innen zu prüfen und so nicht zu bemerken das eine externe Firewall z.B. sperrt.
Weier können z.B. CMS Systeme Ärger machen. Typo3 liegert bei vollgelaufenen Platten z.B. leere Seiten aus. Du kriegst also auf Port 80 eine Antwort aber nicht die die du haben willst.

Gruss

Ralf

Hallo,

Ich möchte jedoch auf dem CentOS auch Dienste wie Apache, FTP, IMAP und Co.
überwachen. Es gibt ja dafür auch bereits vorgefertigte Check Scripts am
checkmk Server im
Verzeichnis /opt/omd/versions/1.5.0p18.cre/share/check_mk/checks/.

Was mir allerdings noch nicht ganz klar ist wie ich diese Checks - als
Beispiel "check_http" nun meinem Agent Host zuweisen kann.

Die bisherigen vier Antworten auf deine Frage beziehen sich auf drei
verschiedene Dinge. Ich versuche, das mal etwas zu sortieren.

Einen Apache Webserver kannst du auf (mindestens) drei Arten überwachen.

Erstens durch einen aktiven Check. Aktiv bedeutet, der Checkmk Server baut
regelmäßig eine Verbindung auf den Webserver mit HTTP oder HTTPS auf und
versucht, eine Seite abzurufen.

Ein solcher Check wird nur am Server konfiguriert. Der Checkmk Agent auf dem
zu überwachenden System ist hier überhaupt nicht involviert. Der Check wird
mit den Plugin check_http, das du bereits gefunden hast, durchgeführt. Um
ihn zu konfigurieren, legst du in WATO eine Regel an:

Host and Service Parameters
-> Active Checks (HTTP, TCP etc.)
-> Check HTTP Service

Hier kannst du diverse Einstellungen vornehmen, z.B. das Protokoll
(HTTP/HTTPS), die Portnummer, die URI der abzurufenden Seite, eventuelle
Keywords, die in der Seite gefunden werden sollen, u.v.a.

Es ist auch möglich und sinnvoll, mehrere Regeln zur Überwachung des selben
Webservers auf dem selben Host einzurichten, um unterschiedliche Aspekte zu
überwachen. Beispielsweise erstelle ich für einen HTTPS Webserver immer zwei
Regeln, eine zum Abruf einer Webseite, die andere zur Prüfung des SSL/TLS
Zertifikates.

Was ich auch bereits probiert habe ist das check_http Script vom checkmk
Server auf den überwachenden Host in das
Verzeichnis /usr/lib/check_mk_agent/plugins als ausführbare Datei zu legen
und anschließend in der Weboberfläche einen "full scan" zu machen. Da
taucht dann auch nichts auf.

Das ist nicht sinnvoll, denn das check_http wird, genauso wie alles andere,
was in diesem Verzeichnis liegt, nur auf dem Server ausgeführt.

Die zweite Variante, einen Apache Server zu überwachen, ist mit einem
Check-Plugin.

Ein Check-Plugin besteht aus (mindestens) zwei Teilen: erstens einen Agent
Plugin, dass auf den zu überwachenden Server in das Plugins-Verzeichnis kopiert
werden muss. Es ermittelt auf dem zu überwachenden System die Messdaten und
überträgt sie beim Agent Run an den Server. Auf dem Server muss ein dazu
passendes Server-Plugin vorhanden sein, dass die vom Agent Plugin übertragenen
Werte parsen und interpretieren kann.

Viele Agent Plugins benötigen eine spezielle Konfiguration für das Plugin
und/oder für den zu überwachenden Dienst. Manche Plugins bieten zudem eine
Konfigurationsmöglichkeit über eine WATO Regel, die aber i.d.R. optional ist.

Das mitgelieferte Plugin für die Apache Überwachung heißt apache_status; die
beiden Teile befinden sich hier:

/opt/omd/versions/1.5.0p18.cre/share/check_mk/agents/plugins/apache_status
/opt/omd/versions/1.5.0p18.cre/share/check_mk/checks/apache_status

Das obere ist das Agent Plugin und wird in das Plugins-Verzeichnis des
Agent kopiert. Der genaue Pfad kann ja nach System unterschiedlich sein,
gängige Pfade sind /usr/lib/check_mk_agent/plugins oder
/usr/share/check-mk-agent/plugins. Das untere ist der serverseitige Teil des
Plugins. Damit muss man gar nichts machen; der Server benutzt es
automatisch, sobald er in der Ausgabe des Agents die Apache Status-
informationen sieht.

Das Apache Status Agent-Plugin kann optional in einer Konfigurationsdatei
konfiguriert werden; jedoch reicht die Autodetection meistens aus. Außerdem
benötigt es eine Konfiguration am Apache Webserver: dort muss das Modul
mod_status aktiviert sein und unter der URI /server-status seine Ausgaben
liefern. Genaueres über das Plugin findet man unter

Für das Apache Status Plugin gibt es auch eine WATO Regel, mit der man
einige Einstellungen machen kann. Das ist aber optional, ohne explizite
Regel greifen die Defaultwerte, die in den meisten Fällen ausreichend sind.
Die Regel liegt unter

Host and Service Parameters
-> Parameters for discovered services
-> Applications, Processes and Services
-> Apache Status

Ein dritter Weg, einen Apache Webserver zu überwachen, ist eine
Prozessüberwachung. Diese wird rein am Server konfiguriert. Eine Anpassung
am Agent ist nicht nötig, da dieser ohnehin bei jedem Agent Run die
vollständige Prozessliste an den Checkmk Server überträgt.

Die Regel findet man unter

Host and Service Parameters
-> Parameters for discovered services
-> Discovery - Automatic service detection
-> Process discovery

Hier kann man u.a. einstellen, wie der zu überwachende Prozess genau heißt,
und wie viele Instanzen mindestens/maximal davon laufen müssen.

Da das eine Inventorisierungsregel ist, muss man nach dem Erstellen der
Regel die Hosts, auf denen der Prozess überwacht werden soll, neu
inventorisieren.

Die drei genannten Methoden liefern unterschiedliche Informationen über den
Apache Webserver. Es ist daher möglich und sinnvoll, sie miteinander zu
kombinieren.

Ich hoffe, das hilft die weiter.

Gruß, Harald