Im Zeitalter von IoT (Internet of Things) und BigData-Anwendungen spielen Datenbanken eine wichtige Rolle und sind entscheidend für den Erfolg eines Unternehmens. Dadurch wachsen auch die Anforderung an die Überwachung von SQL-Servern. Deshalb möchte ich in diesem Blog erläutern, was Sie beim SQL-Server-Monitoring beachten sollten.
Was sind SQL-Server?
Die Structured Query Language (SQL) ist eine der wichtigsten standardisierten Programmiersprachen zur Verwaltung von relationalen Datenbanken wie Microsoft SQL, MariaDB, MySQL, Oracle DB oder PostgreSQL. SQL-Server sind praktisch das Zuhause einer Datenbank und hosten in der Regel die SQL-Applikationen eines Datenbankherstellers. Das macht es schwierig, die typische Hardware und andere Details eines Datenbank-Servers zu definieren, da die relationalen Datenbank-Managementsysteme (RDBMS) der einzelnen Hersteller unterschiedlich Funktionen und verschiedene Hardware-Anforderungen haben. Außerdem sind Datenbanken je nach Unternehmen unterschiedlich groß.
Die meisten SQL-Server nutzen eine Linux-Distribution als Unterbau. Allerdings findet man in Windows-Umgebungen natürlich auch Windows-SQL-Server. Microsoft-SQL-Server können Sie aber mittlerweile ebenfalls unter Linux-Distributionen aufsetzen.
Viele Unternehmen nutzen unterschiedliche SQL-Datenbanken parallel. Zudem gelten in manchen Bereichen wie der Webentwicklung SQL-Datenbanken als überholt. Daher arbeiten viele Unternehmen zusätzlich noch mit nicht-strukturellen Datenbanken. Diese setzen sie dann nicht mehr unbedingt auf klassischen Hardware-Servern auf, sondern nutzen Container und Kubernetes-Cluster, um ihre Datenbanken zu hosten. Und schließlich bieten Public-Cloud-Provider wie Amazon mit AWS RDS Angebote, um SQL-Server problemlos als Cloud-Service zu betreiben.
Das gehört in ein SQL-Server-Monitoring
Das Variantenreichtum von SQL-Landschaften in Unternehmen wirkt sich auch auf die Anforderungen an das SQL-Server-Monitoring aus. Oftmals müssen Datenbank-Administratoren eine Vielzahl von unterschiedlichen SQL-Servern und Datenbanksystemen überwachen. Da Datenbanken für den Unternehmenserfolg essenziell sind, betreiben die meisten IT-Abteilungen bereits ein SQL-Server-Monitoring.
Allerdings ist in der Praxis ein unzureichendes Monitoring von SQL-Servern ein großes Problem. Oftmals ist das Monitoring nur auf einzelne Metriken wie die Erreichbarkeit der Datenbank oder die Speicherauslastung limitiert. Einerseits sind einige Tools wegen der vielen SQL-Datenbank-Anbieter technisch nicht in der Lage, für alle gängigen Hersteller sämtliche nötigen Daten aufzunehmen. Andererseits könnten manche Monitoring-Tools theoretisch mit etwas Aufwand zwar mehr Daten erfassen, sind aber nicht ausreichend skalierbar, um die große Menge an Monitoring-Daten richtig verarbeiten zu können, die bei großen Datenbanken entstehen.
Neben der Verfügbarkeit sollten Unternehmen zudem den Informationsfluss ihrer SQL-Server ständig prüfen und optimieren. Datenbank-Systemadministratoren müssen deshalb Datenbanken häufiger umbauen oder anpassen. Gleichzeitig darf es zu keiner Unterbrechung der Überwachung kommen. Deshalb ist es wichtig, dass ein Monitoring-Tool mit minimalem Aufwand eine präzise Überwachung gewährleistet und sich an unterschiedliche Datenbanken anpassen lässt.
Beim Monitoring von SQL-Servern müssen Datenverfügbarkeit in verteilten Systemen, Antwortzeiten, und die Zahl der Netzwerkknoten immer Teil des Monitorings sein. Nur durch die detaillierte Überwachung können Unternehmen Flaschenhälse und Performance-Engpässe vermeiden. Ist die Nutzung eines Monitoring-Tools zu aufwendig, setzt dies Datenbank-Systemadministratoren unter immensen Zeitdruck. Die Folge sind oft Lücken in der Überwachung von Datenbanken.
Mit Checkmk ist die Erfassung der Daten dank der bestehenden Monitoring-Plugins sehr einfach. Die verfügbaren Integrationen für beispielsweise Microsoft SQL, Oracle Database, PostgreSQL, MariaDB oder IBM DB2 ergänzen die Daten aus den Checkmk-Agenten, sodass Sie mit wenigen Klicks Ihre SQL-Server umfassend überwachen können. Alle nötigen Plugins sind über die grafische Benutzeroberfläche von Checkmk erreichbar und mit wenigen Klicks installiert.
Checkmk arbeitet bei der Überwachung von SQL-Servern besonders effizient und lässt sich gut skalieren. Die Swisscom überwacht mit Checkmk riesige Oracle-Datenbanken mit mehreren Tausend Services pro Host völlig problemlos dank der guten Skalierbarkeit von Checkmk.
Zudem unterstützt Checkmk auch Datenbanken in der Cloud, beispielsweise können Sie AWS RDS problemlos überwachen. Außerdem stehen Monitoring-Integrationen für NoSQL-Datenbanken wie Redis, MongoDB oder Couchbase bereit. Damit können Sie nicht nur verschiedene Hersteller, sondern auch unterschiedliche Datenbank-Technologien einheitlich überwachen. In jedem Fall haben Sie immer die optimale Datengrundlage und können Probleme schnell beseitigen.
Checkmk eignet sich zudem für den teamübergreifenden Einsatz und bietet Datenbank-Administratoren dank der tiefgreifenden Prometheus-Integration einen leichten Zugang in die DevOps-Welt. Gleichzeitig profitieren Entwickler von den Daten aus Checkmk und können die Interaktionen von Datenbanken und Applikationen überwachen.