Diese Seite beschreibt Calíope 1.5, die Version, die wir gerade bauen. Die 1.4 ist fertig und in der App-Review, und der Store liefert heute 1.3 auf dem Mac und 1.2 auf dem iPad. Das Changelog sagt, in welcher Version jede Funktion kam.
Fügt jedem Thema einen Button „In Calíope öffnen“ hinzu. Funktioniert nur mit installierter App.
Sammelt und visualisiert historische Metriken eines oder mehrerer deiner Server: QPS, Threads, Cache-Trefferrate, Netzwerk, DML und mehr. Die Daten werden auf einem zentralen Server deiner Wahl gespeichert und sind verfügbar, auch wenn du die App schließt.
Wo es zu finden ist: Workspace › Werkzeuge › Health
Der Health-Monitor ermöglicht es, die Leistung mehrerer deiner Server über die Zeit zu überwachen. Anders als das Dashboard (das Echtzeit-Metriken des aktuell verbundenen Servers zeigt) speichert der Health-Monitor historische Snapshots in einem zentralen Speicher, die aus jeder Session zugänglich und zwischen Teammitgliedern geteilt sind.
Architektur:
- Speicherserver — ein Server, auf dem Calíope den Speicher caliope_monitoring mit den Snapshot-Tabellen anlegt. Bei MySQL und MariaDB ist das eine Datenbank; bei PostgreSQL ein Schema innerhalb der Datenbank, auf die das Profil zeigt — zwei Profile desselben Servers, die auf unterschiedliche Datenbanken zeigen, sind also zwei verschiedene Speicher. Er muss für alle Nutzer erreichbar sein, die den Verlauf abfragen wollen.
- Überwachte Server — die Server, von denen Metriken gesammelt werden. Sie können sich vom Speicherserver unterscheiden.
- Monitoring-Engine — läuft im Hintergrund ab dem Moment, in dem die App startet; du musst den Tab nicht geöffnet haben, damit das Monitoring funktioniert.
Erste Einrichtung:
1. Öffne den Tab Health-Monitor über die Navigationsleiste des Workspace (Herz-Symbol).
2. Klick auf das Zahnrad-Symbol (⚙), um die Konfiguration zu öffnen.
3. Aktiviere den Schalter Monitoring aktivieren oben im Panel. Du kannst ihn jederzeit deaktivieren, um das Sammeln von Metriken vollständig zu stoppen, ohne die Konfiguration zu verlieren.
4. Wähl unter Speicherserver ein vorhandenes Verbindungsprofil und klick auf Bereitstellen. Calíope legt automatisch den Speicher caliope_monitoring und alle nötigen Tabellen an. Der Nutzer muss auf dem ausgewählten Server das Privileg CREATE besitzen.
5. Klick unter Überwachte Server auf +, um jeden Server hinzuzufügen, den du überwachen möchtest. Pro Server kannst du festlegen:
- Alias — ein freundlicher Name zur Identifikation in den Diagrammen.
- Intervall — Sammelfrequenz: 15 s, 30 s, 1 Min. (Standard), 5 Min., 15 Min., 30 Min. oder 1 Stunde.
- Aktiv — Toggle, um das Monitoring eines Servers zu pausieren, ohne ihn zu löschen.
6. Wähl unter Aufbewahrung, wie viele Tage die Daten aufbewahrt werden (7, 14, 30, 60, 90 oder 180 Tage). Der Wert «Kein Limit» bewahrt alle Daten unbegrenzt auf.
7. Schließe die Konfiguration. Die Engine startet automatisch, wenn das Monitoring aktiviert ist.
Betrieb im Hintergrund:
Das Monitoring läuft weiter, solange die App geöffnet ist, unabhängig davon, welcher Tab gerade aktiv ist. Wenn du die App schließt und neu öffnest, startet die Engine beim Hochfahren automatisch neu.
Visualisierung:
- Wähl den Server im Auswahlmenü der oberen Leiste, um seine Metriken zu sehen.
- Wähl den Zeitbereich: 1 h, 6 h, 24 h, 7 d oder 30 d.
- Die Statusanzeigen der Engine (grüner/gelber/roter Punkt) zeigen, ob das Monitoring aktiv ist, startet oder keine Verbindung zum Speicherserver hat.
- Der Button ↻ lädt die Daten manuell vom Speicherserver neu.
- Der Button ⏱ (Uhr mit Pfeil) aktiviert die Auto-Aktualisierung alle 30 Sekunden: Die Diagramme werden automatisch neu geladen, ohne dass du ↻ drücken musst. Unter macOS erscheint das Label 30 s neben dem Symbol, wenn es aktiv ist. Deaktiviere es, wenn du eine statische Ansicht möchtest, um die Daten zu inspizieren, ohne dass sie sich ändern.
Beschreibung jedes Diagramms: verbundene Threads, QPS, Cache-Trefferrate, aktive Prozesse, Netzwerk (Bytes/s) und DML pro Sekunde.
Wo es zu finden ist: Workspace › Werkzeuge › Health
Der Monitor zeigt sechs Zeitreihen-Diagramme, jedes mit Füllfläche und Linie, um das Ablesen von Trends zu erleichtern. Du kannst auf einen beliebigen Punkt des Diagramms tippen oder klicken, um den exakten Wert in diesem Moment zu sehen.
Verbundene Threads
Anzahl der zu diesem Zeitpunkt offenen Verbindungen. Ein Wert nahe am Limit max_connections deutet auf Sättigungsgefahr hin.
QPS — Queries pro Sekunde
Rate der pro Sekunde ausgeführten Queries, berechnet als Differenz von Queries zwischen aufeinanderfolgenden Snapshots geteilt durch das Intervall. Spiegelt die allgemeine Last des Servers wider.
Cache-Trefferrate (%)
Prozentsatz der Leseanforderungen, die aus dem Cache des Servers bedient werden, ohne auf die Festplatte zuzugreifen. Berechnet als:
Jede Engine veröffentlicht diese beiden Zähler unter eigenen Namen, und ein Server, der keinen davon veröffentlicht, lässt das Diagramm leer.
Ein Wert, der dauerhaft unter 95% ist, deutet darauf hin, dass der Cache für die Arbeitslast nicht ausreicht und erhöht werden sollte.
Aktive Prozesse
Anzahl der zu diesem Zeitpunkt laufenden Queries (SHOW PROCESSLIST, ohne Threads im Zustand Sleep). Ein hoher und anhaltender Wert deutet auf langsame Queries oder Sperren hin.
Netzwerk (Bytes/s)
Netzwerkverkehr zum und vom Server:
- RX — pro Sekunde empfangene Bytes (Bytes_received).
- TX — pro Sekunde gesendete Bytes (Bytes_sent).
Nützlich, um Queries zu erkennen, die ungewöhnlich große Datenmengen übertragen.
DML / s — Änderungsanweisungen
Rate der DML-Anweisungen pro Sekunde, aufgeschlüsselt in:
- SELECT — Lesevorgänge.
- INSERT — Einfügungen.
- UPDATE — Aktualisierungen.
- DELETE — Löschungen.
Ein plötzlicher Anstieg bei INSERT/UPDATE/DELETE kann auf aktive Batch- oder ETL-Prozesse hindeuten.
Allgemeine Interpretation:
- Die Diagramme zeigen Werte, die aus den kumulierten Zählern des Servers berechnet werden, sie stellen also Raten pro Sekunde dar, keine absoluten Summen.
- Nicht jede Engine veröffentlicht jeden Zähler. Was ein Server nicht misst, wird leer gespeichert und sein Diagramm bleibt weiß: PostgreSQL etwa zählt keinen Netzwerkverkehr und schlüsselt Anweisungen nicht nach Verb auf, und sein QPS zählt Transaktionen statt Anweisungen.
- Kurze Abtastintervalle (15 s, 30 s) erzeugen detailliertere Diagramme, generieren aber mehr Daten auf dem Speicherserver.
- Die konfigurierbare Aufbewahrung (siehe Health-Monitor für Server) steuert den im Bereich 30 d sichtbaren Zeitraum.
Stichwörter: verbundene Threads, threads_connected, qps, Queries pro Sekunde, Cache-Trefferrate, innodb hit rate, Buffer Pool, aktive Prozesse, Prozessliste, bytes_received, bytes_sent, com_select, com_insert, com_update, com_delete, dml, Netzwerk, Durchsatz, Zeitreihe, Diagramm, Metriken
Wie du das Monitoring aktivierst, den Speicherserver wählst, überwachte Server hinzufügst und die Aufbewahrung anpasst.
Wo es zu finden ist: Health-Monitor › Konfigurieren
Der Health-Monitor von Calíope bewahrt einen Verlauf von Metriken auf, die regelmäßig gegen deine Server erhoben werden. Dieser Verlauf lebt in einem eigenen Schema, caliope_monitoring, das auf einem von dir gewählten Server liegt — nicht in der App.
Den Konfigurationsdialog öffnen
- macOS: Menü Fenster › Health-Monitor › Konfigurieren… oder Button ⚙︎ in der oberen Leiste der Health-Monitor-Ansicht.
- iPad: Tippe im Tab Health-Monitor auf den Button ⚙︎ in der oberen Leiste.
1. Monitoring aktivieren
- Toggle in der Kopfzeile des Dialogs. Beim Aktivieren startet MonitoringEngine im Hintergrund; beim Deaktivieren stoppt sie.
2. Speicherserver
- Wähl im gruppierten Picker aus, welches deiner Profile das Schema caliope_monitoring hostet.
- Es kann derselbe Server sein, den du überwachst, oder ein dedizierter (für Produktion empfohlen).
- Klick auf Bereitstellen, damit Calíope den Speicher und die nötigen Tabellen anlegt — das ist idempotent (nutzt CREATE … IF NOT EXISTS), du kannst es also gefahrlos wiederholen, falls du etwas manuell gelöscht hast.
- Visueller Status: Bereitgestellt ✓ in Grün, wenn es funktioniert, oder ein rotes Label mit dem Fehler, falls die Verbindung fehlschlägt.
Angelegte Tabellen
- caliope_monitoring.monitoring_config — Schema-Version, Aufbewahrung und Timestamp der letzten Bereinigung.
- caliope_monitoring.monitored_servers — als überwacht registrierte Server.
- caliope_monitoring.server_snapshots — zeitliche Snapshots (Uptime, Threads, Cache, Anweisungen nach Verb, Datenverkehr, aktive Prozesse, longest query usw.).
- caliope_monitoring.collection_errors — Erfassungsfehler, nützlich zur Diagnose.
3. Überwachte Server
- Button +, um einen hinzuzufügen. Wähl das Profil, gib ihm einen lesbaren Alias und wähl das Abfrageintervall (15 s, 30 s, 1 Min., 5 Min. usw.).
- Jede Zeile hat einen Toggle zum Aktivieren/Deaktivieren, ohne die Konfiguration zu löschen, und einen −-Button zum Entfernen.
- Der Speicherserver kann sich nicht selbst als überwacht hinzufügen.
4. Aufbewahrung
- Dropdown mit Presets (7, 14, 30, 60 Tage usw.).
- Der Wert 0 bedeutet "nie löschen" und zeigt einen orangefarbenen Hinweis — denk daran, dass server_snapshots mit jedem Tick wächst.
- Die Bereinigung läuft bei jedem Start der Engine und in regelmäßigen Abständen während der Session.
Sicherheitshinweise
- Alle Verbindungen zum Speicherserver nutzen dieselben Anmeldedaten, die für dieses Profil im Schlüsselbund gespeichert sind (Keychain-Sync optional).
- Beim Löschen der App oder Klick auf Alle meine Daten löschen hört die App auf zu schreiben; die Tabellen caliope_monitoring.* bleiben auf dem Server, bis du sie manuell löschst (DROP DATABASE caliope_monitoring;).