Dynamic Sampling for Telemetry in Microservices: A Reinforcement Learning and Entropy-Based Approach
Dieses Paper stellt RADAR vor, einen auf Reinforcement Learning und Entropie basierenden Agenten, der die Telemetrie-Abtastung von Microservices dynamisch optimiert, um den Ressourcenverbrauch drastisch zu reduzieren und gleichzeitig die kritische Beobachtbarkeit sowie die Datenqualität zu bewahren.
Originalarbeit lizenziert unter CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Moderne Software existiert oft nicht als ein einzelnes, massives Programm, sondern als ein Schwarm kleiner, unabhängiger Dienste, die über ein Netzwerk miteinander kommunizieren. Dieser als Microservices bekannte Ansatz ermöglicht es Unternehmen, Teile ihrer Anwendungen schnell zu aktualisieren und sie je nach Bedarf hoch- oder herunterskalieren zu können. Diese Flexibilität bringt jedoch einen versteckten Preis mit sich: Es wird unglaublich schwierig zu erkennen, was im Inneren des Systems geschieht, wenn etwas schiefgeht. Um dies zu lösen, setzen Ingenieure eine Technik namens Distributed Tracing ein. Stellen Sie sich vor, ein Kunde platziert eine Bestellung auf einer Website; dieser einzelne Request könnte durch ein Dutzend verschiedener Dienste springen, den Lagerbestand prüfen, Steuern berechnen und Zahlungen abwickeln. Distributed Tracing folgt diesem Request von Anfang bis Ende und erstellt eine detaillierte Karte seiner Reise. Diese Karte ist essenziell, um Bugs zu finden und Performance-Probleme zu verstehen, aber sie erzeugt eine gewaltige Menge an Daten. Wenn ein System Millionen von Requests verarbeitet, würde das Sammeln jedes einzelnen Traces das Netzwerk überlasten, enorme Mengen an Rechenleistung verbrauchen und die Speicherlaufwerke in einem unhaltbaren Tempo füllen.
Die Herausforderung besteht also darin, genügend Daten zu sammeln, um Probleme zu erkennen, ohne in dem Lärm routinemäßiger, erfolgreicher Operationen zu ertrinken. Traditionelle Methoden verlassen sich oft auf einfache Regeln, wie zum Beispiel nur einen von hundert Requests aufzuzeichnen oder erst dann mit der Aufzeichnung zu beginnen, wenn ein Fehler auftritt. Diese Ansätze sind oft zu starr; sie könnten seltene, aber kritische Ausfälle übersehen oder Ressourcen verschwenden, indem sie alltäglichen Datenverkehr aufzeichnen, der keine neuen Erkenntnisse liefert. Forscher der Federal University of Rio Grande do Sul in Brasilien haben einen neuen Weg entwickelt, um dieses Dilemma zu bewältigen. Sie haben ein System namens RADAR entwickelt, das wie ein intelligenter, selbstregulierender Filter für diese Daten wirkt. Anstatt feste Regeln zu verwenden, lernt RADAR, welche Traces es wert sind, behalten zu werden, indem es ständig verschiedene Kombinationen von Sampling-Regeln testet und die Ergebnisse beobachtet.
Der Kernaspekt hinter RADAR besteht darin, die Datenerfassung als einen Lernprozess zu behandeln. Das System nutzt eine Methode namens Reinforcement Learning (bestärkendes Lernen), bei der ein Computer-Agent Entscheidungen trifft, die Folgen sieht und seine Strategie anpasst, um im Laufe der Zeit bessere Ergebnisse zu erzielen. In diesem Fall ist das Ziel des Agenten, den „Informationswert“ der behaltenen Daten zu maximieren und gleichzeitig die Menge der gespeicherten Daten zu minimieren. Um den Informationswert zu messen, verwendeten die Forscher ein Konzept aus der Informationstheorie namens Entropie. Vereinfacht ausgedrückt misst Entropie, wie vielfältig oder unvorhersehbar ein Datensatz ist. Eine Sammlung von Traces, die alle identisch sind, hat eine niedrige Entropie und einen niedrigen Wert, da sie Ihnen nichts Neues mitteilen. Eine Sammlung, die viele verschiedene, seltene und ungewöhnliche Pfade enthält, hat eine hohe Entropie und einen hohen Wert, da sie die komplexen Verhaltensweisen und potenziellen Fehler des Systems offenbart. RADAR nutzt dieses Maß der Diversität als Belohnungssignal. Wenn der Agent einen Satz von Regeln auswählt, der eine große Vielfalt an einzigartigen Verhaltensweisen erfasst, ohne zu viele Daten zu sammeln, erhält er eine hohe Belohnung und lernt, diese Wahl zu wiederholen.
Um diese Idee zu testen, bauten die Forscher einen simulierten Online-Shop, der auf einem Cluster von Computern läuft und so die komplexe Umgebung einer realen Anwendung nachahmt. Sie führten verschiedene Arten von Traffic ein, einschließlich normalen Browsing-Verhaltens und spezifischer Szenarien, die darauf ausgelegt waren, Fehler oder ungewöhnliches Verhalten auszulösen. Dann ließen sie den RADAR-Agenten mehrere Stunden lang laufen, damit er mit verschiedenen Regeln experimentieren konnte. Einige Regeln konzentrierten sich auf das Erfassen langsamer Requests, andere auf Fehler und wieder andere auf spezifische geschäftliche Ereignisse wie hochpreisige Einkäufe. Der Agent wechselte zwischen diesen Regeln und beobachtete, wie viele Traces gesammelt wurden und wie vielfältig sie waren. Im Laufe der Zeit lernte der Agent, das perfekte Gleichgewicht zu finden. Er entdeckte, dass er nicht jeden einzelnen Request aufzeichnen musste, um das System zu verstehen. Indem er sich stattdessen auf die vielfältigsten und informativsten Pfade konzentrierte, konnte er ein klares Bild der Gesundheit des Systems aufrechterhalten und gleichzeitig das Datenvolumen drastisch reduzend.
Die Ergebnisse dieses Experiments waren beeindruckend. Im Vergleich zu einem System, das jeden einzelnen Trace aufzeichnete, reduzierte RADAR die Menge der über das Netzwerk gesendeten Daten um 97,4 Prozent. Es reduzierte auch die zur Verarbeitung dieser Daten benötigte Rechenleistung um 99,0 Prozent. Diese Einsparungen sind signifikant, da sie bedeuten, dass das System viel günstiger und schneller laufen kann. Dennoch waren die Forscher sorgfältig darauf bedacht, sicherzustellen, dass diese Effizienz nicht auf Kosten wichtiger Informationen geht. Sie verglichen die von RADAR gesammelten Daten mit dem vollständigen Datensatz, um zu sehen, ob sie die seltenen und kritischen Ereignisse erfasst hatten. Sie fanden heraus, dass RADAR etwa 85,6 Prozent der seltenen Trace-Muster beibehielt – jene einzigartigen, einmaligen Ereignisse, die oft den Beginn eines schwerwiegenden Problems signalisieren. Darüber hinaus stieg die durchschnittliche Diversität der behaltenen Daten um etwa 25 Prozent, was bedeutet, dass die verbleibenden Daten für die Diagnose wesentlich nützlicher waren als ein Zufallsstichprobenverfahren.
Dieser Ansatz stellt einen Wandel von statischen, menschendefinierten Regeln hin zu einem dynamischen, autonomen Management dar. Traditionelle Systeme erfordern, dass Ingenieure manuell entscheiden, welche Regeln anzuwenden sind – eine Aufgabe, die schwierig wird, wenn sich das System verändert und wächst. RADAR hingegen passt sich kontinuierlich an den aktuellen Zustand des Systems an. Es muss nicht im Voraus gesagt bekommen, wie ein Fehler aussieht; es lernt einfach zu erkennen, dass ein vielfältiger Satz von Verhaltensweisen wertvoller ist als ein repetitiver. Das System arbeitet vollständig innerhalb der Standardwerkzeuge, die moderne Softwareentwickler nutzen, wodurch es mit der bestehenden Infrastruktur kompatibel ist, ohne dass invasive Änderungen am Anwendungscode erforderlich sind.
Die Studie zeigt, dass es möglich ist, die Belastung durch die Überwachung komplexer Systeme drastisch zu reduzieren, ohne die Fähigkeit einzubüßen, zu erkennen, was schiefläuft. Durch die Verwendung eines mathematischen Maßes der Diversität zur Steuerung des Erfassungsprozesses zeigten die Forscher, dass ein intelligenter Agent lernen kann, das Rauschen herauszufiltern und das Signal zu behalten. Obwohl das Experiment in einer kontrollierten Umgebung durchgeführt wurde, legen die Ergebnisse einen gangbaren Weg für die Verwaltung der wachsenden Komplexität von Cloud-basierten Anwendungen nahe. Die Arbeit verdeutlicht, dass die Zukunft der Systemüberwachung möglicherweise nicht darin liegt, mehr Daten zu sammeln, sondern klügere Daten zu sammeln, geleitet von Agenten, die den Wert von Informationen in Echtzeit verstehen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.