Mariadb/MYSQL Datenbanken per Checkmk überwachen

Datenbanken sind das Herzstück jedes Unternehmens. Wenn sie ausfallen oder Daten verloren gehen, kann das schnell zu großen Problemen führen. Deshalb ist es wichtig, die Gesundheit Ihrer Datenbanken stets im Blick zu behalten und frühzeitig zu reagieren, bevor es zu einem Notfall kommt.

In diesem Beitrag zeigen wir Ihnen, wie Sie mit Checkmk ganz einfach Ihre Datenbanken überwachen können – etwa das Alter von Dumps, die Größe und die Vollständigkeit. So stellen Sie sicher, dass alles reibungslos läuft und Probleme erst gar nicht entstehen.

Vorwort

In diesem Artikel gehen wir davon aus, dass Sie bereits eine funktionierende Checkmk Instanz haben. Ist das nicht der Fall und benötigen Sie Hilfe, bei der Einrichtung und Integration Ihrer persönlichen Checkmk Instanz, dann kontaktieren Sie uns! Wir unterstützen Sie gerne.

Wir werden einige Fachbegriffe im Laufe dieses Beitrages benutzen, daher hier eine kurze Erklärung dazu:

  • Host: Das Zu überwachende Gerät.
  • Checkmk-Instanz: Die Checkmk „Überwachungszentrale“ über die Sie alles überwachen.
  • Agent: eine Software, welche auf dem Host installiert wird, dort alle wichtigen Anwendungen überwacht und der Checkmk Instanz Informationen über den aktuellen Stand dieser sendet.
  • Agent Bakery: Dieses Werkzeug gibt es nur in der Enterprise Edition. Damit lassen sich Erweiterungen und Anpassungen des Agenten direkt über Checkmk an die Hosts verteilen – ganz ohne manuelle Installation auf der Kommandozeile.
  • Service discovery: Hier kommuniziert die Checkmk Instanz zum ersten Mal mit dem Agenten, um herauszufinden welche Anwendungen überwacht werden müssen.

So und jetzt kommen wir zum Thema!

Einrichten der Datenbanküberwachung

Um Ihre Datenbanken überwachen zu können, müssen Sie diese als Hosts in Checkmk anlegen, den Checkmk Agenten auf den Server mit der Datenbank installieren, das Plugin über Checkmk auswählen und auf den Host installieren, über die Service discovery die Checks auf den Host anwenden und diese Einstellungen auf Checkmk aktivieren.

Aber schauen wir uns das mal Schritt-für-Schritt an.

Schritt 1: Host anlegen

Damit Sie etwas in Checkmk überwachen können, muss es als Host in Checkmk hinterlegt sein. Wie Sie das machen, haben wir bereits in einem anderen Artikel beschrieben: Checkmk Basics: Anlegen eines Hosts.

Im Prinzip, gehen Sie auf Setup > Hosts > Hosts, fügen dort einen Ordner hinzu (wenn erwünscht) und legen dann innerhalb des Ordners (oder direkt in dem Menü, wenn Sie keinen Ordner anlegen möchten) den Host über ‚Add Host‘ an.

Schritt 2: Checkmk Agenten auf den Server installieren

Der Checkmk Agent muss auf Ihren Server installiert werden (keine Sorge, das ist ein sehr kleines Programm), um die Gesundheitsdaten Ihrer Datenbanken abzugreifen und diese an Checkmk zu senden. Auch diesbezüglich haben wir bereits einen Beitrag: Checkmk Basics: der Checkmk Agent.

Kurz gesagt, verbinden Sie sich auf den Server, der überwacht werden soll und geben dann dort ein:

wget --no-check-certificate http://ipDerSeite/Sitename/check_mk/Pfad/Zu/Dem/Agenten

Natürlich müssen Sie die Daten nach http:// mit Ihren eigenen Daten ersetzen. Der „Pfad/Zu/Dem/Agenten“ ist normalerweise, /agents. Dort finden Sie die standard Agenten, wenn Sie ein spezielles Plugin finden wollen, können Sie sich dann von dort aus durchklicken.

Das bedeutet, am besten geben Sie in Ihren Browser ein http://IhreCheckmkSeite/IhrSitename/agents, klicken sich dort durch, finden den Agenten, den Sie haben wollen kopieren die Link-Adresse per Rechtsklick. Diese Adresse fügen Sie dann in den Befehl ein, der oben steht.

Wenn Sie genaueres zu dem Thema wissen wollen, schauen Sie sich den Artikel an, den wir Ihnen dazu verlinkt haben, dort ist alles sauber dokumentiert.

Schritt 3: Das Plugin installieren

Hier kommt es jetzt darauf an, ob Sie eine Checkmk Enterprise (Bezahlversion) oder eine Checkmk RAW (Kostenfreie Version) haben. Schauen wir uns mal beides an!

Wir nehmen hier als Beispiel MySQL, das Prozedere ist aber mit anderen Datenbanken dasselbe.

Schritt 3.1: Das Plugin unter Checkmk Enterprise

In Checkmk Enterprise, gehen Sie auf Ihre Checkmk Weboberfläche, klicken dort auf ‚Setup‘ in der linken, vertikalen Aktionssammlung und suchen nach ‚mysql‘.

mysql Plugin in Checkmk

Dort brauchen wir den Punkt ‚MYSQL Databases‘, diesen klicken Sie nun an.

Jetzt befinden Sie sich im Konfigurationsmenü der MYSQL Plugins. Hier können Sie, über den Knopf ‚Add rule‘ einstellen, was genau Sie mit dem MYSQL Plugin machen möchten und wer es bekommen soll. Aber schauen wir uns die Maske mal genauer an!

mysql mit Checkmk überwachen

Im Bereich ‚Rule Properties‘ können Sie Ihrer Regel nun eine Beschreibung und ein Kommentar vergeben. Diese dienen nur der einfacheren Zuordnung und haben keine Funktion.

Unter ‚MySQL Databases‘ können Sie jetzt entscheiden, was genau Sie machen möchten.

  • Sie können das Plugin installieren oder auswählen, dass es nicht installiert werden soll (Das ist nützlich, wenn der Großteil ihrer Hosts in Checkmk Datenbanken sind und nur einige wenige KEIN Datenbank Plugin brauchen).
  • Über die ‚Credentials to access the database‘ können Sie einen Namen und ein Passwort hinterlegen, wenn Ihre Datenbank passwortgeschützt ist.
  • Über ‚Sockets‘ können Sie einen bestimmten Pfad setzen, unter dem Checkmk nach dem Soket suchen soll.
  • Über den Punkt ‚Host‘ können Sie eine IP-Adresse angeben, unter der die Datenbank läuft (In Spezialfällen soll das MySQL-Plugin auf eine andere Adresse installiert werden, wie die Datenbank).
  • Und unter ‚Run asynchronously‘ können Sie bestimmte Check-Intervalle setzen.

Kommen wir zur letzten Überschrift: ‚Conditions‘. Hier können Sie entscheiden, für wen diese Regel gelten soll.

  • Unter ‚Condition type‘, können Sie entscheiden, ob Sie Konditionen setzen wollen, oder ob Sie bereits vordefinierte Konditionen übernehmen wollen.
  • Unter ‚Folder‘ entscheiden Sie, auf welchen Host-Ordner Sie das anwenden wollen (Falls Sie die Regel nur auf einen bestimmten Ordner mit Hosts anwenden möchten.
  • Unter ‚Host tags‘ können Sie diese Regel einem bestimmten Tag zuweisen und dieses dann an die Hosts vergeben, für die diese Regel gelten soll.
  • Die ‚Host labels‘ funktionieren auch wie die ‚Host Tags‘, jedoch können Sie die Labels auch negieren.
  • Und über ‚Explicit hosts‘ können Sie diese Regel an bestimmte Hosts vergeben (Das lohnt sich, wenn Sie nur einige wenige Hosts haben, die diese Regel bekommen sollen).

Die ‚Conditions‘ sind also dazu da, die MySQL Regel bestimmten Hosts zuzuordnen oder einige Hosts auszuschließen. Natürlich nutzen Sie hier dann nicht jeden Unterpunkt, sondern nur die, die Sie brauchen.

Haben Sie alle Einstellungen Ihren Wünschen entsprechend getroffen, müssen Sie nun den Agenten backen. Um das zu tun, gehen Sie wieder auf ‚Setup‘, im linken vertikalen Aktionsmenü und suchen dort nach ‚Windows‘. Unter der Überschrift ‚Setup‘, werden Sie dann einen Unterpunkt namens ‚Windows, Linux, Solaris, AIX‘ sehen, diesen klicken Sie an.

mysql Monitoring mit Checkmk

Nun befinden Sie sich in der Agent-Konfigurationsmaske. Hier klicken Sie nun auf ‚Bake and sign agents‘ und warten bis der Bildschirm aufhört zu flackern/neu zu laden.

mysql monitoring Plugin

Glückwunsch, das Plugin wurde installiert! Sie können jetzt weiter zu Schritt 4.

Schritt 3.2: Das Plugin unter Checkmk RAW

In Checkmk Raw können Sie den Agenten nicht backen, also müssen Sie das Plugin manuell installieren. Wir machen das in diesem Beispiel wieder mit dem MySQL-Plugin, jedoch können Sie das auch mit anderen Datenbanken-Plugins machen. Um eine Sammlung aller Plugins zu finden, geben Sie folgendes in Ihren Webbrowser ein: CheckmkSeite/Sitename/check_mk/agents/plugins, hier finden Sie alle Plugins so, dass Sie sie über Linux auf Ihre Datenbank installieren können (CheckmkSeite und Sitename ersetzen Sie natürlich mir Ihren Werten).

Um das Mysql Plugin zu installieren, klicken Sie jetzt per Rechtsklick auf das Plugin und kopieren den Link. Als Nächstes gehen Sie auf Ihren Server mit der Datenbank, stellen sicher, dass der mit dem Internet verbunden ist und tippen dann folgendes ein: wget --no-check-certificate LinkDenSieGeradeKopiertHaben und starten den Befehl mit ‚Enter‘. Das Plugin wird nun heruntergeladen und der Agent übernimmt das dann von selbst.

Das war es schon, nun haben Sie das Plugin auch über Checkmk RAW auf Ihren Datenbankserver installiert. Je nachdem, können Sie jetzt noch einen Checkmk Benutzer in Ihrer Datenbank anlegen.

Schritt 4: Die Service discovery

Nun haben Sie alles vorbereitet, jetzt müssen die Services auch übernommen werden, damit Sie diese über Checkmk einsehen können. Das macht die Service discovery!

Gehen Sie auf den Host, den Sie erstellt haben und klicken Sie oben links, auf den Knopf ‚Save & run service discovery‘. Nun sucht Checkmk, zusammen mit dem Agenten nach allen relevanten Anwendungen, die überwacht werden müssen und zeigt sie Ihnen an.

mysql checkmk monitoring konfiuration

Ist Checkmk fertig mit der Suche und Sie sehen die Services, klicken Sie auf ‚Accept all‘ um die Services zu übernehmen.

mysql mit checkmk überwachen

In meinem Fall ist der Knopf ausgegraut, weil ich das schon gemacht habe, wenn Sie das aber zum ersten Mal machen oder Services dazu kommen, leuchtet der Knopf, wenn Checkmk fertig mit der Suche ist.

Nun dürfen wir nicht vergessen, diese Änderungen auch zu übernehmen, indem wir oben rechts auf das gelbe Ausrufezeichen klicken und dann auf den Knopf “Activate on selectet sites‘ gehen.

checkmk monitoring mysql datenbank

Hier Sehen Sie nochmal das Ausrufezeichen und den Knopf.

Nun warten Sie einen Moment, Checkmk übernimmt Ihre Änderungen und Sie sind fertig! Ihre Datenbank-Überwachung ist bereit.

Ein guter Zusatz wäre jetzt, Benachrichtigungen per Mail einzustellen, wenn zum Beispiel einer der Services auf Kritisch springt. So sehen Sie das, selbst wenn Sie gerade nicht in Checkmk sind. Und zusätzlich, können Sie noch vieles mehr in Sachen Feintuning des Plugins machen oder dieses sogar mit eigenen Scripten erweitern, aber das wäre zu viel für diesen Beitrag. Natürlich beschreiben wir in diesem Artikel nicht wie das geht, das ist ein Thema für sich. Wenn Sie aber Unterstützung bei der Konfiguration von E-Mail Benachrichtigungen und anderen Einstellungen in Checkmk benötigen, rufen Sie uns an, wir helfen gerne!

Troubleshooting

Wenn Sie Probleme mit dem Plugin haben, können Sie folgende Schritte tun:

  • Prüfen Sie in der Enterprise Edition, ob der Agent auch wirklich gebacken wurde (Wenn der ‚Bake‘ Knopf noch orange leuchtet, müssen Sie den Agenten noch backen)
  • Warten Sie ein paar Minuten, manchmal braucht Checkmk einen Moment
  • Laden Sie die Seite neu, kann sein, dass da einfach etwas falsch gecacht ist
  • Prüfen Sie, ob Ihr Datenbankserver mit dem Internet verbunden ist
  • Prüfen Sie, ob die Firewall Ihres Servers die Kommunikation mit Checkmk blockiert

Das sind einige allgemeine Sachen, die Sie prüfen können. Wenn der Fehler in keinem dieser Punkte liegt, könnte das Problem etwas komplexer sein und ist abhängig von Ihrer Firmenumgebung. In so einem Fall müsste man sich das Problem genauer ansehen und kann keine pauschalen Aussagen treffen. Benötigen Sie Unterstützung bei der Fehlersuche mit den Checkmk Plugins, melden Sie sich bei uns, das ist unser täglich Brot!

Haben Sie Interesse an mehr Informationen, zum Thema Checkmk Integration und Monitoring, schauen Sie in unserem Infobereich auf unserer Webseite nach, dort haben wir viele interessante Informationen zu diesem Thema.