Checkmk
to checkmk.com

1. Einleitung

Checkmk ermöglicht Ihnen ein umfangreiches Monitoring von Microsoft SQL Server (im weiteren Verlauf nur noch mit "MSSQL" abgekürzt). Eine vollständige Auflistung aller verfügbaren Check-Plugins finden Sie in unserem Katalog der Check-Plugins.

Um die Datenbanken überwachen zu können, benötigen Sie neben dem Checkmk-Agenten zusätzlich noch das Agentenplugin mk-sql. Dieses Agentenplugin ist ab Checkmk 2.3.0 auch in der Lage, Datenbanken auf entfernten Systemen zu überwachen. Gemeint sind damit MS-SQL-Datenbanken auf eigenen entfernten Servern — nicht bei beliebigen Cloud-Anbietern! Ausnahme: Microsoft-Azure-SQL-Datenbanken werden explizit unterstützt. Zusätzliche Software wird weder auf dem Checkmk- noch auf dem Datenbank-Server benötigt.

Die einzige zwingende Voraussetzung für die Verwendung von mk-sql ist, dass in der SQL-Server-Netzwerkkonfiguration das Protokoll TCP/IP aktiviert ist. Sollte in Ihrer MSSQL-Server-Umgebung kein TCP/IP zugelassen beziehungsweise erlaubt sein, müssen Sie bis auf Weiteres auf das Legacy-Agentenplugin mssql.vbs zurückgreifen.

2. Konto für die Überwachung einrichten

Das Agentenplugin benötigt Zugang zu Ihren MSSQL-Instanzen. Im Regelfall steht — lange bevor das Monitoring-Team kommt — fest, wie ein solcher Zugang aussehen kann oder darf.

2.1. Benutzer einrichten / Konten verwenden

Linux
Windows
Linux

Benutzer für das Monitoring anlegen

Sie benötigen einen Benutzer, der sich mit Ihrer MSSQL-Instanz verbinden kann. Dieser Benutzer benötigt mindestens die folgenden Berechtigungen:

  • Connect SQL

  • Connect any database

  • View server state

Abgesehen von diesen Berechtigungen ist es Ihnen bzw. Ihrer Organisation überlassen, wie ein solcher Benutzer erzeugt werden kann oder muss.

Zu Testzwecken können Sie einen lokalen Benutzer verwenden. Sollte noch kein entsprechender Benutzer auf Ihrem MSSQL-Server bzw. in Ihrer -Instanz vorhanden sein, so können Sie diesen auf Ihrem Linux-System über die Befehlszeile erstellen:

Im folgenden Beispiel wird das für den Benutzer checkmk erledigt:

user@host:~$ sudo adduser --system checkmk --ingroup sudo
Befehl(e) in die Zwischenablage kopieren
Befehl(e) erfolgreich in die Zwischenablage kopiert!
Schreibzugriff auf die Zwischenablage wurde verweigert!

Folgen Sie den Aufforderungen zur Passwortvergabe etc.

Danach:

mssql> USE master;
      GRANT CONNECT SQL TO checkmk;
      GRANT CONNECT ANY DATABASE TO checkmk;
      GRANT VIEW SERVER STATE TO checkmk;
      GO
Windows

2.2. Manuelle Einrichtung der Verbindung

Wenn Sie CRE Checkmk Raw nutzen oder die Agentenbäckerei der kommerziellen Editionen nicht nutzen wollen, richten Sie die Kommunikation manuell ein.

Für die weitere Beschreibung gehen wir davon aus, dass der Agent für die Linux- bzw. Windows-Überwachung bereits auf dem Host installiert ist.

Konfigurationsdatei erstellen

Linux
Windows
Linux

Auf dem Linux-Host legen Sie im unten angegebenen Verzeichnis eine Datei mk-sql.yml an:

/etc/check_mk/mk-sql.yml
---
mssql:
  main:
    authentication:
      username: checkmk
      password: checkmkPW
      type: sql_server
Dateiinhalt in die Zwischenablage kopieren
Dateiinhalt erfolgreich in die Zwischenablage kopiert!
Schreibzugriff auf die Zwischenablage wurde verweigert!

Sollten Sie auf dem Host mehrere MSSQL-Instanzen mit verschiedenen Benutzernamen und Passwörtern betreiben, erweitern Sie die yml-Datei entsprechend um die Angaben zu den Instanzen. Ihre yml-Datei könnte dann beispielsweise so aussehen:

/etc/check_mk/mk-sql.yml
---
mssql:
  main:
    authentication:
      username: checkmk
      password: checkmkPW
      type: sql_server
    instances:
    - sid: myInstance1
      auth:
        username: myUser1
        password: 123456
        type: sql_server
    - sid: myInstance2
      auth:
        username: myUser2
        password: 987654
        type: sql_server
Dateiinhalt in die Zwischenablage kopieren
Dateiinhalt erfolgreich in die Zwischenablage kopiert!
Schreibzugriff auf die Zwischenablage wurde verweigert!
Windows

Agentenplugin installieren

Das Agentenplugin mk-sql finden Sie…​

Linux
Windows
Linux

…​in Checkmk Raw unter Setup > Agents > Linux und in den kommerziellen Editionen …​unter Setup > Agents > Windows, Linux, Solaris, AIX > Related > Linux, Solaris, AIX files:

Auswahl des Agentenplugins in Checkmk.

Laden Sie die Datei mk-sql herunter und legen Sie diese auf dem Linux-Host im Verzeichnis /usr/lib/check_mk_agent/plugins/ ab.

Windows

Services einrichten

Nachdem Sie das Agentenplugin nun installiert und konfiguriert haben, können Sie für diesen Host eine Service-Erkennung durchführen. Der folgende Screenshot zeigt dabei nur eine Auswahl der auffindbaren Services:

Auszug der Service-Erkennung.

2.3. Erweiterte Konfiguration

Asynchrone Ausführung des Agentenplugins

Das Agentenplugin für die Überwachung von MSSQL kann — wie so viele andere — asynchron ausgeführt werden, um beispielsweise längeren Laufzeiten bei großen MSSQL-Instanzen Rechnung zu tragen.

Linux
Windows
Linux

Um das Agentenplugin unter Linux asynchron auszuführen, passen Sie die Konfiguration des Agenten an und erweitern die Sektion main um eine Zeile zu cache_age:

/etc/check_mk/mk-sql.yml
mssql:
  main:
    authentication:
      username: myuser
      password: mypassword
      type: sql_server
    cache_age: 300
Dateiinhalt in die Zwischenablage kopieren
Dateiinhalt erfolgreich in die Zwischenablage kopiert!
Schreibzugriff auf die Zwischenablage wurde verweigert!

Eine detaillierte Anleitung zur asynchronen Ausführung von Agentenplugins auf einem Linux-Host finden Sie im Artikel über den Linux-Agenten.

Windows

3. Weitere Konfigurationsoptionen in Checkmk

3.1. Schwellwerte konfigurieren

Verbindungen überwachen

Für die Auslastung der durch MSSQL vorgegebenen maximalen Anzahl an gleichzeitigen Verbindungen können Sie eigene Schwellwerte vorgeben, da diese viel stärker als bei anderen Services vom Aufbau Ihrer MSSQL-Instanz abhängig sind. Die Einrichtung entsprechender Schwellwerte lässt sich mit einer Regel aus dem Regelsatz MSSQL Connections im Handumdrehen bewerkstelligen.

Einstellung der oberen Schwellwerte für aktive Verbindungen.

Dateigrößen überwachen

Auch für die Größe einzelner Dateien in MSSQL können Sie Schwellwerte festlegen. Dazu verwenden Sie den Regelsatz MSSQL datafile sizes.

Einstellung der genutzten Dateigrößen.

4. Konfiguration über die Agentenbäckerei

CEE Die Einrichtung wird in den kommerziellen Editionen durch die Agentenbäckerei sehr vereinfacht, da Syntaxfehler in den Konfigurationsdateien vermieden werden und Anpassungen an sich verändernde Umgebungen einfach bewerkstelligt werden können. Der wesentliche Unterschied zu einer manuellen Installation ist, dass Sie nur noch dann auf dem MSSQL-Host auf der Kommandozeile arbeiten müssen, wenn Sie spezielle MSSQL-spezifische Konfigurationen vornehmen möchten.

Für die erste Einrichtung reicht es, wenn Sie eine entsprechende Regel in der Agentenbäckerei anlegen. Sie finden den Regelsatz unter Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules. In dem Suchfeld können Sie dann nach mssql suchen:

Die Regel 'Microsoft SQL Server (Linux, Windows)' in den Agentenregeln.

4.1. Einrichtung der Agentenregel

Linux
Windows
Linux

Wählen Sie unter Authentication die Option SQL database user credentials.

Mögliche Einstellungen für den MSSQL Server in der Agentenbäckerei.

Geben Sie dann den Login name im Feld User ein und fügen Sie das zugehörige Password hinzu. Ergänzen Sie für die Connection den Host name.

Sollten Sie auf dem Host mehrere MSSQL-Instanzen mit verschiedenen Benutzernamen und Passwörtern betreiben, wählen Sie die Option Custom instances. Über Add new element gelangen Sie zu den Angaben für die erste — und danach jede weitere — Instanz, die überwacht werden soll. Tragen Sie hier, analog zur obigen Beschreibung, die Zugriffsdaten je Instanz ein.

Mehrere MSSQL-Instanzen in der Regel der Agentenbäckerei.
Windows

4.2. Weitere Optionen

Mit den soeben vorgenommenen Einstellungen kreieren Sie zunächst einen einfachen Agenten zur Überwachung Ihrer MSSQL-Instanz, die sich direkt auf dem Host befindet. Alle verfügbaren Daten werden direkt in Checkmk ausgewertet und für den Standardfall sollte dies bereits genügen. Haben Sie eine komplexere MSSQL-Welt in Ihrem Unternehmen, so gibt es jedoch weitere Optionen, sowohl für die Überwachung der Datenbank auf dem gleichen Host als auch für die Überwachung auf einem entfernten Host. Diese sind prinzipiell für beide Verbindungstypen gleich.

Option Funktion

Connection

Brauchen Sie für die allgemeine Verbindung zum MSSQL-Server spezifischere Verbindungsdaten, so können Sie diese hier angeben.

Data to collect (Sections)

Hier können Sie abschnittsweise einschränken, welche Daten eingesammelt werden sollen und ob diese synchron oder asynchron gesammelt werden sollen.

Cache age for asynchronous checks

Für die zuvor festgelegten asynchronen Checks können Sie den Caching-Zeitraum in Sekunden ändern.

Map data to specific host (Piggyback)

Piggyback-Daten können — unabhängig von der eigentlichen Quelle — einem Host zugeordnet werden. So lassen sich zum Beispiel die SQL-Informationen von den Daten des zugrundeliegenden Windows-Servers trennen.

Discovery mode of database instances

Einstellungen für die Suche in der Instanz.

Custom instances

Ergänzend zu den allgemeinen Vorgaben zum Zugriff auf Ihren MSSQL-Server, können Sie hier für spezifische Instanzen eigene Einstellungen setzen.

Options

Die maximale Anzahl an parallelen SQL-Server-Verbindungen kann hier eingestellt werden.

5. Diagnosemöglichkeiten

5.1. Mögliche Fehler und Fehlermeldungen

Fehlermeldung: Failed to gather SQL Server instances

Prüfen Sie, ob die TCP/IP-Verbindung konfiguriert ist und funktioniert.

6. Dateien und Verzeichnisse

6.1. Auf dem MSSQL-Host

Linux
Windows
Linux
Pfad Verwendung

/usr/lib/check_mk_agent/plugins/

Verzeichnis zur Ablage der Agentenplugins.

/etc/check_mk/mk-sql.yml

Konfigurationsdatei für das Agentenplugin.

Windows

6.2. Auf dem Checkmk-Server

Pfad Verwendung

~/share/check_mk/agents/windows/mk-sql.exe

Das Agentenplugin, das Sie auf Ihre Windows-Hosts kopieren müssen, um MSSQL dort zu überwachen.

~/share/check_mk/agents/linux/mk-sql

Das Agentenplugin, das Sie auf Ihre Linux-Hosts kopieren müssen, um MSSQL dort zu überwachen.


Letzte Änderung: Tue, 11 Nov 2025 10:32:21 GMT via Commit 0b0f51f8
Auf dieser Seite