Überwachungs-Dashboard
Der Bereich Überwachung ist ein Live-Dashboard aus Diagrammen und Tabellen für den Server hinter einer Verbindung — Transaktionsrate, Backends, WAL-Erzeugung, Datenbankgröße, Cache-Trefferquoten und mehr —, aufgebaut aus kleinen, unabhängigen Karten, den sogenannten Überwachungseinheiten (Monitoring Units). Neben den mit OmniDB ausgelieferten Einheiten können Sie eigene schreiben, jede davon eine einzelne SQL-Abfrage.
Eingebaute Einheiten gibt es für PostgreSQL (16 Einheiten) und MySQL (1 Einheit, Thread Count). MariaDB- und Oracle-Verbindungen erhalten das Dashboard ebenfalls, für Ihre eigenen Einheiten. Für andere Engines zeigt der Bereich Überwachung wird für …-Verbindungen nicht unterstützt.
Das Dashboard öffnen
Klicken Sie in der linken Leiste auf das Symbol Überwachung (zwischen Datenbank und Benachrichtigungen). Das Dashboard gehört zu einer Verbindung, die im Bereich Datenbank geöffnet ist: Oben im Bereich wird die Leiste der geöffneten Verbindungs-Tabs angezeigt, und die Auswahl eines Tabs zeigt das Dashboard dieser Verbindung. Ist keine Verbindung geöffnet, zeigt er Keine Verbindung geöffnet.
Alle Einheiten starten pausiert, wenn das Dashboard geladen wird, sodass das Öffnen allein noch keine Abfragen an den Server stellt. Starten Sie die gewünschten Einheiten mit ihrer eigenen Abspielen-Schaltfläche oder alle auf einmal mit Alle aktivieren.

Die Werkzeugleiste
Die Werkzeugleiste oben bleibt stehen, während die Karten darunter scrollen:
- die erste Schaltfläche, nur mit Symbol (Tooltip Einheiten verwalten), öffnet oder schließt die unten beschriebene Seitenleiste mit der Liste der Einheiten;
- Alle aktualisieren aktualisiert jede angezeigte Einheit einmal;
- Alle aktivieren / Alle pausieren starten bzw. stoppen die automatische Aktualisierung aller Einheiten dieser Verbindung;
- Kartengröße — Klein, Mittel, Groß oder Volle Breite — legt fest, wie breit eine Karte werden darf, bevor das Raster auf weniger Spalten umbricht: Ein schmales Fenster zeigt eine Karte pro Zeile, ein breiter Monitor mehrere nebeneinander. Die Auswahl wird in Ihrem Browser gespeichert.
Eine Karte einer Überwachungseinheit
Jede Karte hat oben ihren Titel, ein ×, das die Einheit aus dem Dashboard entfernt (ausblendet), und — bei Ihren eigenen Einheiten — eine Bearbeiten-Schaltfläche, die ihren Editor öffnet (beide erscheinen, wenn Sie mit der Maus über die Karte fahren). Unter dem Titel befinden sich die Steuerelemente der Einheit: jetzt aktualisieren, Pause / Abspielen und das Aktualisierungsintervall in Sekunden. Der Rest der Karte ist das Diagramm oder die Tabelle der Einheit.
Eine Einheit hat einen von drei Typen:
- Tabelle (Grid): führt ihre Abfrage bei jeder Aktualisierung aus und zeigt das Ergebnis als Datentabelle.
- Diagramm (ohne Anhängen): zeichnet bei jeder Aktualisierung ein vollständiges Diagramm neu; die vorherigen Werte werden ersetzt. Am besten für Kreis- oder Ringdiagramme eines aktuellen Zustands.
- Zeitreihe: hängt bei jeder Aktualisierung einen neuen Satz Werte an ihr Diagramm an und behält die jüngsten Punkte, sodass Sie verfolgen können, wie sich ein Wert über die Zeit entwickelt. Alle eingebauten Einheiten sind Zeitreihen.
Einheiten verwalten
Die Seitenleiste Einheiten verwalten (umgeschaltet über die erste Schaltfläche der Werkzeugleiste und durch Ziehen ihres Rands in der Breite veränderbar) listet alle für die Verbindung verfügbaren Einheiten auf:
- das Kontrollkästchen vor einer Einheit blendet sie im Dashboard ein oder aus (Ausblenden stoppt sie, genau wie das × ihrer Karte, behält aber ihr Aktualisierungsintervall für das nächste Mal);
- ziehen Sie eine Zeile nach oben oder unten, um die Reihenfolge der Karten im Dashboard zu ändern;
- das + unter der Liste öffnet den Editor Neue Einheit;
- bei einer eigenen Einheit: Rechtsklick → Bearbeiten oder Löschen, oder Doppelklick, um ihren Editor zu öffnen. Eingebaute Einheiten lassen sich nicht bearbeiten oder löschen, nur ein- oder ausblenden.
Ihre eigenen Einheiten sind für Ihren OmniDB-Benutzer privat.

Eingebaute Einheiten
PostgreSQL: Transaction Rate, Backends, Autovacuum Workers Usage, WAL Production Rate, Temp Files Creation Rate, Autovacuum Freeze, Blocked Locks, Database Size, Database Growth Rate, Heap Cache Miss Ratio, Index Cache Miss Ratio, Seq Scan Ratio, Long Transaction, Long Query, Long Autovacuum und Checkpoints. MySQL: Thread Count. Sie benötigen keine zusätzlichen Installationen in der Datenbank.
Eigene Überwachungseinheiten schreiben
Eine eigene Einheit ist eine einzelne SQL-Abfrage, die zeitgesteuert läuft — mit derselben Verbindung und denselben Berechtigungen wie Ihr SQL-Editor. Eine separate Skriptsprache müssen Sie nicht lernen.
Hinweis: Da die Abfrage unbeaufsichtigt wiederholt ausgeführt wird, werden nur
SELECT-Abfragen (bzw. WITH ... SELECT) akzeptiert — eine versehentlich
eingefügte destruktive Anweisung wird sofort abgelehnt, statt stillschweigend zeitgesteuert ausgeführt zu
werden.
Klicken Sie im Bereich Einheiten verwalten auf +. Es öffnet sich ein Editor-Tab Überwachungseinheit mit den Feldern Name, Typ (Zeitreihe, Diagramm (ohne Anhängen) oder Tabelle), Aktualisierungsintervall (Sekunden), Vorlage (optional von einer vorhandenen Einheit ausgehen), Diagrammtyp (Balken, Kreis, Ring oder Linie; nur bei Diagramm (ohne Anhängen) sichtbar) und dem Editor SQL-Abfrage.
Die Form der Abfrage hängt vom Typ der Einheit ab:
-
Tabelle: keine bestimmte Form — welche Spalten und Zeilen die Abfrage auch zurückgibt, sie werden zur Tabelle. Zum Beispiel:
SELECT * FROM pg_stat_activity -
Diagramm (ohne Anhängen): eine Zeile pro Kategorie — die erste Spalte ist die Beschriftung, die übrigen Spalten sind jeweils eine Datenreihe (der Spaltenname wird zum Namen der Datenreihe). Zum Beispiel ein Kreisdiagramm der Datenbankgrößen:
SELECT datname, round(pg_catalog.pg_database_size(datname) / 1048576.0, 2) AS size_mb FROM pg_catalog.pg_database WHERE datname NOT IN ('template0', 'template1') -
Zeitreihe: genau eine Zeile — jede numerische Spalte wird zu einer fortlaufend ergänzten Datenreihe. Zum Beispiel, um die Gesamtgröße der Datenbanken über die Zeit zu verfolgen:
SELECT round(sum(pg_catalog.pg_database_size(datname)) / 1048576.0, 2) AS total_size_mb FROM pg_catalog.pg_database WHERE NOT datistemplate
Klicken Sie auf Testen, um die Abfrage einmal auszuführen und das Ergebnis unter dem Editor dargestellt zu sehen — so oft Sie möchten. Wenn Sie zufrieden sind, geben Sie der Einheit einen Namen, legen das Aktualisierungsintervall fest und klicken auf Speichern. Die Einheit erscheint dann in der Liste Einheiten verwalten; kreuzen Sie sie an, um sie im Dashboard anzuzeigen.