Check_MK aktualisieren

Wie man Check_MK aktualisieren kann

Zur Überwachung unserer IT-Infrastruktur verwenden wir OMD/Check_MK. Es lässt sich gut bedienen und wir haben den Status unserer Netzwerkkomponenten, Server, Drucker, etc. immer gut im Blick. Bis zuletzt haben wir noch die „old-stable“ Version verwendet (1.2.8), doch die CPU Auslastung stieg z.T. deutlich an, sodass es Zeit war, ein Upgrade auf die aktuelle stabile Version (1.4.0) vorzunehmen. Heute möchte ich zeigen, wie man Check_MK aktualisieren kann und was es dabei zu beachten gibt.

Check_MK aktualisieren

Mit Check_MK lassen sich mehrere Instanzen verwalten. Diese werden „sites“ genannt. Es ist möglich mehrere Versionen von Check_MK parallel zu installieren. Dabei kann jede Instanz eine der installierten Versionen verwenden. Das Softwareupgrade verhält sich also etwas anders, als man es vielleicht gewohnt ist.

Bevor wir unsere Instanz auf die neue Version upgraden können, müssen wir zuerst Check_MK aktualisieren. Dazu laden wir die aktuelle Version für Ubuntu 16.04 herunter (1.4.0).

$ wget https://mathias-kettner.de/support/1.4.0p26/check-mk-raw-1.4.0p26_0.xenial_amd64.deb

Danach müssen wir das Paket und evtl. fehlende Abhängigkeiten installieren:

$ sudo dpkg -i check-mk-raw-1.4.0p26_0.xenial_amd64.deb
$ sudo apt install -f

Nun können wir uns mit omd versions anzeigen lassen, ob die neue Version auch als Standard eingerichtet ist:

root@omd:~# omd versions
1.2.8p13.cre
1.4.0p26.cre (default)

Upgrade für OMD-Instanz durchführen

Die neue Version von Check_MK ist jetzt installiert, aber unsere „Site“, d.h. unsere Monitoring-Instanz verwendet noch immer die alte Version. Wir müssen also, neben Check_MK, auch diese noch aktualisieren. Dazu wechseln wir den Benutzer zu unserer Instanz mit

root@omd# su - meineInstanz

Zuerst stoppen wir unsere Instanz:

$ omd stop

Danach können wir das Update durchführen:

$ omd update

Bei der Durchführung des Upgrade bekommen wir einige Fragen gestellt, um Konflikte in der Konfiguration aufzulösen. Bei uns waren es v.a. Anpassungen von Dateirechten bei einigen Dateien. Hier kann man keine generelle Empfehlung geben, welche Antwort die richtige ist, aber so lange es sich nicht um eigene Anpassungen handelt, kann man i.d.R. die neue Version bzw. die neuen Dateirechte übernehmen.

Mit omd version können wir noch überprüfen, ob die aktuelle Version verwendet wird. Anschließend starten wir unsere Instanz wieder:

$ omd start

Wenn wir nun Check_MK im Browser aufrufen (https://monitoring.server/meineInstanz), kann es sein, dass wir folgende Warnung sehen:

Check_MK aktualiseren
(c) https://mathias-kettner.de

Durch das Update sind natürlich auch die Plugins aktualisiert oder ersetzt worden. Im Laufe der nächsten Stunden wird es deshalb immer wieder Warnungen über nicht aktive bzw. veraltete Services geben. Check_MK warnt ebenfalls vor inkompatiblen Änderungen (siehe Bild). Mit einem Klick auf „Show unacknowledged incompatible werks“ können wir uns diese Änderungen anzeigen und mit einem weiteren Klick auf „Acknowlegde all“ akzeptieren.

Slack/Mattermost Plugin hinzufügen

Wir verwenden ein Plugin, dass uns im Falle eines Problems eine Nachricht in unseren Mattermost #monitoring Kanal schickt. Dies wurde beim Upgrade nicht mit übernommen, sodass noch etwas Handarbeit nötig ist. Das Plugin müssen wir an die richtige Stelle kopieren und die Rechte anpassen.

$ cp /opt/omd/versions/1.2.8p13.cre/share/check_mk/notifications/slack /opt/omd/versions/1.4.0p26.cre/share/check_mk/notifications/slack
$ chmod +x /opt/omd/versions/1.4.0p26.cre/share/check_mk/notifications/slack

Noch besser kopiert man das Plugin nach /omd/sites/sitename/local/share/check_mk/notifications/. Dann muss man es nicht nach jedem Update neu kopieren:

$ cp /opt/omd/versions/1.2.8p13.cre/share/check_mk/notifications/slack /omd/sites/sitename/local/share/check_mk/notifications/
$ chmod +x /omd/sites/sitename/local/share/check_mk/notifications/slack

Falls noch nicht vorhanden, müssen wir auch noch folgendes Paket installieren:

$ apt install python-requests

Nun taucht das Plugin wieder unter WATO → Notifications auf.

Check_MK Mattermost Slack

Fazit

Nach dem Upgrade läuft Check_MK wieder rund. Check_MK ist ein tolles Projekt und es hilft uns sehr unser Netzwerk, unsere Firewall und unsere Geräte im Blick zu behalten. So können wir oft Probleme erkennen, bevor jemand anderes sie bemerkt 🙂

Welche Software nutzt du zur Überwachung deiner IT-Infrastruktur?

14 Comments:

  1. Anonymous

    Check MK ist schon klasse. Schade nur das keine Android App mehr geht. aNag ist ja nicht mehr kompatibel mit Check MK. War ganz nett im Smartphone die Benachrichtigungen live zu erhalten. Jetzt muss ich halt E-Mails lesen…..

  2. Andre

    Hallo Zenfaja,
    dein Notification Plugin ist verloren gegangen, weil du es nicht in der dafür vorgesehenen local Struktur abgelegt hast, das für solche Zwecke vorgesehen ist. In diesem Fall
    /omd/sites//local/share/check_mk/notifications/
    VG,
    Andre

  3. zefanja

    @Andre: Danke für den Tipp. Ich hatte schon mal was ähnliches probiert, aber scheinbar das falsche Verzeichnis genommen.

  4. Felix

    Hallo @All,

    ich finde Euren Blog echt cool und sehr informativ. Ich habe eine Bitte oder Frage an Euch, Ihr schreibt ja das Ihr Check_Mk mit dem Plugin für Mattermost benutzt. Bei mir funktioniert das leider nicht. Könnt ihr davon noch mal Euren Abaluf und Einstellungen beschreiben?

    Vielen Dank

  5. Felix

    hallo @zefanja, Danke für den tipp. Genau mit dem Plugin habe ich es nicht zum laufen bekommen. Ich habe extra die slack Datei angepasst wie es in der readme beschrieben wird. Wenn ich aber in check_mk die notification rule aktivieren will möchte er immer noch ein slack webhook .Kannst du mir eventuell screenshots zukommen lassen?

  6. zefanja

    @Felix: Wie sehen deine Variablen im Skript aus?


    slack_path = "/hooks/....."
    ...
    bot_name = "CMKBot"
    slack_domain = "deine.mattermost.domain"
    ....

    Den Webhook musst du in Mattermost als eingehenden Webhook anlegen.

    Siehst du das Plugin in Check_MK unter Notifications? Ist das Skript ausführbar?

  7. Felix

    slack_path = „/hooks/meinchannelhook“
    if „NOTIFY_PARAMETER_1“ in os.environ:
    channel = „#“ + os.environ[‚NOTIFY_PARAMETER_1‘]
    else:
    channel = ‚monitoring‘
    bot_name = „CMKBot“

    slack_domain = „meine.mattermost.domain“
    headers = {„Content-type“: „application/json“, „Accept“: „text/plain“}
    message = „*“ + os.environ[‚NOTIFY_NOTIFICATIONTYPE‘] + „* “
    plaintext = message
    message += „\n“ + os.environ[‚NOTIFY_HOSTNAME‘] + “ “
    plaintext += os.environ[‚NOTIFY_HOSTNAME‘] + “ “

    das script liegt in /opt/omd/versions/1.5.0p13.cre/share/check_mk/notifications/

    und ist ausführbar. Wenn ich dann im Check_mk notification bin kann ich slack aussuchen aber er fragt immer nach einem slack webhook.

  8. zefanja

    Wie es aussieht nutzen wir noch eine ältere Version des Skripts. Ich glaube, du solltest auf jeden Fall noch ein https:// vor deine Mattermost-Domain machen. Was passiert, wenn du dort die webhook URL noch mal einträgst?

  9. zefanja

    Kann es sein, dass du noch ein anderes Skript laufen hast? Diese Fehlermeldung finde nirgends im Quelltext. Schick mir mal deine eMail-Adresse. Da lässt es sich leichter kommunizieren (info@zefanjas.de)

  10. Achim

    Hallo,
    wir haben eine 1.6.0p6 installiert.
    Aktuell haben wir einige Agent die wir nicht mehr benötigen.
    Wir haben noch keinen Weg gefunden um ein Housekeeping durchzuführen. Vieleicht gibt es ja eine Information wie man nicht mehr benötigte Agent löschen kann?

Leave a Reply:

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