Diese Seite beschreibt Calíope 1.5, die Version, die ich gerade baue. Die 1.4 ist im App Store für Mac, iPad, iPhone, Apple Watch, Apple TV und Apple Vision Pro. 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, MariaDB und SQL Server 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 Monitoring-Konfiguration —das Zahnrad-Symbol (⚙), sobald es etwas zu zeigen gibt—, um die Konfiguration zu öffnen.
3. Schalte Monitoring aktivieren oben im Panel ein. Du kannst es jederzeit ausschalten, 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 Speichern und einrichten. 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 Datenaufbewahrung, wie viele Tage die Daten aufbewahrt werden (7, 14, 30, 60, 90 oder 180 Tage). Der Wert «Ohne 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, von Letzte Stunde bis Letzte 30 Tage.
- Der Status der Engine —ein grüner, gelber oder roter Punkt mit seinem Label: Aktiv, Starte…, Neuer Versuch, Kein Speicher…— zeigt, ob das Monitoring aktiv ist, startet oder den Speicherserver nicht erreicht. Ein orangefarbenes Dreieck daneben heißt, dass die letzte Abfrage des gewählten Servers fehlgeschlagen ist; sein Tooltip sagt, warum.
- 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.
Die Diagramme anordnen:
- Der Regler-Button (Anordnung der Gesundheitsdiagramme anpassen) setzt zwei Pfeile und ein Auge auf jedes Diagramm. Die Pfeile verschieben es um einen Platz —ziehen geht auch—, das Auge blendet es aus, und ausgeblendete Diagramme warten unten unter Ausgeblendete Diagramme, bis du sie anklickst.
- Der Button ↺ (Layout zurücksetzen) stellt jedes Diagramm nach einer Rückfrage wieder an seinen Standardplatz.
- Das Häkchen beendet das Anpassen. Die Anordnung wird gespeichert und folgt dir bei aktivierter iCloud-Synchronisierung auf deine anderen Geräte.
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: Die vier mit einem einzigen Wert zeichnen eine Linie über einer Füllfläche, Netzwerk und DML eine Linie pro Reihe. 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 Anweisungen: die Threads, die gerade eine Query ausführen (Query oder Execute in SHOW PROCESSLIST; bei PostgreSQL die Sessions im Zustand active; bei SQL Server die Benutzersitzungen mit einer laufenden Anfrage). Untätige Verbindungen, Replikations-Threads und die Daemons des Servers selbst zählen nicht. 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 zeigt Dieser Server misst das nicht: PostgreSQL etwa zählt keinen Netzwerkverkehr und schlüsselt Anweisungen nicht nach Verb auf, und sein QPS zählt Transaktionen statt Anweisungen. SQL Server zählt weder Netzwerkbytes noch Zeilen, schlüsselt Anweisungen ebenfalls nicht nach Verb auf, und sein QPS zählt Batches.
- 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 Letzte 30 Tage 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 › Monitoring-Konfiguration
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
- Der Button ⚙︎ in der oberen Leiste des Health-Monitor, unter macOS, iPad und iPhone. Solange nichts eingerichtet ist, zeigen ihn die Leiste und der leere Bildschirm als Monitoring-Konfiguration.
- Jede Änderung wird sofort gespeichert; Schließen schließt nur den Dialog.
1. Monitoring aktivieren
- Schalter 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 Speichern und einrichten, 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: Schema bereit 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 ein Kästchen zum Aktivieren/Deaktivieren, ohne die Konfiguration zu löschen, ihr Intervall, einen Button mit den eigenen Schwellenwerten dieses Servers und einen −-Button zum Entfernen.
- Der Speicherserver kann sich nicht selbst als überwacht hinzufügen: Die Liste bietet ihn nicht an.
- Unter der Liste legen die Schwellenwerte fest, wann ein Server auf dem Calíope-Dashboard deines Apple TV auf Warnung oder kritisch wechselt.
4. Datenaufbewahrung
- Dropdown mit Presets (7, 14, 30, 60, 90 und 180 Tage sowie Ohne Limit).
- Ohne Limit löscht nie 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 einmal am Tag, solange die App geöffnet ist.
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;).