{"id":29057,"date":"2026-07-31T22:32:09","date_gmt":"2026-07-31T20:32:09","guid":{"rendered":"https:\/\/blog.mi.hdm-stuttgart.de\/?p=29057"},"modified":"2026-07-31T22:32:11","modified_gmt":"2026-07-31T20:32:11","slug":"von-metriken-zu-unknown-unknowns-observability-im-uber-klon","status":"publish","type":"post","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/","title":{"rendered":"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-x-large-font-size\">Abstract<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Verteilte Microservice-Architekturen erm\u00f6glichen hohe Skalierbarkeit, erschweren jedoch Betrieb und Fehlersuche, da klassisches Monitoring den Zusammenhang zwischen den vielen Services in Ultra-Large-Scale-Systemen nur unzureichend abbildet. Diese Arbeit konzipiert ein integriertes Monitoring-, Tracing- und Observability-Framework am Beispiel eines Uber-\u00e4hnlichen, verteilten Ride-Sharing-Systems. Dabei werden SLO-basiertes Alerting, Distributed-Tracing-Konzepte mit angepasster Sampling-Strategie sowie eine auf OpenTelemetry gest\u00fctzte, herstellerunabh\u00e4ngige Gesamtarchitektur zur Trennung von Metriken, Traces und angereicherten Events entworfen. Die Konzeption orientiert sich an realen Architekturentscheidungen etablierter ULS-Anbieter und w\u00e4gt bewusst Kompromisse zwischen Kosten, Datenkardinalit\u00e4t, Konsistenz und Betriebsaufwand ab. Die Ergebnisse zeigen, dass Observability in diesem Kontext nicht als einzelnes Werkzeug, sondern als \u00fcbergreifende, technisch wie kulturell verankerte Systemeigenschaft verstanden werden muss. Die Arbeit schlie\u00dft mit einer kritischen W\u00fcrdigung der organisatorischen Voraussetzungen sowie einem Ausblick auf eBPF-basierte Instrumentierung und KI-gest\u00fctzte Observability-Werkzeuge ab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Index Terms<\/strong> \u2014 Observability, Monitoring, Distributed Tracing, Ultra-Large-Scale-Systeme, Microservices, SLO, SLI, Error Budget, OpenTelemetry, M3, Jaeger, ClickHouse, Sampling, SRE.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading has-x-large-font-size\">Einleitung<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Moderne Softwaresysteme basieren zunehmend auf verteilten Microservice-Architekturen, die zwar hohe Skalierbarkeit erm\u00f6glichen, jedoch den Betrieb und die Fehlersuche deutlich erschweren. Klassisches Monitoring st\u00f6\u00dft dabei schnell an seine Grenzen, da es den Zusammenhang zwischen den Services in hochverteilten Systemen nur unzureichend abbilden kann. Mittels einer Full-Stack Observability versucht man dieses Problem mittels Metriken, Logs und Distributed Tracing zu l\u00f6sen und tiefere Einblicke in das Systemverhalten zu erm\u00f6glichen [1].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein anschauliches Beispiel f\u00fcr die Relevanz dieser Thematik ist der AWS-Ausfall vom 7. Dezember 2021 in der Region US-East-1. Eine interne St\u00f6rung f\u00fchrte dort zu Kaskadeneffekten, die weltweit zahlreiche Dienste wie Netflix, Reddit oder Disney+ f\u00fcr mehrere Stunden beeintr\u00e4chtigten [2]. Besonders kritisch war dabei, dass Monitoring- und Statussysteme zeitweise keine zuverl\u00e4ssigen Informationen lieferten [3]. Der Vorfall verdeutlicht, wie schnell kleine technische Probleme gro\u00dffl\u00e4chige Auswirkungen haben k\u00f6nnen, insbesondere wenn Observability nicht zuverl\u00e4ssig funktioniert.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-x-large-font-size\">Zielsetzung &amp; Abgrenzung<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Im Rahmen dieses Projekts wurde ein Uber-\u00e4hnliches System konzipiert, das auf einer verteilten Microservice-Architektur basiert. Ziel dieser Arbeit ist es, die Konzepte Monitoring, Tracing und Observability innerhalb einer solchen Architektur zu analysieren und geeignete L\u00f6sungen f\u00fcr die \u00dcberwachung und Fehleranalyse zu entwerfen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dabei soll untersucht werden, wie sich Requests \u00fcber mehrere Services hinweg nachvollziehen lassen, wie Metriken und Logs zentral gesammelt werden k\u00f6nnen und wie Fehler fr\u00fchzeitig erkannt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Arbeit konzentriert sich hierbei ausschlie\u00dflich auf die Themen Monitoring, Distributed Tracing und Observability innerhalb der konzipierten Systemarchitektur. Die vollst\u00e4ndige Implementierung eines produktiven Ride-Sharing-Systems ist nicht Bestandteil der Arbeit. Funktionale Anforderungen werden lediglich soweit betrachtet, wie sie f\u00fcr das Verst\u00e4ndnis der Datenfl\u00fcsse und der Observability relevant sind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ebenso liegt der Fokus nicht auf der detaillierten Implementierung einzelner Tools, sondern auf deren architektonischer Einordnung und dem Zusammenspiel innerhalb eines verteilten Systems.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading has-x-large-font-size\">I. Monitoring<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Monitoring bezeichnet die kontinuierliche Beobachtung eines Systems anhand vorab definierter Metriken und Schwellwerte und beantwortet damit die Frage, ob ein System wie erwartet l\u00e4uft. Der grundlegende Ablauf ist dabei reaktiv: Eine Metrik wird gemessen, bei \u00dcberschreiten eines Schwellwerts oder Erkennen einer Anomalie wird ein Alert ausgel\u00f6st, auf den eine Reaktion folgt. Monitoring zeigt somit, dass ein Problem vorliegt, w\u00e4hrend die Fragen nach dem Wo (Kapitel II) und dem Warum (Kapitel III) durch Distributed Tracing und Observability beantwortet werden. Es bildet dabei das Fundament der gesamten Observability, da ohne eine stabile Metrik- und Alerting-Pipeline auch nachgelagerte Analysewerkzeuge keinen Mehrwert liefern. In einer Microservice-Architektur mit tausenden Services, wie sie dem betrachteten Uber-Klon zugrunde liegt, erfordert dies eine dedizierte und horizontal skalierbare Infrastruktur [4].<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">I.I Metriken, SLIs und SLOs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Metriktypen als Grundlage<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Metriken sind aggregierte numerische Zeitreihen wie Request-Rate, Latenz, Fehlerrate oder CPU-Auslastung. F\u00fcr das Verst\u00e4ndnis der weiteren Konzepte ist eine Unterscheidung der drei grundlegenden Metriktypen hilfreich [5]:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Counter:<\/strong> Ein monoton steigender Wert, der nur bei einem Neustart auf null zur\u00fcckgesetzt wird. Er eignet sich etwa f\u00fcr die Gesamtzahl bearbeiteter Requests oder aufgetretener Fehler, nicht jedoch f\u00fcr Werte, die auch sinken k\u00f6nnen.<\/li>\n\n\n\n<li><strong>Gauge:<\/strong> Ein aktueller Wert, der beliebig steigen und fallen kann, beispielsweise die CPU-Auslastung, die L\u00e4nge einer Queue oder die Anzahl gleichzeitiger Requests.<\/li>\n\n\n\n<li><strong>Histogram:<\/strong> Z\u00e4hlt Beobachtungen in konfigurierbaren Buckets und speichert zus\u00e4tzlich deren Summe und Gesamtzahl. Auf dieser Basis lassen sich serverseitig Perzentile wie p95 oder p99 berechnen, was insbesondere f\u00fcr Latenz-Metriken zentral ist [6].<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Die Instrumentierung dieser Metriken erfolgt \u00fcber OpenTelemetry, wodurch der Code nur einmal instrumentiert werden muss und das Backend \u2013 etwa M3, Prometheus oder Datadog \u2013 austauschbar bleibt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Service Level Indicator (SLI)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Service Level Indicator ist eine messbare Qualit\u00e4tskennzahl aus Nutzerperspektive und wird formal als Verh\u00e4ltnis von erfolgreichen zu allen validen Ereignissen innerhalb eines Zeitfensters ausgedr\u00fcckt [7]. Typische SLIs sind Request-Latenz, Fehlerrate, Verf\u00fcgbarkeit und Durchsatz. F\u00fcr Latenz-SLIs werden dabei bewusst Perzentile statt des Durchschnitts verwendet, da der Mittelwert Ausrei\u00dfer verdeckt: Erhalten etwa ein Prozent der Nutzer zehnfach langsamere Antworten, bleibt der Durchschnitt unauff\u00e4llig, w\u00e4hrend p95 und p99 die Erfahrung der langsamsten Nutzer sichtbar machen \u2013 aus Sicht des Site Reliability Engineering (SRE) h\u00e4ufig die relevanteste Gruppe [7].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei Uber entstehen aus diesem Ansatz besondere Herausforderungen: Die verwendeten SLIs sind hochdimensional, das hei\u00dft, Metriken werden nach Attributen wie Route, Region, Stadt, Status-Code und Betriebssystem getaggt. Eine einzige Metrik-Emission kann dadurch bis zu 100 Millionen einzigartige Zeitreihen erzeugen [8]. Klassische Werkzeuge wie Graphite oder Prometheus sto\u00dfen bei dieser Kardinalit\u00e4t an ihre Grenzen, was Ubers Eigenentwicklung M3 motiviert (siehe Abschnitt I.III).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>SLO, Error Budget und Burn Rate<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Service Level Objective (SLO) definiert einen Zielwert f\u00fcr einen SLI \u00fcber ein festgelegtes Zeitfenster. Es beschreibt bewusst ein \u201egut genug\u201c und keine hundertprozentige Zuverl\u00e4ssigkeit, da jede weitere \u201eNeun\u201c exponentiell teurer wird und die Weiterentwicklung von Funktionen verdr\u00e4ngt [7]. Ein typisches SLO w\u00e4re beispielsweise, dass die p95-Latenz \u00fcber 30 Tage zu 99,5 % unter 300 ms bleibt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aus dem SLO ergibt sich das Error Budget als erlaubte Fehlerquote, definiert als 1 \u2212 SLO. Ein SLO von 99,9 % entspricht somit einem Budget von 0,1 %, was etwa 43 Minuten Ausfallzeit pro Monat erlaubt [9]. Dieses Budget \u00fcberf\u00fchrt den Zielkonflikt zwischen Zuverl\u00e4ssigkeit und Release-Geschwindigkeit in eine datenbasierte Entscheidung: Ist das Budget aufgebraucht, wird der Fokus auf Stabilisierung gelegt; ist noch Budget vorhanden, sind neue Deployments vertretbar. Die Burn Rate beschreibt, wie schnell das Budget verbraucht wird, und bildet die Grundlage f\u00fcr modernes SLO-basiertes Alerting (vgl. Abschnitt I.II). In der Praxis wird dabei meist ein rollierendes 30-Tage-Fenster einem Kalendermonat vorgezogen [10].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Von diesen Konzepten ist das Service Level Agreement (SLA) abzugrenzen: W\u00e4hrend das SLA einen extern vereinbarten, vertraglichen Zielwert gegen\u00fcber Kunden darstellt und dessen Verletzung Konsequenzen wie Vertragsstrafen nach sich zieht, ist das SLO ein internes Ziel, das bewusst strenger als das SLA gew\u00e4hlt wird, um einen Puffer zu schaffen. Der SLI ist die zugrunde liegende Messgr\u00f6\u00dfe, auf der beide aufbauen [7].<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"737\" height=\"419\" data-attachment-id=\"29064\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/image-144\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png\" data-orig-size=\"737,419\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png\" alt=\"\" class=\"wp-image-29064\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png 737w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-300x171.png 300w\" sizes=\"auto, (max-width: 737px) 100vw, 737px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Abbildung 1: SLO-Schwelle und Alert-Ausl\u00f6sung am Beispiel einer Fehlerrate.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">I.II Alerting-Strategie<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Grundprinzipien<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eine zentrale Herausforderung des Alertings ist das Verh\u00e4ltnis von Signal zu Rauschen. Zu viele Alerts f\u00fchren zu einer sogenannten Alert Fatigue: Engineers stumpfen ab und \u00fcbersehen echte Incidents. Wie real dieses Problem bei gro\u00dfen Systemen ist, zeigt ein Beispiel von Uber, bei dem im Rahmen der \u00dcberwachung von Buchungszahlen \u00fcber 2.000 St\u00e4dte innerhalb von zehn Tagen 232 Anomalien gemeldet wurden, von denen sich lediglich elf als echt erwiesen \u2013 ein Rauschanteil von 95 % [11]. Alerts sollten daher stets <em>actionable<\/em> sein, also eine klare Handlungsanweisung und einen definierten Verantwortlichen besitzen. Ein weiteres SRE-Prinzip besteht darin, auf nutzersichtbare Symptome zu alarmieren (\u201eNutzer erhalten Fehler\u201c) statt auf m\u00f6gliche Ursachen (\u201eDisk-IO ist hoch\u201c), da Letztere h\u00e4ufig Rauschen erzeugen und nicht zwingend nutzerrelevant sind [4]. Nach Dringlichkeit wird zudem gestaffelt: Alerts hoher Priorit\u00e4t l\u00f6sen einen Page an den On-Call-Engineer aus, Alerts niedriger Priorit\u00e4t werden lediglich \u00fcber Slack oder E-Mail zugestellt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alerting-Typen im Vergleich<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In der Praxis lassen sich drei Alerting-Typen unterscheiden. Statische Schwellwerte folgen der einfachen Regel \u201eMetrik &gt; X \u2192 Alert\u201c. Sie sind transparent und eignen sich gut f\u00fcr stabile Infrastruktur-Metriken wie CPU- oder Disk-Auslastung, ignorieren jedoch Tageszeit, Wochentag und saisonale Muster. Anomaly Detection nutzt hingegen dynamische, aus historischen Daten gelernte Schwellwerte und ber\u00fccksichtigt dadurch zyklische Effekte wie Nachfragespitzen zu bestimmten Uhrzeiten oder an einzelnen Flugh\u00e4fen; sie ist daf\u00fcr schwerer nachvollziehbar und zu debuggen. SLO-basiertes Alerting schlie\u00dflich l\u00f6st aus, wenn das Error Budget zu schnell verbraucht wird, und besitzt damit einen direkten Bezug zur Nutzerauswirkung, erfordert aber solide SLI-Definitionen [12].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr das SLO-basierte Alerting empfiehlt das SRE-Workbook ein Multi-Window-Multi-Burn-Rate-Verfahren, das zwei Zeitfenster (etwa eine Stunde und sechs Stunden) kombiniert, um schnelle, tats\u00e4chliche Incidents von kurzen Spitzen zu unterscheiden und so sowohl eine hohe Precision als auch einen hohen Recall bei kurzer Detection Time zu erreichen [12]. Bei Uber werden die f\u00fcr zyklische Business-Metriken n\u00f6tigen dynamischen Schwellwerte \u00fcber die Anomaly-Detection-Plattform Argos beziehungsweise den Forecasting-Layer F3 erzeugt [13]. Das damit verbundene Nachvollziehbarkeitsproblem adressiert Uber \u00fcber ein Alert-Backtesting, bei dem eine Alert-Konfiguration im Trockenlauf gegen historische Produktionsdaten gepr\u00fcft wird, bevor sie aktiv wird [14].<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">I.III Ubers Monitoring-Stack: M3, uMonitor und Neris<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ubers Monitoring-Stack veranschaulicht, warum klassische Werkzeuge bei Ultra-Large-Scale-Systemen an ihre Grenzen sto\u00dfen und eine Eigenentwicklung notwendig wird. Urspr\u00fcnglich setzte Uber auf Nagios, das Graphite-Schwellwertpr\u00fcfungen gegen Carbon-Metriken ausf\u00fchrte. Mit dem Wachstum des Unternehmens erwies sich dieser Ansatz aufgrund von Skalierungsproblemen des Carbon-Clusters als nicht mehr tragf\u00e4hig, woraufhin eine eigene Plattform entwickelt wurde [13].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das Metriken-Backend M3 wurde ab 2014\/2015 entwickelt und als Open-Source-Projekt ver\u00f6ffentlicht. Es ist nativ f\u00fcr extreme Kardinalit\u00e4t und horizontale Skalierung ausgelegt und besteht im Kern aus drei Komponenten: der verteilten Zeitreihendatenbank M3DB mit invertiertem Index, dem Prometheus-kompatiblen M3 Coordinator f\u00fcr das Query- und Write-Routing sowie dem M3 Aggregator f\u00fcr Aggregation und Downsampling vor dem Schreiben. Zur Einordnung der Gr\u00f6\u00dfenordnung: M3 aggregiert rund 500 Millionen Metriken pro Sekunde, persistiert etwa 20 Millionen davon pro Sekunde und verwaltete bereits 2018 \u00fcber 6,6 Milliarden Zeitreihen. Der wesentliche Grund f\u00fcr die Eigenentwicklung war, dass kommerzielle und quelloffene Werkzeuge dieses Datenvolumen nicht zu vertretbaren Kosten verarbeiten konnten [15].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Auf M3 setzt das hauseigene Alerting-System uMonitor auf, das Nagios abl\u00f6ste. Es verwaltet rund 125.000 Alert-Konfigurationen und pr\u00fcft dabei etwa 700 Millionen Datenpunkte \u00fcber 1,4 Millionen Zeitreihen pro Sekunde. Architektonisch besteht uMonitor aus drei Komponenten: einem Storage-Service, der Alert-Definitionen und deren State-Machine in Cassandra ablegt, einem Scheduler, der die Pr\u00fcfungen etwa im Minutentakt anst\u00f6\u00dft, und Workern, welche die Pr\u00fcfungen ausf\u00fchren. uMonitor unterst\u00fctzt sowohl statische als auch anomaliebasierte Schwellwerte [16].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Erg\u00e4nzt wird uMonitor durch Neris, ein Host-Level-Alerting f\u00fcr hochaufl\u00f6sende Host-Metriken, die nicht in M3 gespeichert werden. Da pro Rechenzentrum etwa 1,5 Millionen Host-Metriken pro Minute \u00fcber 40.000 Hosts anfallen, pr\u00fcft Neris direkt auf dem jeweiligen Host statt gegen eine zentrale Datenbank und vermeidet so unn\u00f6tigen Ingest- und Speicheraufwand [16]. Beide Systeme m\u00fcnden in eine gemeinsame Benachrichtigungs-Pipeline, in der die Deduplizierungs-Komponente Origami Alerts etwa nach Stadt, Produkt oder App-Version b\u00fcndelt und dadurch ein Alert-Flooding bei Kaskaden-Failures verhindert. Zus\u00e4tzlich testet die Komponente Blackbox die API-Infrastruktur von au\u00dferhalb Ubers und erkennt so Probleme, die interne Metriken nicht sichtbar machen [13].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr die Erkennung von Incidents ist die Minimierung der Mean Time to Detect (MTTD) entscheidend, da eine proaktive Erkennung stets einer Meldung durch Nutzer vorzuziehen ist. Da ein Gro\u00dfteil der Incidents durch Deployments verursacht wird, erkennt uMonitor den Zeitpunkt einer \u00c4nderung und kann automatisch den verantwortlichen Change-Owner kontaktieren. Die ausgel\u00f6sten Benachrichtigungen lassen sich zudem mit Trace-Links aus Jaeger anreichern, wodurch der \u00dcbergang von der Erkennung zur Ursachenanalyse mittels Distributed Tracing (Kapitel III) vorbereitet wird [13].<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"708\" height=\"333\" data-attachment-id=\"29065\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/image-145\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-1.png\" data-orig-size=\"708,333\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-1.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-1.png\" alt=\"\" class=\"wp-image-29065\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-1.png 708w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-1-300x141.png 300w\" sizes=\"auto, (max-width: 708px) 100vw, 708px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Abbildung 2: Ubers Alerting-Pipeline (nach [13]).<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">I.IV Umsetzung im Uber-Klon<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr den Uber-Klon wird als Metriken-Backend ein M3-basierter Stack gew\u00e4hlt, da dieser f\u00fcr hohe Kardinalit\u00e4t und horizontale Skalierung ausgelegt ist \u2013 genau die Anforderung, die aus den hochdimensionalen SLIs eines solchen Systems entsteht. Prometheus allein skaliert bei dieser Kardinalit\u00e4t nicht ausreichend, da es an die Grenzen einzelner Knoten und des verf\u00fcgbaren Arbeitsspeichers st\u00f6\u00dft, w\u00e4hrend SaaS-L\u00f6sungen wie Datadog oder New Relic bei diesem Datenvolumen prohibitiv teuer sind und ein Vendor Lock-in bedeuten [15].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr das Alerting wird ein Konzept eingesetzt, das SLIs kontinuierlich gegen ihre SLOs pr\u00fcft und bei einer Verletzung der Burn Rate eskaliert \u2013 realisierbar etwa \u00fcber den Prometheus Alertmanager oder ein zu uMonitor analoges System. Nagios scheidet aus, da es f\u00fcr tausende Microservices nicht skaliert. Als Alerting-Strategie werden statische Schwellwerte f\u00fcr stabile Infrastruktur-Metriken, SLO- beziehungsweise Burn-Rate-basiertes Alerting f\u00fcr nutzerrelevante Symptome und Anomaly Detection f\u00fcr zyklische Business-Metriken kombiniert. Die Instrumentierung erfolgt einheitlich \u00fcber OpenTelemetry (vgl. Abschnitt I.I), sodass das Backend austauschbar bleibt. Der bewusste Verzicht auf teure SaaS-Suiten zugunsten quelloffener, selbst betriebener Komponenten ist bei den hier betrachteten Datenmengen wirtschaftlich sinnvoll, da fixe Betriebs- und Personalkosten g\u00fcnstiger ausfallen als mit dem Volumen skalierende Cloud-Kosten.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading has-x-large-font-size\">II. Distributed Tracing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Distributed Tracing ist ein zentrales Konzept zur Beobachtung und Analyse von Requests in modernen, verteilten Microservice-Architekturen. Ziel ist es, den vollst\u00e4ndigen Lebenszyklus eines einzelnen Requests \u00fcber mehrere unabh\u00e4ngige Services hinweg nachvollziehbar zu machen [17]. Dadurch wird es m\u00f6glich trotz zahlreicher Services, Systeminteraktionen transparent darzustellen und Fehlerursachen zu identifizieren. Besonders in stark entkoppelten Architekturen, wie sie beispielsweise in einem Uber-\u00e4hnlichen System auftreten [1], ist Distributed Tracing eine wichtige Methode, um Abh\u00e4ngigkeiten und Systemverhalten zu verstehen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">II.I Grundkonzept<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das Grundkonzept von Distributed Tracing basiert auf der Erfassung und Verkn\u00fcpfung von Informationen \u00fcber die Verarbeitung eines Requests innerhalb eines verteilten Systems. Hierbei sind zentrale Bestandteile der sogenannte Trace und der Span [18]:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Trace:<\/strong> Ein Trace repr\u00e4sentiert den vollst\u00e4ndigen End-to-End-Verlauf eines Requests und bildet somit den gesamten Verlauf eines Requests durch das System ab. Er kann als gerichteter azyklischer Graph (<em>DAG<\/em>) von einzelnen Verarbeitungsschritten verstanden werden.<\/li>\n\n\n\n<li><strong>Span:<\/strong> Diese Verarbeitungsschritte werden als Spans bezeichnet. Ein Span beschreibt eine einzelne Arbeitseinheit innerhalb eines Services, beispielsweise einen HTTP-Request, einen Datenbankzugriff oder einen RPC-Aufruf. Jeder Span enth\u00e4lt dabei Informationen wie Startzeit, Endzeit, Dauer, Status sowie zus\u00e4tzliche Metadaten. Durch die Verkn\u00fcpfung mehrerer Spans entsteht die vollst\u00e4ndige Struktur eines Traces.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Zur eindeutigen Zuordnung werden zwei zentrale Identifikatoren verwendet [19]:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Trace-ID:<\/strong> Die Trace-ID wird beim Eintritt eines Requests in das System erzeugt und \u00fcber alle beteiligten Services hinweg weitergegeben. Sie dient dazu, alle zugeh\u00f6rigen Spans eines Requests zu gruppieren.<\/li>\n\n\n\n<li><strong>Span-ID:<\/strong> Die Span-ID identifiziert hingegen eine einzelne Operation innerhalb eines Services. Zus\u00e4tzlich enth\u00e4lt jeder Span typischerweise eine Parent-Span-ID, wodurch die hierarchische Struktur eines Requests rekonstruiert werden kann.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Durch diese Struktur l\u00e4sst sich der Ablauf eines Requests, die Abh\u00e4ngigkeiten zwischen Services sowie Latenzen einzelner Verarbeitungsschritte analysieren. Dadurch wird Transparenz in ansonsten schwer nachvollziehbaren Microservice-Systemen geschaffen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">II.II Tools und Technologien<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Typische Tracing-Systeme bestehen aus vier Hauptkomponenten:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Instrumentierung:<\/strong> Erzeugung der Spans in den Services,<\/li>\n\n\n\n<li><strong>Transport:<\/strong> \u00dcbertragung der Trace-Daten<\/li>\n\n\n\n<li><strong>Backend:<\/strong> Speicherung und Verarbeitung der Trace-Daten<\/li>\n\n\n\n<li><strong>Frontend:<\/strong> Visualisierung der Daten in einer UI<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Im Kontext moderner Cloud-native Architekturen haben sich unter anderem folgende L\u00f6sungen etabliert: Jaeger, Zipkin und Grafana Tempo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Jaeger<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jaeger ist ein verteiltes Tracing-System, das urspr\u00fcnglich bei Uber entwickelt wurde und von Googles Dapper-Architektur inspiriert ist [20]. Es wird heute h\u00e4ufig in komplexen Microservice-Umgebungen eingesetzt und ist Teil des CNCF-\u00d6kosystems [21].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jaeger ist modular und verteilt aufgebaut und besteht aus Instrumentierung, Collector-, Query- und Storage-Komponenten. Wie in Abbildung 3 gezeigt wird, senden die instrumentierten Microservices ihre Trace-Daten direkt an die Collector-Komponente. Diese nimmt die Daten entgegen und schreibt sie anschlie\u00dfend in das Storage-Backend.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"415\" height=\"142\" data-attachment-id=\"29066\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/image-146\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-2.png\" data-orig-size=\"415,142\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-2.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-2.png\" alt=\"\" class=\"wp-image-29066\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-2.png 415w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-2-300x103.png 300w\" sizes=\"auto, (max-width: 415px) 100vw, 415px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Abbildung 3: Direct-To-Storage Architektur von Jaeger<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Storage-Schicht muss dabei sowohl durchschnittliche Last als auch hohe zuverl\u00e4ssig verarbeiten k\u00f6nnen. Zur kurzfristigen Entkopplung kann der Collector eine in-memory Queue verwenden, um Traffic-Spitzen abzufangen. Bei l\u00e4nger anhaltenden Lastspitzen kann es jedoch zu Datenverlust kommen, wenn das Storage-System nicht ausreichend skaliert ist oder die Ingest-Rate nicht mith\u00e4lt [21].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Zipkin<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zipkin ist eines der \u00e4lteren Distributed-Tracing-Systeme und wurde entwickelt, um einfache Microservice-Architekturen schnell beobachtbar zu machen [22].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Vergleich zu neueren Systemen ist Zipkin st\u00e4rker zentralisiert aufgebaut. Das System ist dadurch einfacher zu betreiben, st\u00f6\u00dft jedoch bei hoher Last oder sehr gro\u00dfen Systemen schneller an Skalierungsgrenzen [23].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Grafana Tempo<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grafana Tempo ist ein modernes, hochskalierbares Tracing-Backend, das von Grafana Labs entwickelt wurde [24]. Es ist besonders auf einfache Skalierung und niedrige Betriebskosten ausgelegt. Es verfolgt einen anderen Ansatz als klassische Systeme [22]:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Traces werden gesammelt und direkt in Object Storage abgelegt<\/li>\n\n\n\n<li>Es gibt keine klassische Indexierung<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Durch den Verzicht auf Indexierung kann Tempo sehr gro\u00dfe Datenmengen kosteneffizient speichern, allerdings ist die explorative Suche eingeschr\u00e4nkter als bei anderen Tools [25].<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">II.III Sampling-Strategien und -Methoden<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In gro\u00dfen Distributed-Tracing-Systemen entstehen innerhalb kurzer Zeit sehr hohe Mengen an Trace-Daten, was zu erheblichen Speicher-, Netzwerk- und Verarbeitungsaufwand f\u00fchren. Aus diesem Grund werden sogenannte Sampling-Strategien eingesetzt [26].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sampling beschreibt die gezielte Auswahl eines repr\u00e4sentativen Anteils aller Traces bei m\u00f6glichst geringem Speicher- und Performance-Overhead. Ziel ist es, trotz reduzierter Datenmenge weiterhin aussagekr\u00e4ftige Schl\u00fcsse aus den Traces ziehen zu k\u00f6nnen [27].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dabei entsteht ein Trade-off: Wird zu viel gesampelt und somit ein Gro\u00dfteil der Traces gespeichert, steigen Speicherbedarf sowie zus\u00e4tzlicher Verarbeitungs- und Netzwerkaufwand. Erfolgt dagegen zu wenig Sampling, k\u00f6nnen relevante Fehler oder langsame Requests unentdeckt bleiben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grunds\u00e4tzlich wird zwischen Head-based und Tail-based Sampling unterschieden [26]:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Head-based Sampling:<\/strong> Es wird bereits zu Beginn, beim ersten Span, eines Requests entschieden, ob ein Trace gespeichert wird. Der Vorteil dieses Ansatzes liegt in der hohen Effizienz, da keine vollst\u00e4ndigen Traces zwischengespeichert werden m\u00fcssen. Allerdings k\u00f6nnen Fehler oder langsame Requests verworfen werden, bevor deren Verhalten bekannt ist.<\/li>\n\n\n\n<li><strong>Tail-based Sampling:<\/strong> Es wird erst nach Abschluss des gesamten Traces entschieden, ob ein Trace gespeichert wird. Der Collector besitzt dadurch Informationen \u00fcber alle Spans, Fehler und Latenzen. Dadurch lassen sich fehlerhafte oder langsame Requests zuverl\u00e4ssig erfassen. Allerdings ist dieser Ansatz ressourcenintensiver, da vollst\u00e4ndige Traces zun\u00e4chst zwischengespeichert werden m\u00fcssen.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Zur Umsetzung von Sampling existieren verschiedene Verfahren, die je nach Systemanforderung kombiniert werden k\u00f6nnen [26]:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Probabilistic Sampling:<\/strong> Zuf\u00e4llige Auswahl von Traces mit fester Wahrscheinlichkeit. Einfach zu konfigurieren und geeignet f\u00fcr gleichm\u00e4\u00dfigen Traffic, jedoch ohne Garantie, dass seltene Fehler oder kritische Requests erfasst werden.<\/li>\n\n\n\n<li><strong>Adaptive Sampling:<\/strong> Dynamische Anpassung der Sampling-Rate an Systemlast und Traffic einzelner Endpunkte. Dadurch wird die Datenerfassung automatisch optimiert, allerdings steigt die Komplexit\u00e4t der Konfiguration.<\/li>\n\n\n\n<li><strong>Rate-Limiting Sampling:<\/strong> Feste Anzahl von Traces pro Zeitintervall (z. B. 100 Traces\/s). Sch\u00fctzt das Backend vor Lastspitzen und sorgt f\u00fcr eine vorhersehbare Datenmenge unabh\u00e4ngig vom Gesamttraffic.<\/li>\n\n\n\n<li><strong>Rule-based Sampling:<\/strong> Auswahl anhand definierter Regeln oder Attribute wie Fehlerstatus, Latenz oder Endpoint. Erm\u00f6glicht gezielte Speicherung relevanter Traces, erfordert jedoch eine genaue Regeldefinition.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">II.IV Umsetzung im Uber-Klon<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Im Folgenden wird die Auswahl der eingesetzten Technologien sowie der konkreten Sampling-Strategien und -Methoden f\u00fcr den Uber-Klon beschrieben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Auswahl des Distributed Tracing Tools<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr den Uber-Klon wurde Jaeger als Distributed Tracing Tool ausgew\u00e4hlt. Die Entscheidung basiert auf den Anforderungen einer sehr gro\u00dfen Microservice-Architektur mit tausenden verteilten Services, in der insbesondere horizontale Skalierbarkeit wichtig ist. Jaeger eignet sich in diesem Kontext besonders gut, da es eine stark modulare und skalierbare Architektur besitzt und somit f\u00fcr hohe Trace-Datenmengen ausgelegt ist. Zus\u00e4tzlich erm\u00f6glicht es eine explorative Analyse von Traces \u00fcber eine umfangreiche UI, was f\u00fcr Debugging und Root-Cause-Analysen in komplexen Systemlandschaften entscheidend ist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein weiterer Vorteil ist die enge Integration in das CNCF- und OpenTelemetry-\u00d6kosystem, wodurch eine langfristige Weiterentwicklung sowie eine standardisierte Instrumentierung sichergestellt sind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sampling-Strategie<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr den Uber-Klon wird grunds\u00e4tzlich Head-based Sampling als Standardstrategie eingesetzt. Diese Entscheidung basiert auf der hohen Effizienz und dem geringen Ressourcenverbrauch, wodurch sich der Ansatz besonders f\u00fcr Systeme mit sehr hohem Traffic eignet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr kritische Systeme, insbesondere den Payment-Service, wird jedoch eine kombinierte Strategie eingesetzt. Hier kommt Tail-based Sampling in Kombination mit Rule-based Sampling zum Einsatz, um sicherzustellen, dass alle fehlerhaften oder auff\u00e4lligen Requests vollst\u00e4ndig erhalten bleiben und f\u00fcr Analysen verf\u00fcgbar sind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sampling-Methoden<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Erg\u00e4nzend werden verschiedene Sampling-Methoden je nach Anwendungsfall eingesetzt.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Probabilistic Sampling:<\/strong> Einsatz f\u00fcr die meisten Services mit gleichm\u00e4\u00dfigem Traffic. Traces werden zuf\u00e4llig mit einer festen Wahrscheinlichkeit gespeichert.<\/li>\n\n\n\n<li><strong>Rate-Limiting Sampling:<\/strong> Einsatz bei erwarteten Traffic-Spitzen, z. B. bei Ride-Requests w\u00e4hrend Sto\u00dfzeiten, um das Backend vor \u00dcberlastung zu sch\u00fctzen.<\/li>\n\n\n\n<li><strong>Adaptive Sampling:<\/strong> Einsatz in High-Volume-Services wie Location-Updates, bei denen sich die Last stark dynamisch ver\u00e4ndert und die Sampling-Rate automatisch angepasst werden muss.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading has-x-large-font-size\">III. Observability<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der \u00dcbergang von klassischem Monitoring und Distributed Tracing hin zur Observability bedeutet einen wesentlichen Paradigmenwechsel in der Systemdiagnostik. W\u00e4hrend Monitoring und Tracing prim\u00e4r darauf ausgelegt sind, bekannte Fehlermuster zu identifizieren und den Ort ihres Auftretens zu lokalisieren, liefert Observability den notwendigen Kontext f\u00fcr eine tiefgreifende Ursachenforschung bei unvorhersehbaren Systemausf\u00e4llen. Es handelt sich hierbei nicht um ein einzelnes technisches Bauteil oder isoliertes Produkt, sondern um eine Verkettung von Vorgehensweisen, die es erm\u00f6glichen, explorative Fragen an ein System zu stellen [28].<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">III.I Grundkonzept<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Um diese konzeptionelle Einordnung und die Abgrenzung der Disziplinen zu verdeutlichen, wird in der Praxis h\u00e4ufig das Konstrukt der \u201eUnknown Unknowns\u201c herangezogen [29]. Dieses Framework, das urspr\u00fcnglich durch ein Zitat des ehemaligen US-Verteidigungsministers Donald Rumsfeld im historischen Kontext des Irakkriegs Anfang der 2000er Jahre gepr\u00e4gt wurde, kategorisiert den Systemzustand in drei wesentliche Ebenen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zun\u00e4chst werden die Known Knowns betrachtet. Das sind Systemzust\u00e4nde, von denen bekannt ist, dass sie verstanden werden. In der IT-Architektur wird diese Ebene durch das klassische Monitoring abgedeckt. Beispielsweise ist es technologisch bekannt, dass Server \u00fcber CPUs verf\u00fcgen und eine Auslastung von 100 % zu kritischen Systemproblemen f\u00fchrt. Diese Risiken k\u00f6nnen im Vorfeld pr\u00e4ventiv getestet werden, sodass gezielt reaktive Dashboards aufgebaut und strikte Limitierungen in Form von Service Level Objectives definiert werden k\u00f6nnen. Die potenziellen Fragen an das System sind somit bereits vor Eintreten eines Ausfalls definiert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die zweite Kategorie umfasst die Known Unknowns, also jene Symptome, von denen bekannt ist, dass die exakte Ursache noch unbekannt ist. Dieser Bereich wird durch das Distributed Tracing adressiert. Ein typisches Beispiel hierf\u00fcr ist eine system\u00fcbergreifende Fahrtanfrage, die sporadisch hohe Latenzen aufweist. Es ist f\u00fcr die Entwickler ersichtlich, dass ein Performance-Problem vorliegt, jedoch bleibt unklar, in welchem der Vielzahl an beteiligten Microservices das tats\u00e4chliche Problem verursacht wird. Da die Symptome grundlegend bekannt sind, wird das System im Vorfeld so instrumentiert, dass Request-Pfade durchg\u00e4ngig gemessen werden k\u00f6nnen, um den Fehlerort kausal einzugrenzen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Observability hingegen widmet sich den Unknown Unknowns, den blinden Flecken einer Systemarchitektur. Hierbei handelt es sich um hochkomplexe Fehlerkombinationen, von denen im Vorfeld nicht einmal antizipiert werden konnte, dass sie gemessen werden m\u00fcssen. F\u00fcr derartig unendliche Merkmalskombinationen, welche durch eine hohe Kardinalit\u00e4t gekennzeichnet sind, kann pr\u00e4ventiv kein dediziertes Monitoring-Dashboard erstellt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein verteilbares System gilt nur dann als \u201eobservable\u201c, wenn es erm\u00f6glicht wird, v\u00f6llig neue, spontane Fragen ad hoc an die Systemdaten zu stellen. Dies muss zwingend erfolgen k\u00f6nnen, ohne dass im Vorfeld neuer Programmcode geschrieben, zus\u00e4tzliche Log-Statements implementiert oder das System im Rahmen einer St\u00f6rung neu deployt werden muss. Ist diese Flexibilit\u00e4t nicht gegeben, akkumulieren sich signifikante Gesch\u00e4ftsverluste durch ungel\u00f6ste Ausfallzeiten. Folglich darf Observability nicht als fertiges Produkt verstanden werden, das \u00fcber externe Dienstleister bezogen wird, sondern es ist als eine \u00fcbergeordnete Systemeigenschaft zu betrachten. Diese tiefgreifende Systemeigenschaft wird final dadurch realisiert, dass die verl\u00e4sslichen Metriken des Monitorings sowie die Request-Verl\u00e4ufe des Tracings herangezogen und intelligent miteinander verschmolzen werden [30].<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">III.II Observability Tools und Technologien<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Um Observability in verteilten Systemen technisch realisieren zu k\u00f6nnen, bedarf es einer Datengrundlage, die eine hohe Detailtiefe aufweist. Klassische, unstrukturierte Text-Logs, die prim\u00e4r f\u00fcr die menschliche Lesbarkeit konzipiert wurden, sind f\u00fcr die automatisierte und multidimensionale Auswertung ungeeignet. Stattdessen wird in modernen Architekturen auf sogenannte Enriched Events zur\u00fcckgegriffen. Hierbei handelt es sich um die Evolution des unstrukturierten Logs zu hochstrukturierten JSON-Dokumenten, die maschinell verarbeitet werden und jede Systemaktion mit einem maximalen Kontext anreichern, der oftmals aus \u00fcber einhundert Key-Value-Paaren besteht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Detailtiefe f\u00fchrt unweigerlich zu der bereits angesprochenen, technologischen Herausforderung der hohen Kardinalit\u00e4t. W\u00e4hrend klassische Metriken des Monitorings eine niedrige Kardinalit\u00e4t aufweisen, wie beispielsweise eine begrenzte Handvoll von HTTP-Statuscodes (z. B. 200 oder 404), zeichnen sich Observability-Daten durch eine hohe Anzahl einzigartiger Werte aus. Zu diesen hochdimensionalen Daten geh\u00f6ren unter anderem Millionen von User-IDs, exakte Geo-Hashes oder Millionen von individuellen Trace-IDs. Werden derartige Datenkombinationen in herk\u00f6mmliche Time-Series-Datenbanken (TSDB) ingestiert, entsteht das Problem der sogenannten \u201eIndex Bloat\u201c. F\u00fcr jede einzigartige Tag-Kombination wird ein neuer interner Index generiert, was den Arbeitsspeicher der Server in k\u00fcrzester Zeit auslastet und unweigerlich zu Systemabst\u00fcrzen f\u00fchrt [31].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um Milliarden von Datens\u00e4tzen nach hunderten Dimensionen filtern und gruppieren zu k\u00f6nnen, m\u00fcssen folglich spezifische Anforderungen an die Datenbankarchitektur gestellt werden. Da relationale Datenbankmanagementsysteme unter der Last solcher multidimensionalen Abfragen kollabieren w\u00fcrden, ist ein Architekturwechsel hin zu einer OLAP-Datenbank (Online Analytical Processing) zwingend erforderlich. Im Gegensatz zu herk\u00f6mmlichen Systemen, welche Daten zeilenweise ablegen, nutzt OLAP eine spaltenbasierte Speicherung. Wird eine Abfrage zur Fehleranalyse lediglich auf spezifische Dimensionen eingegrenzt, m\u00fcssen auf der physischen Speicherebene auch nur diese entsprechenden Spalten eingelesen werden. Dies f\u00fchrt zu einer massiven Einsparung von I\/O-Ressourcen, erm\u00f6glicht eine extreme Lesegeschwindigkeit und erlaubt eine effiziente Kompression der hochstrukturierten Events [32].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Einsatz einer derartigen OLAP-Architektur geht jedoch mit systembedingten Kompromissen einher. Durch die Optimierung auf schnellen Lesezugriffe und Datenkompression sind nachtr\u00e4gliche \u00c4nderungen oder L\u00f6schungen von einzelnen Datens\u00e4tzen kaum m\u00f6glich, da die Daten prim\u00e4r \u00fcber ein Append-only-Verfahren angeh\u00e4ngt werden. Zudem wird zugunsten der Performance oftmals auf absolute Konsistenz verzichtet, wodurch das System lediglich eine Eventual Consistency aufweist. F\u00fcr den Anwendungsfall der Observability, die historische und aggregierte Auswertung von Telemetriedaten, sind diese Einschr\u00e4nkungen jedoch technologisch weniger relevant und k\u00f6nnen zugunsten der Analysegeschwindigkeit \u00fcber riesige Datens\u00e4tze hinweg in Kauf genommen werden [33].<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">III.III Umsetzung im Uber-Klon und Gesamtarchitektur<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bei der Konzeption einer geeigneten Observability-L\u00f6sung muss die infrastrukturelle Skalierung des Unternehmens zwingend ber\u00fccksichtigt werden. W\u00e4hrend Start-ups aus Gr\u00fcnden der geringeren Komplexit\u00e4t oftmals auf verwaltete SaaS-L\u00f6sungen wie Datadog oder Honeycomb setzen, explodieren bei diesen Modellen im Ultra-Large-Scale-Bereich die Kosten durch die Abrechnung pro Ereignis oder Gigabyte massiv. Mittelst\u00e4ndische Unternehmen greifen h\u00e4ufig auf Open-Source-Alternativen wie den ELK-Stack zur\u00fcck [34] [35]. Die dort verwendete Elasticsearch-Technologie nutzt jedoch invertierte Indizes, welche zwar f\u00fcr klassische Volltextsuchen optimiert sind, bei der Metadaten-Filterung von hochkardinalen Datenmengen jedoch zu einem RAM- und CPU-Kollaps f\u00fchren. F\u00fcr ein ULS-System ist folglich ein \u201eMake\u201c-Ansatz mit der Eigenentwicklung einer auf OLAP-Datenbanken basierenden Pipeline erforderlich. Ab einem gewissen Datenvolumen amortisiert sich der personelle Aufwand f\u00fcr dedizierte Database Engineers, da die extreme Hardware-Effizienz und Datenkompression der spaltenbasierten Speicherung die laufenden Cloud- und Lizenzkosten signifikant unterbieten [36].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Bereich der ULS-Systeme hat sich der Einsatz von OLAP-Datenbanken als Branchenstandard etabliert. Ein Konkurrenzvergleich verdeutlicht jedoch unterschiedliche architekturspezifische Auspr\u00e4gungen. Das Technologieunternehmen Grab setzt prim\u00e4r auf Apache Pinot, welches speziell auf Echtzeit-Ingestionen optimiert ist. Der architektonische Nachteil gegen\u00fcber ClickHouse \u00e4u\u00dfert sich jedoch darin, dass das System starrer operiert und spontane, hochkomplexe JOIN-Operationen weniger performant verarbeitet werden k\u00f6nnen [37]. Der Fahrtvermittler Lyft vollzog hingegen k\u00fcrzlich eine Migration von Apache Druid auf ClickHouse. Die Treiber f\u00fcr diesen Wechsel waren ein geringerer operativer Overhead, eine vereinfachte Bedienung sowie ein signifikant reduzierter Lernaufwand f\u00fcr die involvierten Entwicklerteams [38].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Basierend auf diesen Erkenntnissen f\u00e4llt die architektonische Entscheidung f\u00fcr den konzipierten Uber-Klon auf ClickHouse. Die ausgepr\u00e4gte F\u00e4higkeit zur Datenkompression f\u00fchrt zu erheblichen Kosteneinsparungen im Vergleich zu dokumentenbasierten Systemen wie Elasticsearch. Durch die standardisierte Datenerfassung via OpenTelemetry wird zudem ein klassischer Vendor Lock-in vermieden, da die abstrahierte API eine nahtlose Austauschbarkeit des Speicher-Backends erm\u00f6glicht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um zu gew\u00e4hrleisten, dass Millionen von System-Events pro Sekunde stabil und ohne Informationsverlust verarbeitet werden, bedarf es einer robusten Gesamtarchitektur. Das Leitprinzip der konzipierten Daten-Pipeline basiert darauf, dass jeder Datentyp in einer spezifisch f\u00fcr seinen Einsatzzweck optimierten Datenbank abgelegt wird [33].<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"209\" data-attachment-id=\"29067\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/image-147\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-3.png\" data-orig-size=\"498,209\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-3.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-3.png\" alt=\"\" class=\"wp-image-29067\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-3.png 498w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image-3-300x126.png 300w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Abbildung 4: Gesamtarchitektur der Datenpipeline.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die erste Stufe dieser Pipeline bildet die Erfassung der Daten. Die verteilten Microservices generieren standardisierte OpenTelemetry-Daten und pushen diese asynchron an einen lokalen Agenten. Der nachgeschaltete OpenTelemetry Collector fungiert in dieser Architektur als intelligenter Router. Er \u00fcbernimmt das logische Routing und filtert sensible, personenbezogene Daten pr\u00e4ventiv heraus, bevor diese in die zentrale Infrastruktur gelangen. Zudem reichert er die Datenpakete automatisch um essentielle Infrastruktur-Metadaten an, bevor sie an das Transportsystem \u00fcbergeben werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr den Transport der generierten Telemetriedaten wird eine Kafka-Queue eingesetzt, sie fungiert als Puffer f\u00fcr die hohen ULS-Datenstr\u00f6me. Die asynchrone Entkopplung stellt sicher, dass die nachgelagerten Datenbanken die einflie\u00dfenden Informationen in ihrem eigenen Tempo wegschreiben k\u00f6nnen, wodurch Systemabst\u00fcrze bei massiven \u00dcberlastungen, beispielsweise durch pl\u00f6tzliche Traffic-Spitzen, verhindert werden. Diese Stream-Architektur bietet zudem den strategischen Vorteil, dass zu einem sp\u00e4teren Zeitpunkt neue Konsumenten, wie etwa Machine-Learning-Algorithmen zur Echtzeit-Betrugserkennung, nahtlos an den Datenstrom angef\u00fcgt werden k\u00f6nnen, ohne die Erfassungslogik der Microservices zu modifizieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nach der Pufferung erfolgt der sogenannte Storage-Split, bei dem die Datenstr\u00f6me in drei spezialisierte S\u00e4ulen aufgeteilt werden. Aggregierte Metriken werden an die Time-Series-Datenbank M3 weitergeleitet, welche f\u00fcr Zeitreihen-Aggregationen optimiert ist und als Basis f\u00fcr das reaktive Monitoring dient. Die Request-Pfade (Traces) werden in einer Cassandra-Datenbank persistiert. Diese NoSQL-Datenbank f\u00e4ngt die massive Schreiblast der verteilten Systeme ab, sodass die Traces im Anschluss performant durch Jaeger visualisiert werden k\u00f6nnen. Alle angereicherten Events flie\u00dfen f\u00fcr die explorative Ad-hoc-Analyse in die Observability-Datenbank ClickHouse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Orchestrierung und Korrelation dieser drei isolierten Datent\u00f6pfe f\u00fcr Observability erfolgt \u00fcber das zentrale Tool Grafana. Als verbindendes Element durch das gesamte System fungiert dabei die eindeutige Trace-ID. Durch diese ID wird es erm\u00f6glicht, in der Benutzeroberfl\u00e4che von einem identifizierten Metrik-Ausschlag (M3) direkt zu dem betroffenen Pfad (Jaeger) und von dort nahtlos in die tiefen Event-Details der Observability-Ebene (ClickHouse) zu springen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">III.IV Auswirkungen auf andere Teams und kritische W\u00fcrdigung<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Implementierung einer umfassenden Observability-Architektur entfaltet ihren Mehrwert nicht isoliert innerhalb des Betriebs- oder SRE-Teams, sondern fungiert als wichtige Datengrundlage f\u00fcr angrenzende Abteilungen im Software Development Life Cycle. Da es sich bei Observability-Daten anders gesagt um sehr hochaufl\u00f6sende Business-Daten handelt, ergeben sich weitreichende Synergieeffekte f\u00fcr das gesamte \u00d6kosystem. Im Bereich des CI\/CD (Continuous Integration \/ Continuous Deployment) dient die Observability-Datenbank als automatisiertes Quality Gate. Nach dem Rollout einer neuen Softwareversion an eine begrenzte Nutzerbasis kann die Deployment-Pipeline aktiv Abfragen an die Datenbank richten. Hierbei werden nicht lediglich rudiment\u00e4re Infrastrukturmetriken wie die CPU-Auslastung evaluiert, sondern spezifische Business-Events analysiert. Werden diese durch das Deployment signifikant negativ beeinflusst, greift ein automatischer Circuit Breaker, durch den die Version unverz\u00fcglich zur\u00fcckgerollt wird, noch bevor ein manuelles Eingreifen erforderlich wird [39] [40].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dar\u00fcber hinaus profitieren Abteilungen wie der Customer Support und spezialisierte Fraud-Teams von diesem Ansatz, was in der Praxis h\u00e4ufig unter dem Begriff der Business Observability zusammengefasst wird. Durch die Gew\u00e4hrung von Lesezugriffen auf die leistungsstarke Observability-Datenbank k\u00f6nnen diese Teams in Echtzeit komplexe Analysen durchf\u00fchren. Beispielsweise lassen sich sogenannte Velocity-Abuse-Muster identifizieren. Hierbei wird analytisch evaluiert, ob identische Zahlungsmittel in k\u00fcrzester Zeit von unterschiedlichen Nutzern in verschiedenen geografischen Regionen verwendet wurden, um so automatisiert betr\u00fcgerische Aktivit\u00e4ten aufzudecken [41].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trotz der weitreichenden technologischen Vorteile muss der Einsatz einer solchen Architektur im Ultra-Large-Scale-Kontext kritisch gew\u00fcrdigt werden. Einen wesentlichen Kompromiss stellt der Storage Trade-off dar. Selbst bei der Anwendung von datenreduzierenden Ma\u00dfnahmen wie dem Tail-based Sampling generiert das System immense Datenmengen, deren dauerhafte Speicherung auf hochperformanten Speichermedien \u00f6konomisch nicht vertretbar ist. Zur L\u00f6sung dieses Problems wird zwingend ein striktes Data Tiering ben\u00f6tigt. Rohdaten, die den gesamten Event-Kontext beinhalten, werden lediglich f\u00fcr einen kurzen Zeitraum im sogenannten \u201eHot Storage\u201c vorgehalten, um eine unmittelbare Fehleranalyse zu gew\u00e4hrleisten. Nach Ablauf dieser Frist werden die Daten aggregiert, komprimiert und in einen kosteng\u00fcnstigeren, jedoch langsameren \u201eCold Storage\u201c verschoben [33].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Neben den infrastrukturellen Limitierungen existiert ein noch wichtigerer kultureller Trade-off. Observability darf nicht rein als Software-Tool verstanden werden, sondern muss als soziotechnisches System betrachtet werden. Die leistungsf\u00e4higste Architektur verliert ihren Wert, wenn sie mit unvollst\u00e4ndigen oder fehlerhaften Daten gespeist wird. Es wird von den Entwicklern eine hohe Disziplin gefordert, sauberen und kontextreichen Code zu schreiben, in dem korrekte Tags und Telemetriedaten aktiv in die OpenTelemetry-Spans injiziert werden. Werden bei der Entwicklung neuer Services kritische Metadaten vergessen, ist eine sp\u00e4tere, granulare Ursachenforschung nahezu unm\u00f6glich. Um dieser Herausforderung zu begegnen, muss Observability als fundamentale Ingenieurskultur etabliert werden [42].<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading has-x-large-font-size\">IV. Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Implementierung von Monitoring, Tracing und Observability in hochkomplexen, verteilten Systemen verfolgt das prim\u00e4re Ziel, Ausfallzeiten und die Mean Time To Recovery zu minimieren sowie pr\u00e4ventiv gr\u00f6\u00dferen Systemausf\u00e4llen entgegenzuwirken. Realisiert wird dies durch das synergetische Zusammenspiel dreier Datentypen: aggregierte Metriken, verkn\u00fcpfte Request-Pfade (Traces) und tiefgreifende Kontext-Logs (Events). W\u00e4hrend das Monitoring anhand vordefinierter Schwellwerte die essenzielle Frage beantwortet, ob ein System fehlerhaft agiert, lokalisiert das Distributed Tracing mittels Spans den Ort des Problems. Observability liefert darauf aufbauend durch das multidimensionale Filtern roher Events die finale Antwort auf die Frage nach der eigentlichen Ursache und erm\u00f6glicht die Identifikation zuvor unbekannter Systemzust\u00e4nde.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr die technologische Umsetzung in einem Ultra-Large-Scale-Szenario wie dem konzipierten Uber-Klon wird eine strikte Entkopplung der Datenerfassung von der Datenspeicherung empfohlen. Durch den Einsatz von OpenTelemetry als standardisiertes Erfassungswerkzeug wird ein Vendor-Lock-in vermieden und technologische Unabh\u00e4ngigkeit gew\u00e4hrleistet. Auf Ebene der Persistenz wird eine nutzenzentrierte Trennung vorgenommen, bei der Metriken in der Time-Series-Datenbank M3, Traces in Cassandra zur anschlie\u00dfenden Visualisierung durch Jaeger und Observability-Events in ClickHouse f\u00fcr rasant auszuf\u00fchrende Ad-hoc-Analysen gespeichert werden. Dieser \u201eMake\u201c-Ansatz und die damit verbundene strategische Investition in interne Site Reliability Engineers werden durch ihren Business Case legitimiert. Bei den anfallenden Petabyte-Datenmengen w\u00fcrde die Nutzung kommerzieller SaaS-L\u00f6sungen die \u00f6konomische Profitabilit\u00e4t des Gesamtsystems durch exponentiell steigende Kosten massiv untergraben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dennoch erfordert die konzipierte Gesamtarchitektur bewusste Kompromisse. Um die immensen Speicherkosten zu kontrollieren, wird auf die vollst\u00e4ndige Nachverfolgbarkeit fehlerfreier Requests verzichtet und stattdessen ein selektives Sampling angewendet. Zudem wird zugunsten einer hohen Schreibgeschwindigkeit eine eventuelle Inkonsistenz in der Datenspeicherung in Kauf genommen, da sich kritische Fehlermuster bei der schieren Masse an Transaktionen dennoch zuverl\u00e4ssig abzeichnen. Der entscheidendste Trade-off ist jedoch kultureller Natur. Observability ist keine reine Software-Suite, die lediglich installiert werden muss, sondern stellt eine tiefgreifende Ingenieurskultur dar, die aktiv eingefordert werden muss. Selbst die leistungsf\u00e4higste technologische Infrastruktur bleibt unbrauchbar, wenn die Entwickler keinen Sinn in ihrer Anwendung sehen.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading has-x-large-font-size\">V. Ausblick<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Ausblick auf die technologische Evolution von Monitoring, Tracing und Observability in Ultra-Large-Scale-Systemen zeigt ein deutliches Potential in der Datenerfassung sowie der tiefgehenden Fehleranalyse. Mit der zunehmenden Adaption von eBPF (Extended Berkeley Packet Filter) wird es erm\u00f6glicht, Programme direkt auf der Betriebssystemebene im Linux-Kernel auszuf\u00fchren, ohne dass dieser aufwendig modifiziert oder das System neu gestartet werden muss. Da jegliche Microservice-Kommunikation mit dem Netzwerk oder der Hardware unweigerlich den Kernel passiert, k\u00f6nnen Telemetriedaten k\u00fcnftig zentral abgegriffen werden, wodurch der manuelle Aufwand f\u00fcr Entwickler zur Implementierung von Meta-Tags drastisch reduziert wird [43] [44]. Diese Technologie ebnet zugleich den Weg f\u00fcr das \u201eContinuous Profiling\u201c, welches zunehmend als vierte S\u00e4ule der Observability (neben Logs, Metriken und Traces) betrachtet wird. W\u00e4hrend traditionelle Ans\u00e4tze meist bei der Fehlerlokalisation auf Service-Ebene enden, kann durch kontinuierliches Profiling direkt in der Produktionsumgebung exakt identifiziert werden, welche spezifische Code-Zeile oder Funktion f\u00fcr Ressourcenengp\u00e4sse wie CPU-Blockaden oder RAM-\u00dcberlastungen verantwortlich ist [45] [46].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Auf der analytischen Seite wird die Bew\u00e4ltigung der immensen Observability-Datenmengen k\u00fcnftig durch AIOps und Large Language Models transformiert. Anstatt f\u00fcr das Filtern und Suchen komplexe SQL- oder PromQL-Abfragen manuell formulieren zu m\u00fcssen, wird die Interaktion mit den Telemetriedaten zunehmend \u00fcber nat\u00fcrliche Sprache als Observability-Copilot erfolgen. Werden diese generativen KI-Modelle mit den zugrunde liegenden Datenbank-Schemata sowie dem historischen Wissen alter Post-Mortem-Berichte trainiert, k\u00f6nnen sie eigenst\u00e4ndig Anomalien erkennen, Traces analysieren und fundierte Fehlerzusammenfassungen generieren. Dar\u00fcber hinaus birgt dieser KI-gest\u00fctzte Ansatz enormes Potenzial f\u00fcr die Optimierung von Speicherkosten. LLMs k\u00f6nnten k\u00fcnftig dynamisch und intelligent evaluieren, welche spezifischen Traces f\u00fcr eine sp\u00e4tere Fehleranalyse relevant sind und gespeichert werden m\u00fcssen, w\u00e4hrend unwichtige Daten zur Ressourcenersparnis verworfen werden [47] [48] [49].<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading has-x-large-font-size\">Literaturverzeichnis<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">[1] Uber, \u201eUber Blog,\u201c 2 February 2017. [Online]. Available: https:\/\/www.uber.com\/de\/en\/blog\/distributed-tracing\/. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2] C. Wieschollek, \u201eT3N,\u201c 8 December 2021. [Online]. Available: https:\/\/t3n.de\/news\/netflix-disney-mehr-aws-ausfall-1435394\/. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[3] R. Losio, \u201eInfoQ,\u201c 18 December 2021. [Online]. Available: https:\/\/www.infoq.com\/news\/2021\/12\/aws-outage-postmortem\/. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[4] B. Beyer, C. Jones, J. Petoff und N. R. Murphy, \u201eMonitoring Distributed Systems,\u201c in Site Reliability Engineering, O&#8217;Reilly \/ Google, 2016.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[5] Prometheus, \u201eMetric types,\u201c [Online]. Available: https:\/\/prometheus.io\/docs\/concepts\/metric_types\/. [Zugriff am 13 Mai 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[6] Prometheus, \u201eHistograms and summaries,\u201c [Online]. Available: https:\/\/prometheus.io\/docs\/practices\/histograms\/. [Zugriff am 13 Mai 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[7] B. Beyer, C. Jones, J. Petoff und N. R. Murphy, \u201eService Level Objectives,\u201c in Site Reliability Engineering, O&#8217;Reilly \/ Google, 2016.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[8] Uber, \u201eOptimizing Observability with Jaeger, M3, and XYS at Uber,\u201c 26 November 2019. [Online]. Available: https:\/\/www.uber.com\/en\/blog\/optimizing-observability\/. [Zugriff am 13 Mai 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[9] B. Beyer, N. R. Murphy, D. K. Rensin, K. Kawahara und S. Thorne, \u201eError Budget Policy,\u201c in The Site Reliability Workbook, O&#8217;Reilly \/ Google, 2018.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[10] B. Beyer, N. R. Murphy, D. K. Rensin, K. Kawahara und S. Thorne, \u201eImplementing SLOs,\u201c in The Site Reliability Workbook, O&#8217;Reilly \/ Google, 2018.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[11] Uber, \u201euVitals \u2013 An Anomaly Detection &amp; Alerting System,\u201c 28 Dezember 2023. [Online]. Available: https:\/\/www.uber.com\/en\/blog\/uvitals-an-anomaly-detection-alerting-system\/. [Zugriff am 13 Mai 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[12] B. Beyer, N. R. Murphy, D. K. Rensin, K. Kawahara und S. Thorne, \u201eAlerting on SLOs,\u201c in The Site Reliability Workbook, O&#8217;Reilly \/ Google, 2018.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[13] Uber, \u201eObservability at Scale: Building Uber&#8217;s Alerting Ecosystem,\u201c 20 November 2018. [Online]. Available: https:\/\/www.uber.com\/en\/blog\/observability-at-scale\/. [Zugriff am 13 Mai 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[14] Uber, \u201eEngineering a Job-based Forecasting Workflow for Observability Anomaly Detection,\u201c 16 Mai 2018. [Online]. Available: https:\/\/www.uber.com\/en\/blog\/observability-anomaly-detection\/. [Zugriff am 13 Mai 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[15] Uber, \u201eM3: Uber&#8217;s Open Source, Large-scale Metrics Platform for Prometheus,\u201c 7 August 2018. [Online]. Available: https:\/\/www.uber.com\/en\/blog\/m3\/. [Zugriff am 13 Mai 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[16] S. Srivatsan, \u201eScaling Observability at Uber: Building In-House Solutions, uMonitor and Neris,\u201c 20 Dezember 2018. [Online]. Available: https:\/\/www.infoq.com\/news\/2018\/12\/observability-uber\/. [Zugriff am 13 Mai 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[17] N. T. Jha, \u201eMedium,\u201c 2024 February 2024. [Online]. Available: https:\/\/medium.com\/%40nikhiltjha\/understanding-distributed-tracing-in-microservices-architectures-437aab1c1786. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[18] B. H. B. L. A. B. M. S. P. P. M. B. D. e. a. Sigelman, \u201eDapper, a Large-Scale Distributed Systems Tracing Infrastructure,\u201c Google, Inc., 2010.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[19] A. Villela, \u201eMedium,\u201c 14 July 2021. [Online]. Available: https:\/\/medium.com\/dzerolabs\/observability-journey-understanding-logs-events-traces-and-spans-836524d63172. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[20] \u201eIBM,\u201c [Online]. Available: https:\/\/www.ibm.com\/de-de\/products\/instana\/supported-technologies\/jaeger-apm-integration. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[21] \u201eJaeger Tracing v2.17,\u201c 1 April 2026. [Online]. Available: https:\/\/www.jaegertracing.io\/docs\/2.17\/architecture\/. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[22] K. Wakayama, \u201eCodesociety,\u201c 25 January 2023. [Online]. Available: https:\/\/codersociety.com\/blog\/articles\/jaeger-vs-zipkin-vs-tempo#3-grafana-tempo. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[23] \u201edash0,\u201c 23 March 2026. [Online]. Available: https:\/\/www.dash0.com\/comparisons\/zipkin-vs-jaeger-what-is-the-difference#limitations. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[24] K. Bhogayata, \u201eMiddleware,\u201c 10 April 2026. [Online]. Available: https:\/\/middleware.io\/blog\/what-is-grafana-tempo\/. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[25] A. Udasi, \u201eLast9,\u201c 20 May 2025. [Online]. Available: http:\/\/last9.io\/blog\/grafana-tempo-vs-jaeger\/. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[26] D. Horovits, \u201elogzIO,\u201c 9 January 2024. [Online]. Available: https:\/\/logz.io\/learn\/sampling-in-distributed-tracing-guide\/#understanding-sampling. [Zugriff am 13 February 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[27] \u201eGoogle Cloud Docs,\u201c [Online]. Available: https:\/\/docs.cloud.google.com\/trace\/docs\/trace-sampling?hl=de. [Zugriff am 13 May 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[28] H. Weakly, \u201eTheNewStack,\u201c 3 Oktober 2024. [Online]. Available: https:\/\/thenewstack.io\/the-4-evolutions-of-your-observability-journey\/. [Zugriff am 31 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[29] A. Gibson, \u201eDo you know your unknown-unknowns?,\u201c 27 Oktober 2021. [Online]. Available: https:\/\/tinycode2.medium.com\/do-you-know-your-unknown-unknowns-5ae5e01daa87. [Zugriff am 31 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[30] A. Wallrabenstein, \u201eComputer Science Blog @ HDM,\u201c 9 Februar 2019. [Online]. Available: https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2019\/02\/09\/observability-where-do-we-go-from-here\/. [Zugriff am 31 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[31] J. Holdsworth, \u201eIBM,\u201c [Online]. Available: https:\/\/www.ibm.com\/de-de\/think\/topics\/full-stack-observability. [Zugriff am 31 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[32] K. K. e. al., \u201eUber Engineering Blog,\u201c 1 Februar 2024. [Online]. Available: https:\/\/www.uber.com\/in\/en\/blog\/datacentral-ubers-observability-and-chargeback-platform\/. [Zugriff am 31 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[33] G. Orosz, \u201eThe Pragmatic Engineer,\u201c 12 M\u00e4rz 2023. [Online]. Available: https:\/\/newsletter.pragmaticengineer.com\/p\/how-uber-built-its-observability-platform. [Zugriff am 31 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[34] E. Schabell, \u201echronosphere,\u201c 21 Dezember 2023. [Online]. Available: https:\/\/chronosphere.io\/learn\/3-key-differences-of-open-source-observability-tools-vs-proprietary-observability-tools\/. [Zugriff am 31 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[35] Deutsche Startups, \u201eDeutsche Startups,\u201c 12 Mai 2023. [Online]. Available: https:\/\/www.deutsche-startups.de\/2023\/05\/12\/full-stack-observability-startups\/. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[36] G. Pepe, \u201eUber Engineering Blog: From Monitoring to Observability: Our Ultra-Marathon to a Cloud-Native Platform,\u201c 6 Januar 2026. [Online]. Available: https:\/\/www.uber.com\/us\/en\/blog\/from-monitoring-to-observability-cloud-native\/. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[37] Y. N. Ong, \u201eGrab Tech Blog: Ensuring data reliability and observability in risk systems,\u201c 23 April 2024. [Online]. Available: https:\/\/engineering.grab.com\/data-observability. [Zugriff am 31 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[38] R. Varyani, \u201eMedium: Druid Deprecation and ClickHouse Adoption at Lyft,\u201c 29 November 2023. [Online]. Available: https:\/\/eng.lyft.com\/druid-deprecation-and-clickhouse-adoption-at-lyft-120af37651fd. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[39] A. Hilton, \u201eGoogle Cloud Blog: Reliable releases and rollbacks\u2014CRE life lessons,\u201c 24 M\u00e4rz 2017. [Online]. Available: https:\/\/cloud.google.com\/blog\/products\/gcp\/reliable-releases-and-rollbacks-cre-life-lessons?hl=en. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[40] \u0160. D. Alec Warner, \u201eCanarying Releases,\u201c in Google SRE Workbook, Google, 2018.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[41] OneUptime, \u201eOneUptime: How to Build a Real-Time Fraud Detection System with ClickHouse,\u201c 31 M\u00e4rz 2026. [Online]. Available: https:\/\/oneuptime.com\/blog\/post\/2026-03-31-clickhouse-real-time-fraud-detection\/view. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[42] OpenTelemetry, \u201eOpenTelemetry: Docs,\u201c [Online]. Available: https:\/\/opentelemetry.io\/docs\/specs\/semconv\/cicd\/cicd-metrics\/. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[43] S. Azulay, \u201eDatacenter Insider: Wie eBPF dabei hilft, die Observability-Ausgaben zu begrenzen,\u201c 7 Dezember 2023. [Online]. Available: https:\/\/www.datacenter-insider.de\/microservice-architekturen-observability-ebpf-ac337af53f10fac06f59655be70e6bd3a\/. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[44] C. R. China, \u201eIBM: Was ist eBPF?,\u201c [Online]. Available: https:\/\/www.ibm.com\/de-de\/think\/topics\/ebpf. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[45] M. Hirt, \u201eDatadog Blog: Why continuous profiling is the fourth pillar of observability,\u201c 25 Juli 2025. [Online]. Available: http:\/\/datadoghq.com\/blog\/continuous-profiling-fourth-pillar\/. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[46] CNCF, \u201eContinuous Profiling Your Production Kubernetes Deployments Running at Scale &#8211; Vijay Samuel &amp; Nick Pordash, eBay,\u201c https:\/\/www.youtube.com\/watch?v=6TqzXj1I8aw, 2023.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[47] Grafana Labs, \u201eGrafana Cloud: Actually Useful AI\u2122 for your entire stack,\u201c https:\/\/grafana.com\/products\/cloud\/ai-observability\/<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[48] Elastic, \u201eelastic: What is LLM observability?,\u201c [Online]. Available: https:\/\/www.elastic.co\/what-is\/llm-observability. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[49] J. Noble, \u201eIBM: Was ist LLM-Observability,\u201c [Online]. Available: https:\/\/www.ibm.com\/de-de\/think\/topics\/llm-observability. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[50] R. Miller, \u201eTech Crunch,\u201c 17 Februar 2021. [Online]. Available: https:\/\/techcrunch.com\/2021\/02\/17\/grafana-labs-launches-observability-stack-aimed-at-enterprise-users\/. [Zugriff am 30 Juni 2026].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Abstract Verteilte Microservice-Architekturen erm\u00f6glichen hohe Skalierbarkeit, erschweren jedoch Betrieb und Fehlersuche, da klassisches Monitoring den Zusammenhang zwischen den vielen Services in Ultra-Large-Scale-Systemen nur unzureichend abbildet. Diese Arbeit konzipiert ein integriertes Monitoring-, Tracing- und Observability-Framework am Beispiel eines Uber-\u00e4hnlichen, verteilten Ride-Sharing-Systems. Dabei werden SLO-basiertes Alerting, Distributed-Tracing-Konzepte mit angepasster Sampling-Strategie sowie eine auf OpenTelemetry gest\u00fctzte, herstellerunabh\u00e4ngige Gesamtarchitektur [&hellip;]<\/p>\n","protected":false},"author":1317,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[1248,91,167,168,1249,619],"ppma_author":[1202,1162,1139],"class_list":["post-29057","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-distributed-tracing","tag-microservices","tag-monitoring","tag-observability","tag-opentelemetry","tag-sre"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Abstract Verteilte Microservice-Architekturen erm\u00f6glichen hohe Skalierbarkeit, erschweren jedoch Betrieb und Fehlersuche, da klassisches Monitoring den Zusammenhang zwischen den vielen Services in Ultra-Large-Scale-Systemen nur unzureichend abbildet. Diese Arbeit konzipiert ein integriertes Monitoring-, Tracing- und Observability-Framework am Beispiel eines Uber-\u00e4hnlichen, verteilten Ride-Sharing-Systems. Dabei werden SLO-basiertes Alerting, Distributed-Tracing-Konzepte mit angepasster Sampling-Strategie sowie eine auf OpenTelemetry gest\u00fctzte, herstellerunabh\u00e4ngige Gesamtarchitektur\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Tom Flocken\"\/>\n\t<meta name=\"keywords\" content=\"distributed tracing,microservices,monitoring,observability,opentelemetry,sre\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Computer Science Blog\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon | Computer Science Blog @ HdM Stuttgart\" \/>\n\t\t<meta property=\"og:description\" content=\"Abstract Verteilte Microservice-Architekturen erm\u00f6glichen hohe Skalierbarkeit, erschweren jedoch Betrieb und Fehlersuche, da klassisches Monitoring den Zusammenhang zwischen den vielen Services in Ultra-Large-Scale-Systemen nur unzureichend abbildet. Diese Arbeit konzipiert ein integriertes Monitoring-, Tracing- und Observability-Framework am Beispiel eines Uber-\u00e4hnlichen, verteilten Ride-Sharing-Systems. Dabei werden SLO-basiertes Alerting, Distributed-Tracing-Konzepte mit angepasster Sampling-Strategie sowie eine auf OpenTelemetry gest\u00fctzte, herstellerunabh\u00e4ngige Gesamtarchitektur\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"737\" \/>\n\t\t<meta property=\"og:image:height\" content=\"419\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-07-31T20:32:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-31T20:32:11+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon | Computer Science Blog @ HdM Stuttgart\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Abstract Verteilte Microservice-Architekturen erm\u00f6glichen hohe Skalierbarkeit, erschweren jedoch Betrieb und Fehlersuche, da klassisches Monitoring den Zusammenhang zwischen den vielen Services in Ultra-Large-Scale-Systemen nur unzureichend abbildet. Diese Arbeit konzipiert ein integriertes Monitoring-, Tracing- und Observability-Framework am Beispiel eines Uber-\u00e4hnlichen, verteilten Ride-Sharing-Systems. Dabei werden SLO-basiertes Alerting, Distributed-Tracing-Konzepte mit angepasster Sampling-Strategie sowie eine auf OpenTelemetry gest\u00fctzte, herstellerunabh\u00e4ngige Gesamtarchitektur\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/#article\",\"name\":\"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon | Computer Science Blog @ HdM Stuttgart\",\"headline\":\"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon\",\"author\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/tom_flocken\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/image.png\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/#articleImage\",\"width\":737,\"height\":419},\"datePublished\":\"2026-07-31T22:32:09+02:00\",\"dateModified\":\"2026-07-31T22:32:11+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/#webpage\"},\"articleSection\":\"Allgemein, Distributed Tracing, Microservices, Monitoring, Observability, OpenTelemetry, SRE, Tom Flocken, Frederik Runge, Julia Bai\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/allgemein\\\/#listItem\",\"name\":\"Allgemein\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/allgemein\\\/#listItem\",\"position\":2,\"name\":\"Allgemein\",\"item\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/allgemein\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/#listItem\",\"name\":\"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/#listItem\",\"position\":3,\"name\":\"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/category\\\/allgemein\\\/#listItem\",\"name\":\"Allgemein\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#organization\",\"name\":\"Computer Science Blog @ HdM Stuttgart\",\"description\":\"on computer science and media topics\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/tom_flocken\\\/#author\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/tom_flocken\\\/\",\"name\":\"Tom Flocken\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/228025319015e324c526241dc0c997160d0f0e665080818b5866b56690a29fa5?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Tom Flocken\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/#webpage\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/\",\"name\":\"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon | Computer Science Blog @ HdM Stuttgart\",\"description\":\"Abstract Verteilte Microservice-Architekturen erm\\u00f6glichen hohe Skalierbarkeit, erschweren jedoch Betrieb und Fehlersuche, da klassisches Monitoring den Zusammenhang zwischen den vielen Services in Ultra-Large-Scale-Systemen nur unzureichend abbildet. Diese Arbeit konzipiert ein integriertes Monitoring-, Tracing- und Observability-Framework am Beispiel eines Uber-\\u00e4hnlichen, verteilten Ride-Sharing-Systems. Dabei werden SLO-basiertes Alerting, Distributed-Tracing-Konzepte mit angepasster Sampling-Strategie sowie eine auf OpenTelemetry gest\\u00fctzte, herstellerunabh\\u00e4ngige Gesamtarchitektur\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/2026\\\/07\\\/31\\\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/tom_flocken\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/index.php\\\/author\\\/tom_flocken\\\/#author\"},\"datePublished\":\"2026-07-31T22:32:09+02:00\",\"dateModified\":\"2026-07-31T22:32:11+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#website\",\"url\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/\",\"name\":\"Computer Science Blog @ HdM Stuttgart\",\"description\":\"on computer science and media topics\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.mi.hdm-stuttgart.de\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon | Computer Science Blog @ HdM Stuttgart","description":"Abstract Verteilte Microservice-Architekturen erm\u00f6glichen hohe Skalierbarkeit, erschweren jedoch Betrieb und Fehlersuche, da klassisches Monitoring den Zusammenhang zwischen den vielen Services in Ultra-Large-Scale-Systemen nur unzureichend abbildet. Diese Arbeit konzipiert ein integriertes Monitoring-, Tracing- und Observability-Framework am Beispiel eines Uber-\u00e4hnlichen, verteilten Ride-Sharing-Systems. Dabei werden SLO-basiertes Alerting, Distributed-Tracing-Konzepte mit angepasster Sampling-Strategie sowie eine auf OpenTelemetry gest\u00fctzte, herstellerunabh\u00e4ngige Gesamtarchitektur","canonical_url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/","robots":"max-image-preview:large","keywords":"distributed tracing,microservices,monitoring,observability,opentelemetry,sre","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/#article","name":"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon | Computer Science Blog @ HdM Stuttgart","headline":"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon","author":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/tom_flocken\/#author"},"publisher":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/#articleImage","width":737,"height":419},"datePublished":"2026-07-31T22:32:09+02:00","dateModified":"2026-07-31T22:32:11+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/#webpage"},"isPartOf":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/#webpage"},"articleSection":"Allgemein, Distributed Tracing, Microservices, Monitoring, Observability, OpenTelemetry, SRE, Tom Flocken, Frederik Runge, Julia Bai"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de#listItem","position":1,"name":"Home","item":"https:\/\/blog.mi.hdm-stuttgart.de","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/#listItem","name":"Allgemein"}},{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/#listItem","position":2,"name":"Allgemein","item":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/#listItem","name":"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon"},"previousItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/#listItem","position":3,"name":"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon","previousItem":{"@type":"ListItem","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/#listItem","name":"Allgemein"}}]},{"@type":"Organization","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#organization","name":"Computer Science Blog @ HdM Stuttgart","description":"on computer science and media topics","url":"https:\/\/blog.mi.hdm-stuttgart.de\/"},{"@type":"Person","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/tom_flocken\/#author","url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/tom_flocken\/","name":"Tom Flocken","image":{"@type":"ImageObject","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/228025319015e324c526241dc0c997160d0f0e665080818b5866b56690a29fa5?s=96&d=mm&r=g","width":96,"height":96,"caption":"Tom Flocken"}},{"@type":"WebPage","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/#webpage","url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/","name":"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon | Computer Science Blog @ HdM Stuttgart","description":"Abstract Verteilte Microservice-Architekturen erm\u00f6glichen hohe Skalierbarkeit, erschweren jedoch Betrieb und Fehlersuche, da klassisches Monitoring den Zusammenhang zwischen den vielen Services in Ultra-Large-Scale-Systemen nur unzureichend abbildet. Diese Arbeit konzipiert ein integriertes Monitoring-, Tracing- und Observability-Framework am Beispiel eines Uber-\u00e4hnlichen, verteilten Ride-Sharing-Systems. Dabei werden SLO-basiertes Alerting, Distributed-Tracing-Konzepte mit angepasster Sampling-Strategie sowie eine auf OpenTelemetry gest\u00fctzte, herstellerunabh\u00e4ngige Gesamtarchitektur","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#website"},"breadcrumb":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/#breadcrumblist"},"author":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/tom_flocken\/#author"},"creator":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/author\/tom_flocken\/#author"},"datePublished":"2026-07-31T22:32:09+02:00","dateModified":"2026-07-31T22:32:11+02:00"},{"@type":"WebSite","@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#website","url":"https:\/\/blog.mi.hdm-stuttgart.de\/","name":"Computer Science Blog @ HdM Stuttgart","description":"on computer science and media topics","inLanguage":"en-US","publisher":{"@id":"https:\/\/blog.mi.hdm-stuttgart.de\/#organization"}}]},"og:locale":"en_US","og:site_name":"Computer Science Blog","og:type":"article","og:title":"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon | Computer Science Blog @ HdM Stuttgart","og:description":"Abstract Verteilte Microservice-Architekturen erm\u00f6glichen hohe Skalierbarkeit, erschweren jedoch Betrieb und Fehlersuche, da klassisches Monitoring den Zusammenhang zwischen den vielen Services in Ultra-Large-Scale-Systemen nur unzureichend abbildet. Diese Arbeit konzipiert ein integriertes Monitoring-, Tracing- und Observability-Framework am Beispiel eines Uber-\u00e4hnlichen, verteilten Ride-Sharing-Systems. Dabei werden SLO-basiertes Alerting, Distributed-Tracing-Konzepte mit angepasster Sampling-Strategie sowie eine auf OpenTelemetry gest\u00fctzte, herstellerunabh\u00e4ngige Gesamtarchitektur","og:url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/","og:image":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png","og:image:secure_url":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png","og:image:width":737,"og:image:height":419,"article:published_time":"2026-07-31T20:32:09+00:00","article:modified_time":"2026-07-31T20:32:11+00:00","twitter:card":"summary","twitter:title":"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon | Computer Science Blog @ HdM Stuttgart","twitter:description":"Abstract Verteilte Microservice-Architekturen erm\u00f6glichen hohe Skalierbarkeit, erschweren jedoch Betrieb und Fehlersuche, da klassisches Monitoring den Zusammenhang zwischen den vielen Services in Ultra-Large-Scale-Systemen nur unzureichend abbildet. Diese Arbeit konzipiert ein integriertes Monitoring-, Tracing- und Observability-Framework am Beispiel eines Uber-\u00e4hnlichen, verteilten Ride-Sharing-Systems. Dabei werden SLO-basiertes Alerting, Distributed-Tracing-Konzepte mit angepasster Sampling-Strategie sowie eine auf OpenTelemetry gest\u00fctzte, herstellerunabh\u00e4ngige Gesamtarchitektur","twitter:image":"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/07\/image.png"},"aioseo_meta_data":{"post_id":"29057","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-07-30 22:15:38","updated":"2026-07-31 20:32:11","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.mi.hdm-stuttgart.de\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/\" title=\"Allgemein\">Allgemein<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tVon Metriken zu Unknown Unknowns: Observability im Uber-Klon\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/blog.mi.hdm-stuttgart.de"},{"label":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},{"label":"Von Metriken zu Unknown Unknowns: Observability im Uber-Klon","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/07\/31\/von-metriken-zu-unknown-unknowns-observability-im-uber-klon\/"}],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28501,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/02\/20\/integration-von-ki-in-devops-ein-uberblick-uber-aiops-prinzipien-und-praktiken\/","url_meta":{"origin":29057,"position":0},"title":"Integration von KI in DevOps: Ein \u00dcberblick \u00fcber AIOps-Prinzipien und -Praktiken","author":"Leonard Lais\u00e9","date":"20. February 2026","format":false,"excerpt":"Abstract \u2014 Die zunehmende Komplexit\u00e4t cloud-nativer Architekturen und die exponentielle Zunahme von Telemetriedaten \u00fcbersteigen die Kapazit\u00e4t manueller Betriebsprozesse und erfordern eine intelligente Automatisierung des IT-Betriebs. Die vorliegende Arbeit bietet einen umfassenden \u00dcberblick \u00fcber AIOps (Artificial Intelligence for IT Operations) und analysiert systematisch den aktuellen Forschungsstand entlang des Incident-Lifecycles. Ausgehend von\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26698,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2025\/01\/30\/cloud-basiertes-performance-monitoring-fur-rich-media-systeme\/","url_meta":{"origin":29057,"position":1},"title":"Cloudbasiertes Performance-Monitoring f\u00fcr Rich-Media-Systeme","author":"Simon Wimmer","date":"30. January 2025","format":false,"excerpt":"Problemstellung In einer zunehmend digitalisierten Welt haben sich Rich-Media-Systeme zu einem integralen Bestandteil unseres Alltags entwickelt. Diese Systeme umfassen komplexe Informations- und Kommunikationsumgebungen, die verschiedene Medienformen und interaktive Komponenten vereinen, um eine hohe Informationstiefe und Interaktionsdichte zu erreichen. Beispiele hierf\u00fcr sind Video-Streaming-Dienste, Augmented Reality (AR) Anwendungen und interaktive Webinhalte. Die\u2026","rel":"","context":"In &quot;Rich Media Systems&quot;","block_context":{"text":"Rich Media Systems","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/interactive-media\/rich-media-systems\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/01\/dashboard-150x150.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/01\/dashboard-150x150.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/01\/dashboard-150x150.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/01\/dashboard-150x150.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/01\/dashboard-150x150.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/01\/dashboard-150x150.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":5120,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2019\/02\/09\/observability-where-do-we-go-from-here\/","url_meta":{"origin":29057,"position":2},"title":"Observability?! \u2013 Where do we go from here?","author":"Alexander Wallrabenstein","date":"9. February 2019","format":false,"excerpt":"The last two years in software development and operations have been characterized by the emerging idea of \u201cobservability\u201d. The need for a novel concept guiding the efforts to control our systems arose from the accelerating paradigm changes driven by the need to scale and cloud native technologies. In contrast, the\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"MEME: I always, always test my code. The I test it again in production.","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2019\/02\/meme-1.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2019\/02\/meme-1.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2019\/02\/meme-1.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":3767,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2018\/07\/30\/end-user-monitoring-establish-a-basis-to-understand-operate-and-improve-software-systems\/","url_meta":{"origin":29057,"position":3},"title":"End user monitoring \u2013 Establish a basis to understand, operate and improve software systems","author":"Alexander Wallrabenstein","date":"30. July 2018","format":false,"excerpt":"End user monitoring is crucial for operating and managing software systems safely and effectively. Beyond operations, monitoring constitutes a basic requirement to improve services based on facts instead of instincts. Thus, monitoring plays an important role in the lifecycle of every application. But implementing an effective monitoring solution is challenging\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"Typical monitoring stack","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2018\/07\/fig_03_typicalMonitoringStack.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2018\/07\/fig_03_typicalMonitoringStack.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2018\/07\/fig_03_typicalMonitoringStack.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2018\/07\/fig_03_typicalMonitoringStack.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":22034,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2022\/02\/07\/entwicklung-und-benchmarking-einer-eigenen-elevation-api\/","url_meta":{"origin":29057,"position":4},"title":"Entwicklung und Benchmarking einer eigenen Elevation API","author":"Eric Prytulla","date":"7. February 2022","format":false,"excerpt":"Worum geht's? Im Rahmen der Veranstaltung \"System Engineering and Management\" sollte ein Softwareprojekt unserer Wahl und mit besonderem Augenmerk auf Systemarchitektur durchgef\u00fchrt, analysiert und dokumentiert werden. F\u00fcr unser Projekt haben wir uns entschieden, einen besonderen Schwerpunkt auf Monitoring zu legen. Das Projekt bestand also aus drei gr\u00f6\u00dferen Teilprojekten: dem Backend\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/02\/NET_Core_Logo.svg_-2-150x150.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":22982,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2022\/03\/13\/logging-im-grosen-masstab-mit-grafana-loki\/","url_meta":{"origin":29057,"position":5},"title":"Logging im gro\u00dfen Ma\u00dfstab mit Grafana Loki","author":"Sarah Schwab","date":"13. March 2022","format":false,"excerpt":"Heutzutage erzeugen die meisten Systeme und Anwendungen Logging-Daten die f\u00fcr Sicherheits- und \u00dcberwachungszwecke n\u00fctzlich sind, z. B. f\u00fcr die Fehlersuche bei Programmierfehlern, die \u00dcberpr\u00fcfung des Systemstatus und die Erkennung von Konfigurationsproblemen oder sogar Angriffen. Treten Ereignisse innerhalb einer Anwendung auf, werden diese von integrierten Protokollierungsfunktionen erfasst und mit zus\u00e4tzlichen Metadaten\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/03\/ELKSplunkLoki.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/03\/ELKSplunkLoki.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/03\/ELKSplunkLoki.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"jetpack_sharing_enabled":true,"authors":[{"term_id":1202,"user_id":1317,"is_guest":0,"slug":"tom_flocken","display_name":"Tom Flocken","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/228025319015e324c526241dc0c997160d0f0e665080818b5866b56690a29fa5?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Flocken","first_name":"Tom","job_title":"","description":""},{"term_id":1162,"user_id":1286,"is_guest":0,"slug":"frederik_runge","display_name":"Frederik Runge","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/8445acc3a58fcea41a24a81c32ca10b451308cb148d4217b427c31144ae45b3d?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Runge","first_name":"Frederik","job_title":"","description":""},{"term_id":1139,"user_id":1285,"is_guest":0,"slug":"julia_bai","display_name":"Julia Bai","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/5218df31f9c022a0f96f1ac6e8ca72bed4fe1cc911aaedc9327c9cd0d9ee8c4b?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Bai","first_name":"Julia","job_title":"","description":""}],"_links":{"self":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/29057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/users\/1317"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/comments?post=29057"}],"version-history":[{"count":4,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/29057\/revisions"}],"predecessor-version":[{"id":29068,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/29057\/revisions\/29068"}],"wp:attachment":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/media?parent=29057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/categories?post=29057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/tags?post=29057"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/ppma_author?post=29057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}