PostgreSQL-Abfrage
Führe eine eigene SELECT-Abfrage auf einem PostgreSQL-Server aus und lass dich anhand von Zeilenanzahl oder Ausführungszeit warnen.
Der Check PostgreSQL-Abfrage führt eine eigene SQL-Abfrage auf einem PostgreSQL-Server aus und bewertet entweder die Anzahl der zurückgegebenen Zeilen oder die Ausführungszeit. So kannst du zum Beispiel fehlgeschlagene Jobs, hängende Aufträge 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
- Eine Login-Rolle und eine
host-Zeile inpg_hba.conf, die diese Rolle von der Adresse des Agent-Geräts aus zulässt. CONNECTauf die Datenbank,USAGEauf das Schema undSELECTauf die Tabellen, die deine Abfrage liest.
Wie du die Monitoring-Rolle, ihre Leserechte und den Eintrag in pg_hba.conf anlegst, erfährst du unter Das Monitoring-Konto für Datenbank-Checks einrichten.
Schritte
- Gehe zu Geräte und öffne das Gerät.
- Klicke auf den Tab Checks → Check hinzufügen → PostgreSQL-Abfrage.
Einstellungen
Der Check zählt Zeilen, keine Werte. SELECT count(*) FROM jobs WHERE failed liefert immer genau eine Zeile und wird deshalb immer als 1 bewertet, egal wie viele Jobs fehlgeschlagen sind. Schreibe die Abfrage so, dass sie eine Zeile pro Problem zurückgibt, zum Beispiel SELECT id FROM jobs WHERE failed.
Ergebnisse
Der Check vergleicht den gewählten Wert (Zeilenanzahl oder Ausführungszeit) mit beiden Schwellenwerten. Die Schwellenwerte greifen auch bei Gleichheit.
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
READ ONLY-Transaktion ist ein Sicherheitsnetz, kein Ersatz für eine Rolle mit reinen Leserechten. Gib der Monitoring-Rolle nurSELECT. - 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.
War dies hilfreich?
Mehr in Datenbanken & Anwendungen
Das Monitoring-Konto für Datenbank-Checks einrichtenDATEVDFSR-RückstandDHCP-BereichsauslastungBrauchen Sie noch Hilfe? Team fragen