Überwachung eines verteilten Systems: Wenn das Monitoring eines Big-Data-Systems zum Big-Data-Problem wird
Monitoring ist ein fundamentaler Bestandteil für den stabilen Betrieb einer Applikation. Dabei geht es nicht nur darum im Fehlerfall alarmiert zu werden. Ohne tiefen Einblick in das gesamte System ist es nicht möglich, Fehler und deren Ursache oder den Einfluss von Änderungen zu erkennen. Das Monitoring großer Systeme wird besonders anspruchsvoll durch die schiere Anzahl der zu überwachenden Komponenten und deren Dynamik sowie die Menge der dabei anfallenden Metriken und Logdaten.
Wir berichten von unseren Erfahrungen bei der Skalierung unserer Applikation und zeigen eine mögliche Monitoring-Infrastruktur auf Basis von Prometheus, Elasticsearch, Logstash, Kibana und Kafka.
Vorkenntnisse
Vorwissen ist nicht zwingend notwendig. Kontakt mit dem Thema Metriken und Monitoring kann allerdings sinnvoll sein, um das vorgestellte einordnen und bewerten zu können.
Lernziele
Anhand eines existierenden Projekts soll aufgezeigt werden, wie ein System überwacht werden kann und welche Metriken dabei besonders wichtig sind, um Entscheidungen zu treffen oder Fehler zu debuggen. Neben einer kurzen Einführung in das Monitoring- und Alerting-Toolkit Prometheus, das besonders in dynamischen Szenarien sehr gute Dienste leistet, gibt der Talk einen Einblick in eine mögliche Infrastruktur. Hierbei werden auch Elasticsearch, Logstash, Kibana und Kafka kurz angerissen. Hauptsächliches Ziel ist es, die auftretenden Probleme und die notwendigen Veränderungen bei der Skalierung des zu überwachenden Systems aufzuzeigen und die dabei gesammelten Erfahrungen teilen.