Monitoring bei werkraum: Prometheus und Grafana

Aktueller Stand des Monitorings bei werkraum

Bei werkraum, Ihrem Experten für TYPO3, Shopware und WordPress, steht jetzt ein bedeutendes Upgrade des Monitoring-Systems an. In diesem Blogpost nehmen wir euch mit auf unsere Reise: von den Grenzen unseres aktuellen Systems zu den unzähligen Möglichkeiten eines erweiterten Monitorings, das nicht nur effizienter, sondern auch aussagekräftiger ist.

Unser bisheriges Monitoring-System basierte auf Kuma. Mit seinen vielfältigen Anbindungen – von Slack-Integrationen über SMS bis hin zu E-Mail-Benachrichtigungen – hat Kuma bisher zuverlässig seinen Dienst verrichtet. Es informiert uns umgehend, wenn eine Website oder ein Server nicht erreichbar ist. Dieses einfache, aber effektive System hat uns lange gute Dienste geleistet, doch wie so oft in der IT, stößt auch dieses System an seine Grenzen, insbesondere bei komplexen Setups mit individuellen Anforderungen.

Die Grenzen des aktuellen Systems und die Notwendigkeit für ein Upgrade

Im Laufe der Zeit sind unsere Anforderungen an das Monitoring gewachsen. Die einfache Verfügbarkeitsprüfung von Websites und Servern durch Kuma reicht nicht mehr aus, um die tiefergehenden Bedürfnisse eines modernen Webentwicklungsunternehmens zu erfüllen. Wir brauchen ein System, das nicht nur reaktiv ist, sondern uns proaktive Einblicke in die Performance, Sicherheit und Effizienz unserer Infrastruktur bietet. Es geht darum, Probleme zu erkennen, bevor sie entstehen, und detaillierte Datenanalysen durchzuführen, um kontinuierliche Verbesserungen zu ermöglichen. Ein Upgrade unseres Monitoringsystems ist daher unverzichtbar.

Überblick über Monitoring-Optionen

Die Welt des IT-Monitorings ist vielfältig. Es gibt zahlreiche Tools und Technologien, die von grundlegender Verfügbarkeitsüberwachung bis hin zu komplexen Performance-Analysen reichen. Beliebte Optionen sind beispielsweise Nagios, ein Veteran in der IT-Überwachung, und Zabbix, bekannt für seine Flexibilität und Skalierbarkeit. Jedes Tool hat seine Stärken und ist für unterschiedliche Anforderungen geeignet. Unsere Herausforderung bestand darin, ein System zu finden, das nicht nur unsere aktuellen Bedürfnisse erfüllt, sondern auch mit uns wachsen und sich an zukünftige Anforderungen anpassen kann.

Tiefere Einblicke in Prometheus

Wir haben uns für Prometheus entschieden, und hier sind die Gründe:

  • Open-Source und Community-Getrieben: Entwickelt von SoundCloud, profitiert Prometheus von einer aktiven Community.

  • Effiziente Speicherung: Ideal für Zeitreihendaten, bietet es eine hoch performante Datenbank.

  • Leistungsstarke Query-Sprache: Ermöglicht komplexe Datenabfragen in Echtzeit.

  • Flexibilität: Besonders geeignet für dynamische Cloud-Umgebungen.

  • Robuste Exporter-Unterstützung: Sammelt Metriken effizient und ermöglicht detaillierte Überwachung.

Prometheus ist somit ein Schlüsselelement in unserem neuen Monitoring-System.

Die Rolle von Grafana im neuen System

Grafana ist mehr als nur ein Dashboard. Hier sind seine Kernfunktionen:

  • Intuitive Visualisierungen: Ermöglicht es, komplexe Daten übersichtlich darzustellen.

  • Anpassbare Dashboards: Leicht zu erweitern und zu individualisieren.

  • Breite Datenkompatibilität: Unterstützt eine Vielzahl von Datenquellen, einschließlich Prometheus.

  • Interaktive Erkundung: Ermöglicht es, tief in die Daten einzutauchen und Erkenntnisse zu gewinnen.

Mit Grafana können wir unsere Daten nicht nur sehen, sondern sie auch verstehen.

Wichtige Exporter für Webentwickler

Für ein effektives Monitoring mit Prometheus sind bestimmte Exporter entscheidend. Hier ist eine erweiterte Liste von Exportern, die besonders für Webentwickler relevant sind:

  • Blackbox Exporter: Überwacht Endpunkte über verschiedene Transportprotokolle, einschließlich DNS, TCP, HTTP(S), gRPC und ICMP. Ideal zur Überprüfung der Verfügbarkeit und Leistung von Endpunkten.

  • node_exporter: Sammelt systemweite Informationen wie CPU-Auslastung, Speicher-, Festplatten- und Netzwerkstatistiken. Ein Muss für die Überwachung von Serverleistung und Systemgesundheit.

  • Windows Exporter: Erfasst wichtige Metriken von Windows-Systemen, einschließlich CPU, Speicher, logischen Disks und grundlegenden Windows-Diensten.

  • SQL Exporter: Überwacht SQL-basierte Datenbankmanagementsysteme und liefert wertvolle Metriken wie Deadlocks und Speichernutzung.

  • ElasticSearch Exporter: Bietet Einblicke in ElasticSearch-Cluster, inklusive Informationen zu Indizes, Caching und Thread-Pool-Statistiken.

  • TYPO3-Extensions: Spezialisierte Exporter für TYPO3 bieten tiefe Einblicke in die Performance und das Verhalten von TYPO3-Instanzen.

Diese Exporter bieten die Möglichkeit, präzise Daten zu sammeln und so einen umfassenden Überblick über die Leistung und Gesundheit unserer Webanwendungen und Infrastruktur zu erhalten.

Alerting-Strategien

Ein effizientes Alerting-System ist für schnelles Reagieren auf Probleme unerlässlich. Hier sind einige Optionen und Überlegungen:

  • Grafana Alerting: Grafana bietet integrierte Alerting-Funktionen, die direkt mit den Dashboards verbunden sind. Diese Option bietet eine nahtlose Integration mit unserer bestehenden Datenvisualisierung.

  • Alertmanager von Prometheus: Für komplexere Alerting-Anforderungen ist der Prometheus Alertmanager verfügbar. Er unterstützt das Routing von Alerts, das Gruppieren von Benachrichtigungen und das Unterdrücken von nicht-kritischen Alerts.

  • Externe Integrationen: Für erweiterte Funktionen können Tools wie PagerDuty oder OpsGenie in Betracht gezogen werden, die sich in Prometheus und Grafana integrieren lassen.

Basierend auf unserem Setup und den Anforderungen wird unsere Wahl vermutlich auf die eingebauten Alerting-Funktionen von Grafana fallen. Diese bieten eine gute Balance zwischen Funktionalität und Benutzerfreundlichkeit, insbesondere für Teams, die bereits mit Grafana vertraut sind.

Implementierung in einer Docker-Umgebung

Die Implementierung unseres neuen Monitoring-Systems erfolgt in einer Docker-Umgebung, was uns mehrere Vorteile bringt:

  • Isolation und Konsistenz: Jeder Dienst läuft in einem eigenen Container, was Isolation gewährleistet und gleichzeitig konsistente Umgebungen schafft.

  • Skalierbarkeit: Durch die Nutzung von Docker können wir leicht skalieren, je nachdem, wie sich unsere Monitoring-Anforderungen entwickeln.

  • Portabilität: Docker erleichtert die Bewegung unserer Monitoring-Infrastruktur zwischen verschiedenen Umgebungen, sei es im lokalen Netzwerk oder auf dedizierten Servern.

In der ersten Phase wird die Implementierung im lokalen LAN durchgeführt. Dies ermöglicht es uns, das System gründlich zu testen und anzupassen, bevor es auf dedizierten Servern zum Einsatz kommt. Wir nutzen Portainer als Management-Tool für unsere Docker-Container, was uns eine benutzerfreundliche Schnittstelle für das Management und Monitoring unserer Docker-Infrastruktur bietet.

Abschluss und Ausblick

Mit diesem Upgrade unseres Monitoring-Systems betreten wir ein neues Zeitalter der Webentwicklungsüberwachung bei werkraum. Wir erwarten, dass die Kombination aus Prometheus und Grafana, ergänzt durch eine sorgfältig ausgewählte Reihe von Exportern und einer durchdachten Alerting-Strategie, uns tiefergehende Einblicke und eine verbesserte Reaktionsfähigkeit auf Systemzustände bietet.

Dies ist nur der Anfang unserer Reise. Wir werden weiterhin unsere Monitoring-Strategie evaluieren und verbessern, um sicherzustellen, dass sie mit den sich ständig ändernden Anforderungen der Webentwicklung Schritt hält. Wir freuen uns darauf, unsere Erfahrungen und Erkenntnisse mit der Community zu teilen und gemeinsam die Zukunft der Webentwicklungsüberwachung zu gestalten.

Kategorien

TYPO3

Tags

Devtools

Hat Dir der Artikel gefallen?