Check_MK in OMD einrichten

Veröffentlicht von

Update 2021-03-08: OMD hat mit Version 3.0 Checkmk rausgeworfen. Der hier beschriebene Weg geht bis zur OMD Version 2.90. Allerdings ist die Checkmk Version in OMD völlig veraltet und war 2018 schon nicht mehr ganz aktuell. Deswegen habe ich eine ansible Role erstellt die alle nötigen Tools vorkonfiguriert um das hier beschriebene Dual Graphing nutzen zu können. Viel Spaß beim lesen des dazugehörigen Beitrages ansible Checkmk.

Als primäres Monitoring System benutze ich Check_MK. Es liefert mir viele Vorteile, die ich Out-Of-The-Box in der Form in kaum einer anderen Monitoring Lösung gefunden habe.

  • Konfiguration über ein Web Interface
  • Bevorzugte check Methoden sind passive Checks
  • Service Discovery
  • Distributed Monitoring (Master / Slave)
  • Flexiblere Notifications als standard Nagios sie ermöglicht
  • Integrierte Business Intelligence (Hosts / Services in Abhängigkeit zueinander bringen)
  • Benachrichtigungen bei Events über z.B. SNMP Traps und Syslog Meldungen
  • Vorkonfigurierte Schwellwerte
  • Jegliche Konfiguration lässt sich über Tags miteinander verknüpfen
  • LDAP Authentifizierung

In diesem Beitrag geht es um die Installation einer Check_MK Site aus dem OMD Projekt von Console inklusive Visualisierung mit Hilfe von PNP4Nagios, InfluxDB und Grafana. In einem weiteren Beitrag werde ich auf die Überwachung eines Linux Hosts per SSH eingehen. Ich gehe von einem Debian System und ein grundsätzliches Verständnis von Linux aus. Das meiste geht aber auch unter anderen Distributionen.

Warum nutze ich OMD von Console und nicht die Check_MK Raw Edition? Weil das OMD Paket von Console für ein vollwertiges Monitoring System alles benötigte und noch mehr mitbringt, unter anderem Nagflux / Influx / Grafana / PNP4Nagios für die Visualisierung, und alles passend vorkonfiguriert. Da man im Check_MK Webinterface (nennt sich Wato) keine Grafana Grafen sehen kann, werden wir noch das alternative Webinterface Thruk, ebenfalls bei OMD mitgeliefert, anpassen. In Wato sehen wir dann am Ende die Grafen mit PNP4Nagios und in Thruk mit Grafana aus den Daten der InfluxDB. OMD ermöglicht somit ein vollständiges Monitoring System ohne viel Aufwand. Darüber hinaus bietet das Projekt aber nicht nur Check_MK. Es ist definitiv einen Blick über diesen Artikel hinaus wert.

OMD Repo einrichten

Console bietet unter https://labs.consol.de/repo/ Repositories für alle gängigen Linux Distributionen.
Nach der Auswahl, stable oder testing, den oben auf der Seite hinterlegten GPG Key einrichten und das Repository für die bevorzugte Distribution hinzufügen.
Copy-Paste fertige Kommandos zur Einrichtung sind unter dem Link zu den Repositories zu finden.

OMD installieren

OMD wird anschließend über den Paketmanager der Distribution installiert. Nach der Installation von OMD existiert allerdings noch keine sogenannte Site. Innerhalb einer Site läuft die Monitoringsoftware. Also nach Installation der omd-labs-edition eine Site mit Namen "prod" erstellen.

apt update && apt install omd-labs-edition libevent-2.0-5
omd create prod
Adding /omd/sites/prod/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/prod/tmp...OK
Restarting Apache...OK
Created new site prod with version 2.70-labs-edition.

The site can be started with omd start prod.
The default web UI is available at http://test01/prod/
The admin user for the web applications is omdadmin with password omd.
Please do a su - prod for administration of this site.

Die Meldungen nach omd create prod sollte man sich kurz durchlesen. Sie beinhalten die URL zur Site und die standard Logindaten.

Es lassen sich mehrere Sites mit unterschiedlichen Namen parallel betreiben. Das hat den Vorteil, dass man z.B. eine production und eine testing Umgebung nutzen kann. Oder verschiedene Monitoring Sites mit unterschiedlichen Konfigurationen.

Für jede Seite wird ein eigener Linux Benutzer mit dazu passender Gruppe erstellt, in diesem Fall Benutzer:Gruppe prod. Das Homeverzeichnis des Benutzers prod ist das Verzeichnis der OMD Site unter /opt/omd/sites. Weitere Informationen zum OMD File System Layout können unter https://labs.consol.de/omd/filesystem_layout.html nachgelesen werden.

Sollte man Dateien, wie z.B. Nagios Plugins, hinzufügen wollen, gehören diese meist innerhalb der Site in den Unterordner ./local. Ansonsten werden die Dateien nach einem Update der Site Version verloren gehen. Grundsätzlich gilt, dass keine Datei innerhalb der "gesymlikten" Ordner abgelegt werden sollte, da die Symlinks bei Updates durch Symlinks auf die neue Version ersetzt werden.

Check_MK / OMD konfigurieren

Jegliche weitere Konfiguration spezifisch für diese Monitoringsite wird im Kontext des dazu passenden Users ausgeführt. Dafür wechseln wir im nächsten Schritt zum Benutzer prod und konfigurieren die Site primär für Check_MK.

su - prod
omd config

In dem config Menü müssen diverse Einstellungen angepasst werden um primär Check_MK als Monitoring System zu benutzen. Ziel der folgenden Einstellungen ist die primäre Nutzung von Check_MK mit Icinga als Core, Wato (Webinterface von Check_MK) zur Konfiguration und Thruk (alternatives Webinterface) zum betrachten der Stati. Nagios Performancedaten werden gleichzeitig als PNP Grafen geschrieben und in eine InfluxDB gepusht. Grafana visualisiert die Daten aus der InfluxDB. Ich habe diesen Ansatz gewählt, um in Wato die PNP Grafen und in Thruk die Grafana Grafen sehen zu können.

Basic
Admin Mail: E-Mail Adresse, an die Nachrichten ohne expliziten Empfänger geschickt werden sollen
Core: Icinga

Web Gui
DEFAULT_GUI: check_mk
MULTISITE_AUTHORISATION: on
MULTISITE_COOKIE_AUTH: off
THRUK_COOKIE_AUTH: off

AddOns
Grafana: on
INFLUXDB: on
NAGFLUX: on
NAGVIS_URLS: check_mk
PNP4NAGIOS: gearman

Distributed Monitoring
MOD_GEARMAN: on

Das ganze lässt sich auch mit Hilfe des omd Befehls konfigurieren:

omd config set ADMIN_MAIL [E-MAIL ADDRESSE]
omd config set CORE icinga
omd config set DEFAULT_GUI check_mk
omd config set DOKUWIKI_AUTH off
omd config set GRAFANA on
omd config set INFLUXDB on
omd config set MOD_GEARMAN on
omd config set MULTISITE_AUTHORISATION on
omd config set MULTISITE_COOKIE_AUTH off
omd config set NAGFLUX on
omd config set NAGVIS_URLS check_mk
omd config set PNP4NAGIOS gearman
omd config set THRUK_COOKIE_AUTH off

Weitere OMD Commands

Dual Graphing für PNP4Nagios und Grafana einrichten

Sobald Nagflux in OMD aktiviert wird, werden die nötigen Konfigurationsanpassungen vorgenommen, damit die Daten mit der Hilfe von Nagflux in der InfluxDB landen. Da die Daten zusätzlich in PNP Grafen geschrieben werden sollen, muss Nagflux noch angewiesen werden, die Daten an mod-gearmen zu schicken der diese dann in PNP Daten schreibt. Dafür müssen zwei Konfigurationsdateien angepasst werden.

Diesen Eintrag zusätzlich hinzufügen,

nano etc/nagflux/config.gcfg
[ModGearman "prod"]
Enabled = true
Address = "127.0.0.1:4730"
Queue = "grafana_data"
Secret = ""
SecretFile = "/omd/sites/prod/etc/mod-gearman/secret.key"
Worker = 1

und hier die vorhandenen Einträge anpassen.

nano etc/mod-gearman/server.cfg
services=no
hosts=no

Um Grafana Grafen in Thruk darzustellen, bin ich mir nicht sicher, ob der folgende Teil der offiziell vorgesehene Weg ist! Es funktioniert bei mir und wird so auch bei anderen funktionieren. Wenn jemand aber weiß, wie es der offizielle Weg vorsieht, würde ich mich über eine Nachricht oder einen Kommentar freuen.

Jetzt noch die Nagios action_url für den default Host und Service anpassen um in Thruk die Grafana Grafen sehen zu können.

nano etc/nagios/conf.d/check_mk_templates.cfg

action_url für das check_mk_host template suchen (bei mir Zeile 115) und durch folgende ersetzen:

/prod/grafana/dashboard/script/histou.js?host=$HOSTNAME$&theme=light&annotations=true

action_url für das check_mk_perf template suchen (bei mir Zeile 187) und durch folgende ersetzen:

/prod/grafana/dashboard/script/histou.js?host=$HOSTNAME$&service=$SERVICEDESC$&theme=light&annotations=true

Jetzt können wir die Site mit omd start starten und die weitere Konfiguration über das Webinterface in Wato unter https://[IP-des-Servers]/prod/check_mk erledigen.

Grafen betrachten

Ich benutze Wato primär für die Konfiguration von Check_MK und Thruk (https://[IP-des-Servers]/prod/thruk), um mir die Stati der Hosts und Services anzusehen. In Wato bzw. Thruk lassen sich die Grafen an der gleichen Stelle betrachten, entweder in der Service Übersicht des Hosts oder direkt im Service.

Host Service Übersicht


Um das Popup sehen zu können, den Mauszeiger über das im Bild rot markierte Icon bewegen.

Service Übersicht

Zoom


Ein Klick auf die Grafen selber öffnet eine zusätzliche Übersicht in der z.B. Zeitspannen angegeben werden können oder weiter gezoomt werden kann.

Fazit

Jetzt steht ein in Grundzügen benutzbares Check_MK zur Verfügung, dass mit PNP4Nagios und Grafana Grafen darstellen kann. Der erste Host kann jetzt hinzugefügt werden. Im nächsten Artikel werde ich auf die Überwachung eines Linux Systems per SSH eingehen.

An dieser Stelle möchte ich noch einen mir wichtigen Punkt anbringen, den viele meiner Erfahrung nach vergessen:

Ein Monitoring System sollte auch nach dem Hinzufügen aller Hosts nicht als "fertig" oder ein abgeschlossenes Projekt angesehen werden. Es lebt und muss immer wieder gepflegt und an die eigenen Bedürfnisse angepasst werden. Ansonsten kann es seine Aufgabe nicht zur Zufriedenheit erledigen und keine Akzeptanz zum Monitoring System schaffen.

Referenzen:

https://labs.consol.de/omd/howtos/grafana/index.html
https://labs.consol.de/nagios/omd/2015/10/21/activate-nagflux.html

Weitere Artikel zum Thema Monitoring

Teile diesen Beitrag

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert