Checkmk-Grundinstallation

Checkmk-Grundinstallation

5
(1)
Grundinstallation des Netzwerk Monitoring Tools – Checkmk (Raw Edition)

Nagios sowie die Open-Source-Anwendung Icinga sind in der IT-Welt bekannt und weit verbreitet, wir möchten uns in diesem Tutorial mit der alternativen Open Source Edition von Checkmk befassen. Die intuitiv bedienbare und moderne Web Administration Tool – Weboberfläche (WATO) erleichtert das einrichten und überwachen von Servern, Serverdiensten, Applikationen, Speicher, Datenbanken für unterschiedlichste Betriebssysteme erheblich, ganz besonders ab der Version 2.0. Aber auch andere Netzwerkkomponenten wie z.B. Switches können problemlos in die Überwachung mit aufgenommen werden. Checkmk unterstützt dabei SNMPv1 bis hin zu SNMPv3.

Ein weiters Plus zu Checkmk sind die zahlreichen, sehr detaillierten Dokumentationen in den unterschiedlichsten Sprachen. Auch unzählige Video-Tutorials im Netz u.a. durch die in den letzten Jahren stark angewachsene Community machen das Netzwerk Monitoring Tool sehr Interessant. Checkmk bietet auch bereits eine Docker-Variante an, allerdings wird aus performancegründen empfohlen eine direkte Installation auf einem Server durchzuführen, bei mir ist dieser Virtuell.

Weitere Tutorials für die Einbindung unterschiedlichster Netzwerkkomponenten folgen, jetzt soll es aber erst mal um die Grundinstallation von Checkmk gehen. Die Installation ist sehr intuitiv und in kürzester Zeit durchführbar.

Virtuelle Maschine (Checkmk Überwachungsserver)
Hostnameubuntu20042
GrundbetriebssystemUbuntu 20.04.2 LTS
IP-Adresse (Wirt der VM)192.168.1.156
Checkmk-Version Raw Edition - Version 2.0.0p2
Informationen zur Linux-Distribution und der IP-Adresse des Checkmk-Servers abrufen
Download der aktuellsten Open Source Raw Edition von der offiziellen Checkmk-Webseite
checkmk Raw Edition im Debian-Paket
es gibt mehrere Möglichkeiten das soeben heruntergeladene Debian-Paket auf dem Checkmk-Linux Server abzulegen, eine davon ist das kopieren über SFTP mit Hilfe der freien Software WinSCP. Dank WinSCP ist es Möglich eine Brücke zwischen Ihrem Windows und einem Linux-System aufzubauen, grafisch und benutzerfreundlich!

Nach der Installation auf Ihrem Windows-Clients starten Sie WinSCP
Geben Sie nun die Zugangsdaten zu Ihrem Checkmk-Server ein, in unserem Fall hat der Server die IP-Adresse 192.168.1.156 und der Benutzername ist Administrator. Klicken Sie danach auf Anmelden
Sie sind nun mit Ihrem Linux-System verbunden, ähnlich wie bei dem FTP-Client FileZilla sehen wir auf der linken Seite Ihren Windows-Client und rechts den Checkmk Linux-Server.

Wechseln Sie nun links zu Ihren soeben heruntergeladenen Debian-Paket…
und erstellen Sie rechts auf dem Linux-System ein neues Verzeichnis mit dem Namen checkmk
belassen Sie die Standard-Rechte und klicken Sie auf OK
wechseln Sie in das neu erstellte Verzeichnis auf dem Linux-System…
und laden das Debian-Paket hoch auf den Checkmk-Server
bestätigen Sie mit OK
die Fortschrittsanzeige gibt Ihnen bekannt, wenn der Upload auf den Server erfolgreich abgeschlossen ist,
schließen Sie nun WinSCP
wir wechseln nun auf das Linux-System und wechseln in das Verzeichnis wo das Debian-Paket abgelegt wurde
cd /home/administrator/checkmk

mit dem Befehl ls -l können Sie sich den Inhalt des Ordners anzeigen lassen
Verifizierung
Alle Pakete zu Checkmk werden mittels GnuPG signiert, so kann sicher gestellt werden, dass das Checkmk-Paket auch wirklich von der offiziellen Quelle stammt,a ußerdem wird geprüft ob das Paket insgesamt vollständig ist. Für eine erfolgreiche Verifikation installieren wir das Paket dpkg-sig wie folgt:
apt-get update (Advanced Packaging Tool-Paketlisten aktualisieren)
apt-get install dpkg-sig
wir laden einmalig den öffentlichen GPG-Schlüssel von der offiziellen Checkmk-Webseite herunter…
wget download.checkmk.com/checkmk/Check_MK-pubkey.gpg
und importieren diesen in die Liste der vertrauenswürdigen Signaturen mit dem Befehl
gpg --import Check_MK-pubkey.gpg
wir verifizieren nun das Checkmk-Paket mit dem folgenden Befehl
dpkg-sig --verify check-mk-raw-PAKET.deb
Checkmk – Installation
Für die Installation von Checkmk wird das Tools gdebi benötigt, es ist enthalten im gdebi-core-Paket und wird wie folgt installiert:
apt-get install gdebi-core
nun widmen wir uns Checkmk zu und Installieren das Paket mit allen benötigten Abhängigkeiten wie folgt:
sudo gdebi check-mk-raw-PAKET.deb
Ubuntu-Firewall konfigurieren
Sollten Sie auf Ihrem Ubuntu-System die Firewall aktiviert haben,
müssen Sie diese wie nun wie folgt konfigurieren um den externen Zugriff auf den Apache2-Webserver zu ermöglichen…
sudo ufw allow Apache
sudo ufw allow http
sudo ufw allow https

Konfiguration prüfen
sudo ufw status

Status-Ausgabe
Status: active
To Action From
-- ------ ----
Apache ALLOW Anywhere
OpenSSH ALLOW Anywhere
443/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
Apache (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)


ab sofort sollte der uneingeschränkte Zugriff auf die Checkmk-Weboberfläche möglich sein
Erstellen der ersten Checkmk – Instanz
Das Checkmk Monitoring System baut auf dem von Mathias Kettner gegründeten Open-Source-Projekt Open Monitoring Distribution (OMD), welches eine komfortable und flexible Installation der Monitoring Lösung ermöglicht.

Checkmk bietet u.a. die Möglichkeit auf einem System beliebig viele Instanzen parallel auszuführen, so können z.B. unterschiedliche Versionen von Checkmk Testweise ausgeführt werden, ohne dass dabei das produktive System gefährdet wird.

Eine Instanz wird mit Hilfe des omd-Befehls erstellt, wobei der Name (hier Instanz01) frei wählbar ist:
sudo omd create Instanz01

beim erstellen einer neuen Instanz wird immer eine eigene Verzeichnisstruktur generiert, gleichzeitig wird dabei ein Linux-Benutzer mit dem selben Namen angelegt…
Passwort über CLI ändern
das vom System vergebene Zufalls-Passwort des cmkadmin-Benutzers können Sie direkt über die CLI ändern wie folgt:
su - Instanz01
htpasswd etc/htpasswd cmkadmin
<Neues Passwort setzen>
exit
Instanzen anzeigen und starten
Status aller Instanzen anzeigen
sudo omd status

Instanz starten mit dem omd-Befehl
sudo omd start Instanz01
Web Administration Tool (WATO)
Nachdem die Instanz gestartet wurde, ist diese über einen Browser im selben Netzwerk erreichbar,
die URL für den ersten Aufruf lautet wie folgt: http://Checkmk-Server-IP/Instanz01

Zugangsdaten & Login
beim erstellen jeder neuen Instanz wird immer auch ein zufälliges Passwort für den Benutzer cmkadmin generiert, wir haben dieses Passwort direkt über die Kommandozeile geändert. Sie können diesen Schritt aber auch überspringen und jederzeit ein neues Passwort über die WATO-Weboberfläche setzten, aber dazu später mehr.
Nach dem Login gelangen Sie direkt auf die Standard-Startseite von Checkmk, dem Dashboard, hier behalten Sie neben der Notifikation u.a. über E-Mail immer den Überblick über alle Hosts und Dienste die Sie überwachen möchten…
Sicherheit sollte jedoch stets an erster stelle stehen, wie im folgenden Screenshot zu sehen ist, wird die Kommunikation über den Browser der Checkmk-Webseite nicht verschlüsselt. Dieses Sicherheitsproblem möchten wir in den nächsten Schritten lösen, dazu erstellen wir auf unserem Linux-Server ein selbst signiertes SSL-Zertifikat
self signed certificate erstellen
Transport Layer Security (TLS), auch bekannt unter der Vorgängerbezeichnung Secure Sockets Layer (SSL),
ist ein Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet, dieses möchten wir auch für unsere Checkmk-Webseite verwenden um alle Kommunikationen verschlüsselt führen zu können.

Verzeichnis mit dem Namen ssl unter /etc/apache2 erstellen, darin speichern gleich das Zertifikat ab
mkdir -p /etc/apache2/ssl
SSL-Zertifikat generieren mit dem Open-Source-Befehlszeilen-Toolkit OpenSSL
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.pem -out /etc/apache2/ssl/apache.pem

SSL/TLS-Zertifikat Typ X.509, dient zur Authentifizierung und Verifizierung der Identität eines Hosts oder einer Website (.pem)
RSA-Key mit 2048 Bit, bietet eine sichere Verschlüsselung von Daten
days gibt die Gültigkeitsdauer des Zertifikats in Tagen an
– keyout / -out, legt den Speicherpfad des neu generierten privaten Keys und des Zertifikates fest
Ausgabe der generierten PEM (Privalität Everbessert Mail) – Textdatei
cat /etc/apache2/ssl/apache.pem
neu generiertes Zertifikat verlinken
ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0
Rechte des Zertifikats einschränken
chmod 600 /etc/apache2/ssl/apache.pem

600 = Besitzer (6) lesen + schreiben, Gruppe (0) keine Rechte, Andere (0) keine Rechte
Um SSL/TLS verwenden zu können, muss der Apache Webserver auf TCP-Port 443 lauschen, dazu wird die ports.conf angepasst.
Beim aktuellen Apache2-Webserver ist dies Konfiguration bereits Standardmäßig eingestellt, dennoch sollte Sie diese Einstellung nochmals gegen prüfen
vim /etc/apache2/ports.conf
/etc/apache2/ports.conf
Apache2-Webserverkonfiguration neu laden
sudo service apache2 reload
Apache2 ssl Modul aktivieren
sudo a2enmod ssl
Apache2-Webser neu starten
systemctl restart apache2
neue ssl-Seite ssl.conf erstellen…
vim /etc/apache2/sites-available/ssl.conf
folgenden Eintrag hinzufügen
<virtualhost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /var/www/html
</virtualhost>
ssl.conf – Seite aktivieren
sudo a2ensite ssl.conf
Apache2-Webser erneut neu starten
/etc/init.d/apache2 restart
Testen und Aufruf der verschlüsselten Checkmk-Webseite mit https://
https://Checkmk-Server-IP/Instanz01

Klicken Sie nun für den Firefox-Browser auf Erweitert und Risiko akzeptieren und fortfahren

eine ähnliche Warnung wie im oberen Bild gezeigt erscheint nun bei allen bekannten Browsertypen, der Grund dafür ist das Selbstsignierte Zertifikat, dass wir zuvor erstellt haben, die Meldung ist zwar nicht schön anzuschauen…
aber dafür ist die Checkmk-Webseite nun sicher https-verschlüsselt,
weitere Informationen zum Zertifikat selbst finden Sie, wenn Sie auf das Schloss in der URL-Leiste klicken
Die Webseite ist nun sicher verschlüsselt,
allerdings können wir die Webseite noch immer unverschlüsselt aufrufen über http,
um dies zukünftig ebenfalls zu verhindern und alle http-Anfragen auf die gesicherte https-Webseite umzuleiten…
öffnen wir default-Seite unseres Apache2-Webservers mit dem vim-Editor
vim /etc/apache2/sites-enabled/000-default.conf
um den Redirect von http auf https einzustellen, müssen nur drei zusätzliche Zeilen in der 000-default.conf hinzugefügt werden
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L]
damit die Änderungen übernommen werden, muss der Apache2-Webserver neu gestartet werden
/etc/init.d/apache2 restart
ab sofort sollten alle Anfragen zu unserer Checkmk-Webseite auf die verschlüsselte Webseite umgeleitet werden
WATO-Weboberfläche
für das ändern der Sprache bzw. sonstiger Profileinstellungen für den Benutzers cmkadmin gehen Sie wie folgt vor
User / Profile / Edit profile
hier können Sie nun wenn gewünscht die Sprache umstellen, zusätzlich haben Sie hier auch die Möglichkeit die Ansicht Ihrer WATO-Weboberfläche auf Ihre Bedürfnisse anzupassen…
ich persönlich bevorzuge es die Seitenleiste für weitere Zusatzelemente auf der linken Seite zu platzieren (1), außerdem möchte ich die Titel der Navigationsleiste ausblenden (2), zuletzt möchte ich noch die Übersicht erweitern für mehr Informationen (3), nachdem alle Einstellungen abgeschlossen sind, klicken Sie auf Speichern
unterhalb der Seitenleiste befindet sich ein Pluszeichen,
über dieses können Sie jederzeit weitere Seitenleistenelemente hinzufügen oder entfernen
Checkmk – Seitenleiste mit weiteren Elementen
E-Mail Versand mit Postfix auf dem Linux-System einrichten
Die WATO-Weboberfläche ist nun soweit vorbereitet für die Überwachung weiterer Netzwerkkomponenten, um nicht jederzeit die Hosts und Dienste direkt über die WATO-Weboberfläche Überwachen zu müssen, werden wir zusätzlich die E-Mail Benachrichtigung auf unserem Server aktivieren.

Mit Hilfe des Mail Transfer Agents postfix und einem Gmail Konto mit App-Passwort ist dies schnell und einfach erledigt

Installation von postfix und bsd-mailx
sudo apt-get install -y postfix bsd-mailx
nach der Installation müssen noch einige Anpassungen in der postfix-Konfigurationsdatei main.cf vorgenommen werden,
um später E-Mail Benachrichtigungen über den Checkmk-Server versenden zu können
vim /etc/postfix/main.cf
wir fügen die folgenden drei Zeilen der main.cf hinzu
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

Zusätzlich muss ein relayhost, also der SMTP-Mailserver (hier von Gmail) für den Versand mit eingetragen werden
relayhost = smtp.gmail.com
da wir die Zugangsdaten für den Mailversand das Gmail-Konto nicht direkt in der Konfigurationsdatei abspeichern möchten,
legen wir ein neues File an, worin diese gespeichert werden sollen
vim /etc/postfix/sasl_passwd
hier tragen wir nun alle wichtigen Informationen zum Mailversand in der folgenden Anordnung ein
Bsp: smtp.gmail.com SMTP-E-Mail-Adresse:Gmail-App-Passwort
wir konvertieren die Textdatei sasl_passwd in ein binäres Datenbankformat wie folgt
sudo postmap /etc/postfix/sasl_passwd
final starten wir die postfix-Dienste neu
sudo /etc/init.d/postfix restart
die Konfiguration des Checkmk Linux-Systems für den E-Mailversand ist nun abgeschlossen. Zeit für eine Test E-Mail
echo "Dies ist eine Test E-Mail vom checkmk-Server" | mailx -s "Test" ihre_notification_e-mail-adresse@gmail.com
Glückwunsch! Der E-Mail Versand vom Server aus war erfolgreich 🙂
E-Mail Notifikation in Checkmk aktivieren
zurück auf der WATO-Weboberfläche aktivieren wir für den Benutzer cmkadmin die E-Mail Benachrichtigung
Zahnrad-Symbol / Benutzer / Benutzer
wechseln Sie in die Eigenschaften des Benutzers cmkadmin über das Bleistift-Symbol
im folgenden Fenster tragen Sie Ihre E-Mail Adresse ein (1), prüfen ob die Rolle für den Administrator angehakt ist (2),
aktivieren unter Kontaktgruppen die Option Everything und Speichern Sie die Einstellungen (4)

Hier können Sie auch die Zugangsdaten für den Benutzer cmkadmin ändern,
wenn Sie diese nicht über das Konsolefenster anpassen möchten
um die Änderungen Systemweit zu übernehmen, bietet die WATO-Weboberfläche rechts oben einen Link für die Änderung an markiert durch ein gelbes Ausrufezeichen (1), klicken Sie auf X Änderung(en) und danach auf den Button Auf ausgewählten Instanzen aktivieren (2)
in den folgenden Schritten legen wir fest, was genau in der E-Mail Benachrichtigung von Checkmk stehen werden soll, Serverinformationen, Zeiten, Grafen etc.
Benutzer-Symbol / Profil /Alarmierungsregeln
Regel hinzufügen
geben Sie im folgenden Fenster eine kurze Beschreibung für die Alarmierungsregel an (1), wählen Sie die Alarmierungsmethoden,
die später in der E-Mail auftauchen sollen, z.B. wenn ein Problemfall eintritt für einen Host (2), Speichern Sie (3)
Für einen E-Mail Test simulieren wir einen Host der nicht erreichbar ist, dies werden wir in weiteren Tutorials vertiefen,
jetzt soll es nur um einen schnellen Test gehen
Zahnrad-Symbol / Hosts / Hosts
Erzeuge neuen Host
wir tragen nun eine IP-Adresse ein, die in unserem Netzwerk nicht existiert um einen Hostausfall zu Simulieren,
wählen Sie unter Checkmk agent die Option No agent aus, so überwachen wir nur den Ping eines Hosts
wir übernehmen erneut die Änderungen über das gelbe Ausrufezeichen
der Simulations-Host taucht nun in der Übersicht und im Dashboard von Checkmk auf…
wenn alle E-Mail Einstellungen korrekt vorgenommen wurden, sollten Sie nach wenigen Minuten eine E-Mail bekommen
mit weiteren Informationen zum „Problem-Host“


weiter mit Checkmk-Setup

Diesen Beitrag Bewerten

Durchschnittliche Bewertung 5 / 5. Anzahl der Bewertungen 1

Bislang wurde noch keine Bewertung zu diesem Beitrag abgegeben

Schreiben Sie einen Kommentar

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