OPS04-BP05 Implementieren der verteilten Nachverfolgung
Die verteilte Nachverfolgung bietet eine Möglichkeit, Anfragen zu überwachen und zu visualisieren, während sie verschiedene Komponenten eines verteilten Systems durchlaufen. Durch die Erfassung von Trace-Daten aus mehreren Quellen und deren Analyse in einer zentralen Ansicht können Teams besser verstehen, wie Anfragen ablaufen, wo Engpässe bestehen und worauf Optimierungsbemühungen abzielen sollten.
Gewünschtes Ergebnis: Sie verschaffen sich einen ganzheitlichen Überblick über die Anfragen, die durch Ihr verteiltes System fließen, und ermöglichen so präzises Debugging, optimierte Leistung und verbesserte Benutzererfahrungen.
Typische Anti-Muster:
-
Inkonsistente Instrumentierung: Nicht alle Services in einem verteilten System sind für die Nachverfolgung instrumentiert.
-
Latenz wird ignoriert: Sie konzentrieren sich nur auf Fehler und berücksichtigen nicht die Latenz oder allmähliche Leistungseinbußen.
Vorteile der Nutzung dieser bewährten Methode:
-
Umfassender Systemüberblick: Visualisierung des gesamten Anfragenverlaufs, vom Eingang bis zum Ausgang.
-
Verbessertes Debugging: Schnelle Identifizierung von Fehlern oder Leistungsproblemen.
-
Verbessertes Benutzererlebnis: Überwachung und Optimierung auf der Grundlage von tatsächlichen Benutzerdaten, um sicherzustellen, dass das System den realen Anforderungen entspricht.
Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Hoch
Implementierungsleitfaden
Identifizieren Sie zunächst alle Elemente Ihrer Workload, für die eine Instrumentierung erforderlich ist. Sobald alle Komponenten berücksichtigt sind, können Sie Tools wie AWS X-Ray und OpenTelemetry nutzen, um Trace-Daten für die Analyse mit Tools wie X-Ray und Amazon CloudWatch ServiceLens Map zu erfassen. Nehmen Sie regelmäßig an Besprechungen mit Entwicklern teil und ergänzen Sie diese Diskussionen mit Tools wie AmazonDevOps Guru, X-Ray Analytics und X-Ray Insights, um tiefere Erkenntnisse zu gewinnen. Richten Sie Warnmeldungen anhand von Trace-Daten ein, damit Sie benachrichtigt werden, wenn die im Workload-Überwachungsplan definierten Ergebnisse gefährdet sind.
Implementierungsschritte
So implementieren Sie die verteilte Nachverfolgung auf effektive Weise:
-
Verwendung von AWS X-Ray
: Integrieren Sie X-Ray in Ihre Anwendung, um Erkenntnisse zu ihrem Verhalten zu gewinnen, ihre Leistung zu verstehen und Engpässe zu lokalisieren. Nutzen Sie X-Ray Insights für die automatische Trace-Analyse. -
Instrumentierung Ihrer Services: Stellen Sie sicher, dass jeder Service – von einer AWS Lambda
-Funktion bis zu einer EC2-Instance – Trace-Daten sendet. Je mehr Services Sie instrumentieren, desto klarer wird die Gesamtansicht. -
Integration von CloudWatch Real User Monitoring und synthetischer Überwachung: Integrieren Sie Real User Monitoring (RUM) und die synthetische Überwachung mit X-Ray. Auf diese Weise können reale Benutzererfahrungen erfasst und Benutzerinteraktionen simuliert werden, um potenzielle Probleme zu identifizieren.
-
Verwendung des CloudWatch-Agenten: Der Agent kann Traces entweder von X-Ray oder von OpenTelemetry senden, wodurch die Tiefe der gewonnenen Erkenntnisse verbessert wird.
-
Verwendung von Amazon DevOps Guru
: DevOps Guru nutzt Daten aus X-Ray, CloudWatch, AWS Config und AWS CloudTrail, um umsetzbare Empfehlungen zu geben. -
Analyse von Traces: Überprüfen Sie die Trace-Daten regelmäßig, um Muster, Anomalien oder Engpässe zu erkennen, die sich auf die Leistung Ihrer Anwendung auswirken könnten.
-
Einrichtung von Warnmeldungen: Konfigurieren Sie in CloudWatch
Alarme für ungewöhnliche Muster oder längere Latenzen, sodass Probleme proaktiv behoben werden können. -
Kontinuierliche Verbesserung: Überarbeiten Sie Ihre Tracing-Strategie, wenn Services hinzugefügt oder geändert werden, um alle relevanten Datenpunkte zu erfassen.
Aufwand für den Implementierungsplan: Mittel
Ressourcen
Zugehörige bewährte Methoden:
Zugehörige Dokumente:
Zugehörige Videos:
Zugehörige Beispiele: