Zum Hauptinhalt springen
Datenbanken & Anwendungen

MySQL-/MariaDB-Abfrage

Führe eine eigene SELECT-Abfrage auf einem MySQL- oder MariaDB-Server aus und lass dich anhand von Zeilenanzahl oder Ausführungszeit warnen.

Der Check MySQL-/MariaDB-Abfrage führt eine eigene SQL-Abfrage auf einem MySQL- oder MariaDB-Server aus und bewertet entweder die Anzahl der zurückgegebenen Zeilen oder die Ausführungszeit. So kannst du zum Beispiel hängende Aufträge, fehlgeschlagene Jobs oder langsame Abfragen überwachen. Der Check läuft auf dem Agent-Gerät, dem du ihn zuweist, und verbindet sich von dort über TCP mit dem eingetragenen Host. Er läuft unter Windows, Linux und macOS (jeweils x64 und Arm64), standardmäßig alle 5 Minuten. Der Datenbankserver selbst muss kein Agent-Gerät sein; es genügt ein Agent-Gerät, das ihn über das Netzwerk erreicht.

Voraussetzungen

  • Ein Konto auf dem Datenbankserver, das sich von der Adresse des Agent-Geräts aus anmelden darf. Wie du das Monitoring-Konto anlegst, erfährst du unter Das Monitoring-Konto für Datenbank-Checks einrichten.
  • SELECT-Rechte auf genau die Tabellen, die deine Abfrage liest.

Schritte

  1. Gehe zu Geräte und öffne das Gerät.
  2. Klicke auf den Tab Checks → Check hinzufügen → MySQL-/MariaDB-Abfrage.

Einstellungen

FeldTypErforderlichStandardBeschreibung
HostTextJa—Hostname oder IP-Adresse des Datenbankservers, aus Sicht des Agent-Geräts
PortGanzzahlNein3306TCP-Port des Servers. Werte außerhalb von 1–65535 ersetzt der Check durch 3306
Datenbank (optional)TextNein—Standarddatenbank der Verbindung. Leer lassen, wenn die Abfrage Tabellen voll qualifiziert anspricht (schema.tabelle)
BenutzernameTextJa—Konto, mit dem sich der Check anmeldet
PasswortTextNein—Passwort des Kontos
SSL-ModusAuswahlNeinPreferredPreferred verschlüsselt, wenn der Server es anbietet; Required verlangt eine verschlüsselte Verbindung; None verbindet unverschlüsselt
Abfrage (schreibgeschütztes SELECT)TextJa—Die auszuführende Anweisung. Der Check setzt die Sitzung vorher auf READ ONLY
Warnen beiAuswahlNeinZeilenanzahlZeilenanzahl bewertet die Anzahl der zurückgegebenen Zeilen, Ausführungszeit (ms) die Dauer der Abfrage in Millisekunden
Warnen, wenn unter SchwellenwertJa/NeinNeinNeinKehrt den Vergleich um: Alarm, wenn der Wert die Schwellenwerte erreicht oder unterschreitet
Warnungs-SchwellenwertZahlNein1Wert, ab dem eine Warnung gemeldet wird
Fehler-SchwellenwertZahlNein1Wert, ab dem ein kritisches Ergebnis gemeldet wird

Der Check zählt Zeilen, keine Werte. SELECT count(*) FROM orders WHERE status = 'stuck' liefert immer genau eine Zeile und wird deshalb immer als 1 bewertet, egal wie viele Einträge betroffen sind. Schreibe die Abfrage so, dass sie eine Zeile pro Problem zurückgibt, zum Beispiel SELECT id FROM orders WHERE status = 'stuck'.

Ergebnisse

Der Check vergleicht den gewählten Wert (Zeilenanzahl oder Ausführungszeit) mit beiden Schwellenwerten. Die Schwellenwerte greifen auch bei Gleichheit.

SituationErgebnis
Wert mindestens Fehler-Schwellenwert (mit Warnen, wenn unter Schwellenwert: höchstens)Kritisch
Wert mindestens Warnungs-Schwellenwert (mit Warnen, wenn unter Schwellenwert: höchstens)Warnung
SonstOK
Anmeldung abgewiesen, Server nicht erreichbar, Abfragefehler oder ZeitüberschreitungKritisch
Kein Host oder keine Abfrage eingetragenWarnung
Unerwarteter Fehler im CheckFehler

Mit den Standardwerten (beide Schwellenwerte 1, Modus Zeilenanzahl) ist der Check also kritisch, sobald die Abfrage mindestens eine Zeile zurückgibt, und sonst OK. Liegen die beiden Schwellenwerte in der falschen Reihenfolge, vertauscht der Check sie vor der Auswertung. Verbindungsaufbau und Abfrage haben ein festes Timeout von 15 Sekunden.

Erfasste Metriken

  • Anzahl der zurückgegebenen Zeilen
  • Ausführungszeit der Abfrage in Millisekunden (ohne Verbindungsaufbau)

Hinweise

  • Die Sitzung auf READ ONLY zu setzen ist ein Sicherheitsnetz, kein Ersatz für ein Konto mit reinen Leserechten. Gib dem Monitoring-Konto nur SELECT.
  • Der Host ist Teil der Check-Konfiguration. Weist du den Check über ein Konfigurationspaket vielen Geräten zu, führt jedes dieser Geräte dieselbe Abfrage auf demselben Server aus. Weise ihn deshalb einem einzelnen Gerät zu.