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