Checkmk 2.x Teil 1: Erste Schritte mit Checkmk 2.x

Inhaltsverzeichnis

In diesem Teil gehe ich auf die Installation und die wichtigste Konfiguration für Checkmk ein.

  • Verzeichnisse
  • Begriffe
  • Zertifikat für das Frontend installieren
  • Debuggen
  • Backup & Restore
  • Notification via E-Mail und MS_Teams
  • Checkmk Exchange

Download und Installation

Am besten man hält sich an die original Anweisungen.

https://checkmk.com/de/download

Wo ist was:

Im Verzeichnis /opt/omd/sites/ sind die sites von omd konfiguriert.

Unter /etc/apache2/conf-available/zzz_omd.conf findest Du den Link auf die apache confs im omd Verzeichnis

Logfiles: /opt/omd/sites/YOURSITENAME/var/log/

OMD Befehle: https://checkmk.com/de/guides/open-monitoring-distribution

Checkmk Exchange: https://exchange.checkmk.com/ um plugins runterzuladen.

Begriffe

  • Threshhold … Parameter die Checkmk sagen wann sie in den State „Warning“ oder „Critical“ gehen soll. e.g. Der Servicececk für ein Serverzertifikat könnte 15 Tage vor Ablauf in den Warning state gehen und 5 Tage vor Ablauf in den Critical State. Oder Warning, wenn 80% des HDD/SDD Speichers eines Hosts belegt ist.
  • ?? Parameter: Wie oft soll Checmk den Status eines Services checken
  • ?? Parameter: In welchem Zeitfenster sollen Notifications gesendet werden.

Start / Stop monitoring site

Einfach omd statusomd start oder omd stop verwenden

Konfiguration

Der erste Host

Klicke auf Setup – Hosts und dann auf Add Host

  • Hostname (valider hostname, keine Beschreibung) und IPv4 Adresse eingeben
  • Klick auf Chkmk agent/API und dann wähle „No API / no Chkmk agent“ aus
  • Klick auf „Save & go to service configuration

Der erste Service (Zertifikatscheck eines vhost der auf diesem Server läuft)

Klicke auf Setup und suche nach „http“ und wähle unter „HTTP, TCP, Email“ den Unterpunkt „Check HTTP services“ aus

Klicke nun auf „Add rule“

  • In der Rubrik „Check HTTP service“ gib den Service Namen „SSL.check“ ein (oder wähle selber einen)
  • gib nun bei den Host settings den vorher eingegebenen hostnamen ein, den TCP Port 443 und bei virtual host gibst du den Domain Namen deines VirtualHost ein
  • Bei Mode of Check wählst Du „Check SSL Certificate Age“ aus und gibst e.g. 14 bei warning und 5 bei Critical ein
  • Bei den Conditions musst Du Explicit hosts anklicken und dann Deinen vorher eingegebenen Host auswählen.
  • Speichern

Nun musst Du rechts oben auf das gelbe Rufzeichen klicken und „Activate on selected sites“ auswählen. Jetzt werden die neuen Hosts und Services abgespeichert und das Monitoring kann beginnen.

Hostname von Check MK ändern

Einfach mittels hostname Befehl. Beispiel: hostname nmc.mydomain.com

Zertifikat installieren

Erstelle ein Letsencrypt Zertifikat.

Apache config file: /etc/apache2/sites-available/nmc.yourdomain.com.conf

Füge folgenden Inhalt ein:

<VirtualHost *:80>
 ServerAdmin monitoring-admin@domain.com
 DocumentRoot /var/www/html
 ServerName nmc.YOURDOMAIN.COM
 Include /omd/apache/*.conf
 RewriteEngine On
 RewriteCond %{SERVER_PORT} !^443$
 RewriteRule (.*) https://%{HTTP_HOST}/$1 [L]
 RequestHeader set X-Forwarded-Proto "https"
</VirtualHost>

<VirtualHost *:443>
 ServerAdmin monitoring-admin@domain.com
 DocumentRoot /var/www/html
 ServerName nmc.YOURDOMAIN.COM
 SSLEngine on
 SSLCertificateFile      /etc/letsencrypt/live/nmc.YOURDOMAIN.COM/cert.pem
 SSLCertificateChainFile /etc/letsencrypt/live/nmc.YOURDOMAIN.COM/fullchain.pem
 SSLCertificateKeyFile   /etc/letsencrypt/live/nmc.YOURDOMAIN.COM/privkey.pem
 Include /omd/apache/*.conf
</VirtualHost>

SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder     off

Benutze a2ensite nmc.yourdomain.com.conf um die Eite zu enablen und restarte den apache.

Analysieren und Debugging von Checkmk

Bezüglich Performance und Security gibt es vorgefertigte funktionen

Gehe auf Setup – Maintenance – Analyze configuration und staune …!

Backup und Restore von Checkmk

To be finished …

Konfiguriere eine E-Mail Notification

Du musst auf Deinem Server mails abschicken können. Zum überprüfen:

echo “Mail Inhalt” | mail -s "Mail Titel" DEINE_EMAIL

Nun füge einen Benutzer ein. Klicke dabei auf Setup – Users – Users und dann auf „Add user“

  • Username: vorname.nachname
  • Full name: Vorname Nachname
  • Email address: Deine E-Mail Adresse
  • Du kannst das Einloggen verhindern indem Du „disable the login to this account“ anklickst.
  • Contact groups: Everything

Das war’s schon. Du kannst das testen indem Du einen „Fake Check“ durchführst. (Siehe nächstes Kapitel

Simulieren eines Fehlers mittels „Fake Check“

Um Notifications zu testen kann es sinn machen einen Fehler zu simulieren:

  • Klicke auf das Dashboard.
  • In der Service statistics klicke auf die „OK“-Services.
  • Klicke nun auf das erste Service.
  • Unter Commands findest Du den Menüpunkt „Fake check results“. Falls nicht musst Du auf „…“ (show more) klicken um alle Menüpunkte anzuzeigen.
  • Nun gibst Du bei Pluginoutput einen beliebeigen Text ein (e.g. Dies ist ein Test) und Klickst auf Critical.
  • Der Server sollte jetzt die Notification Mail absenden. (Siehe in Deiner Mailbox auch unter „Sonstige“ nach oder unter „Junk Mail“)

Erweiterungspakete von „Checkmk Exchange“ installieren

Um Notifications an MS Teams zu senden benötigt man das „Microsoft Teams Notification Plugin“. Hier zum Download.

Nun gehen sie in Checkmk auf Setup – Maintenance – Extension packages und laden das Plugin hoch.

Nun musst Du nur einen „incoming Webhook“ entsprechend der Vorgaben der „Microsoft Teams Notification Plugin“-Seite erstellen.

Unter Setup – Setup – Notifications – „Add rule“ kannst Du eine neue Notification hinzufügen.

  • Description: Notify all contacts of a host/service via Teams
  • Notification Method: MS-Teams
  • Webhook URL: <die URL vom Incoming Webhook, den Du vorhin bei Teams eingerichtet hast>

Das wars.

Teilen:
Weitere Posts
ChatGPT für CISOs

Eingangsstatement ChatGPT kann erfahrene ISMS-Berater nicht ersetzen, aber es bietet eine wertvolle Unterstützung bei schnellen Recherchen, der Dokumentenerstellung und konkreten Fragestellungen. So können Berater sich

Sende uns eine Nachricht