Monitoring-Lösungen (auch für MySQL) gibt es viele. Das Portfolio umfasst kommerzielle aber auch viele Open Source Lösungen. Unter diesen Produkten gibt es Spezialisten, die sich vollständig auf eine Anwendung konzentrieren und im Gegensatz dazu stehen Generalisten, welche Plugins und / oder Module für nahezu jede denkbare IT-Komponente haben und / oder sich einfach selbstständig (z.B. über Skripting) erweitern lassen. Heute wollen wir uns einmal mit dem MySQL Enterprise Monitor (https://www.mysql.com/products/enterprise/monitor.html) beschäftigen, der von Kunden mit den entsprechenden Support-Leveln (Enterprise oder Cluster GCE) genutzt werden kann.
Die Architektur
Der MySQL Enterprise Monitor besteht im Wesentlichen aus drei Komponenten:
1. Dem Service Manager (Tomcat)
2. Der Repository DB (natürlich MySQL)
3. Dem Monitor Agent (der wahlweise auch weggelassen werden kann)
Die Installation der Komponenten ist einfach. Für die Unterschiedlichen Plattformen (diverse Linux Derivate, Windows, Mac OS, …) stehen Pakete über die Oracle Software Delivery Cloud (https://edelivery.oracle.com/osdc/faces/Home.jspx) zur Verfügung (auch als Trial Version zum Ausprobieren).
Dabei gibt es jeweils ein Paket für den Agenten und ein weiteres Paket für den Service Manager, der wahlweise auch direkt eine zusätzliche MySQL-DB installiert. Alternativ kann aber auch eine bereits bestehende MySQL-DB als „Datensilo" eingebunden werden. Die Installation erfolgt zwar im CLI-Modus (zumindest bei Linux), aber dennoch dialogorientiert. Die meisten Fragen beziehen sich dabei auf Installationspfade und User-Accounts die eingerichtet, bzw. zur Überwachung des Ziels (MySQL-Datenbanken) benötigt werden.
Wahlweise kann auf die Installation des Agenten verzichtet werden („Agentless Installation"). Dies wird jedoch nur zu Testzwecken oder in sehr kleinen Umgebungen empfohlen, da hierdurch die Last auf dem Service Manager deutlich steigt. Zusätzlich kann das Betriebssystem in dieser Variante nicht überwacht werden (z.B. die Füllstände des Dateisystems oder die Auslastung der CPU(en)).
Für den Betrieb des Service Managers mit mehreren Zielen (Targets; ca. 20 in unserem Testfeld), sollte eine Machine mit 4 CPU-Kernen und mindestens 8 GB RAM bereitgestellt werden.
Der Funktionsumfang im Allgemeinen…
Der Umfang der Monitoring-Lösung ist wie zu erwarten war MySQL-spezifisch und vielfältig. Die überwachten Metriken bzw. Ziele umfassen:
- Die Datenbank(en) inkl. diverser Performance- / Auslastungsmetriken (CPU, Memory, Anzahl Verbindungen, Anzahl Queries, …)
- Den Zustand von Clustern und Replikations-Lösungen
- Langlaufende / problematische Statements
- Backup-Überwachung (sofern MySQL Enterprise Backup genutzt wird)
- User und Rollenkonzepte (um z.B. Entwicklern Zugriff auf Query-Ergebnisse zu gewähren oder um DBAs Einblicke auf bestimmte (Gruppen) von Servern zu ermöglichen)
- …
Die nachfolgenden Abbildungen des Monitoring-Dashboards zeigen:
- Den Zustand der Gesamtumgebung
- Langlaufende Statements
- Den Zustand eines InnoDB-Clusters
Der Funktionsumfang im Speziellen (Enterprise Backup)
Wer in der Lage ist (aufgrund einer entsprechenden Lizenzierung) den Enterprise Monitor zu nutzen, nutzt sicherlich auch andere kostenpflichtige Enterprise Produkte, wie z.B. das Enterprise Backup (MEB; MySQL Enterprise Backup). MEB ist verkürzt dargestellt, eine Backup-Lösung für größere MySQL-Datenbanken, die ohne größeren Applikationseinfluss (z.B. Sperren auf dem System) und effizient (z.B. auch inkrementell) gesichert werden sollen. MEB sichert bestimmte Metadaten der Backup-Prozesse (egal ob erfolgreich oder nicht) innerhalb der zu sichernden Datenbank. Diese Daten können wiederum vom Enterprise Monitor ausgewertet und überwacht werden (siehe Grafik).
Eine Steuerung / Planung / Ausführung der Backups (z.B. über die Agenten) ist aktuell nicht möglich.
Alles unter Kontrolle?
Der MySQL Enterprise Manager erfüllt seinen Zweck. Er bietet eine schnelle Lösung, um MySQL Ziele zu überwachen. Die Installation ist einfach und auch der Rollout der Agenten ist nicht komplex. Zur Not kann auf diese sogar verzichtet werden. Unserer Meinung nach lohnt sich die Installation dieses Produktes aber nur, wenn größere Umgebungen überwacht werden sollen. Gerade Kunden die heterogene Umgebungen (MySQL, PostgreSQL, Cassandra, Oracle, …), homogen und zentral überwachen wollen, werden sich eher für einen generalistischen Ansatz entscheiden. Die „Nutzerfreundlichkeit" (Usability) ist an einigen Stellen ebenfalls noch verbesserungsfähig. Manchmal ist es recht schwer, die Informationen zu finden, die gerade benötigt werden (nicht sehr intuitive Klickpfade). Ebenfalls schade ist es, dass es sich um eine „reine" Überwachungslösung handelt und spezielle Aktionen nicht aus dem Enterprise Monitor gemanagt werden können (Durchführen von Backups, Steuern (Switchover) von Cluster- und / oder Replikationsknoten).
Seminarempfehlung
Sie haben Fragen rund um den Betrieb von MySQL und anderen Open Source Datenbanken oder Sie beschäftigen sich gerade mit dem Thema Monitoring? Dann sprechen Sie mit uns! Wir teilen unsere Erfahrungen mit Ihnen und beraten Sie gerne.
MYSQL ADMINISTRATION DB-MY-01
Zum Seminar