OPS04-BP01 Implementieren einer Anwendungstelemetrie
Anwendungs-Telemetrie ist die Grundlage für Beobachtbarkeit Ihres Workloads. Ihre Anwendung sollte Telemetriedaten ausgeben, die Aufschluss über den Zustand der Anwendung und das Erreichen von Geschäftsergebnissen geben. Von der Fehlerbehebung bis hin zur Messung der Auswirkungen einer neuen Funktion liefert die Anwendungstelemetrie Informationen darüber, wie Sie Ihren Workload aufbauen, betreiben und weiterentwickeln.
Anwendungstelemetrie besteht aus Metriken und Protokollen. Bei Metriken handelt es sich um Diagnosedaten, wie Ihr Puls oder Ihre Körpertemperatur. Metriken werden gemeinsam verwendet, um den Zustand Ihrer Anwendung zu beschreiben. Das Sammeln von Metriken im Zeitverlauf kann dazu verwendet werden, Grundlinien zu entwickeln und Anomalien zu erkennen. Protokolle sind Meldungen, die die Anwendung ihren internen Zustand oder auftretende Ereignisse betreffend sendet. Fehlercodes, Transaktionskennungen und Benutzeraktionen sind Beispiele für protokollierte Ereignisse.
Gewünschtes Ergebnis:
-
Ihre Anwendung gibt Metriken und Protokolle an, die Aufschluss über ihren Zustand und das Erreichen von Geschäftsergebnissen geben.
-
Metriken und Protokolle werden zentral für alle Anwendungen im Workload gespeichert.
Typische Anti-Muster:
-
Ihre Anwendung sendet keine Telemetriedaten. Sie müssen sich darauf verlassen, dass Ihre Kunden Ihnen mitteilen, wenn etwas nicht stimmt.
-
Ein Kunde hat gemeldet, dass Ihre Anwendung nicht reagiert. Sie verfügen über keine Telemetrie und können nicht bestätigen, dass das Problem existiert, und es auch nicht einschätzen, ohne die Anwendung selbst zu verwenden, um die aktuelle Benutzererfahrung zu verstehen.
Vorteile der Nutzung dieser bewährten Methode:
-
Sie können den Zustand Ihrer Anwendung, die Benutzererfahrung und das Erreichen von Geschäftsergebnissen nachvollziehen.
-
Auf Änderungen am Zustand Ihrer Anwendung können Sie schnell reagieren.
-
Sie können Zustandstrends für Anwendungen entwickeln.
-
Sie können fundierte Entscheidungen hinsichtlich der Verbesserung Ihrer Anwendung treffen.
-
Anwendungsprobleme lassen sich schneller erkennen und beheben.
Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: hoch
Implementierungsleitfaden
Die Implementierung von Anwendungstelemetrie besteht aus drei Schritten: Identifizierung eines Speicherorts für Telemetrie, Identifizierung von Telemetrie, die den Zustand der Anwendung beschreibt, und Instrumentierung der Anwendung, um Telemetrie auszugeben.
Kundenbeispiel
AnyCompany Retail hat eine auf Microservices basierende Architektur. Im Rahmen des Architekturentwurfs wurde eine Anwendungstelemetrie identifiziert, mit deren Hilfe es den Zustand der einzelnen Microservices nachvollziehen kann. Der Warenkorb-Service hat beispielsweise Telemetriedaten zu Ereignissen wie Hinzufügen zum Warenkorb, Verlassen des Warenkorbs und Dauer des Hinzufügens eines Artikels zum Warenkorb ausgegeben. Alle Microservices protokollieren Fehler, Warnungen und Transaktionsinformationen. Telemetrie wird zu Speicher- und Analysezwecken an Amazon CloudWatch gesendet.
Implementierungsschritte
-
Ermitteln Sie einen zentralen Speicherort für die Telemetriedaten der Anwendungen in Ihrem Workload. Der Standort sollte sowohl die Sammlung von Telemetriedaten als auch Analysefunktionen unterstützen. Die Erkennung und Unregelmäßigkeiten und automatische Einblicke sind empfohlene Funktionen.
-
Amazon CloudWatch
ermöglicht die Erfassung von Telemetriedaten, Dashboards, Analysen und Fähigkeiten zur Ereigniserzeugung.
-
-
Um herauszufinden, welche Telemetrie Sie benötigen, sollten Sie zunächst folgende Frage beantworten: Wie ist der Zustand meiner Anwendung? Ihre Anwendung sollte Protokolle und Metriken ausgeben, die gemeinsam eine Antwort auf diese Frage bieten. Wenn Sie diese Fragen mit der vorhandenen Anwendungstelemetrie nicht beantworten können, arbeiten Sie mit den Ansprechpersonen aus den Bereichen Business und Technik zusammen, um eine Liste der Anforderungen an Telemetriedaten zu erstellen.
-
Sie können Ihr AWS-Konto-Team um fachkundige technische Beratung bitten, wenn Sie neue Anwendungstelemetrie identifizieren und entwickeln.
-
-
Sobald die zusätzliche Anwendungstelemetrie identifiziert wurde, arbeiten Sie mit Ihren Ansprechpartnern aus dem technischen Bereich zusammen, um Ihre Anwendung zu instrumentieren.
-
AWS Distro for Open Telemetry
bietet APIs, Bibliotheken und Agents, die Anwendungstelemetrie erfassen. Dieses Beispiel zeigt, wie man eine JavaScript-Anwendung mit benutzerdefinierten Metriken instrumentiert . -
Wenn Sie erfahren möchten, welche Beobachtbarkeits-Services AWS anbietet, erhalten Sie nähere Informationen im Workshop zur Beobachtbarkeit
. Sie können auch Unterstützung von Ihrem AWS-Konto-Team anfordern. -
Für umfassendere Einblicke in die Anwendungstelemetrie lesen Sie den Artikel Instrumentieren verteilter Systeme für Einblicke in die Betriebsabläufe
in der Amazon Builder’s Library. Darin wird erklärt, wie Amazon Anwendungen instrumentiert. Er kann als Leitfaden für die Entwicklung eigener Instrumentierungsrichtlinien dienen.
-
Grad des Aufwands für den Implementierungsplan: hoch Die Instrumentierung Ihrer Anwendung und die Zentralisierung der Telemetriespeicherung können erhebliche Investitionen erfordern.
Ressourcen
Zugehörige bewährte Methoden:
OPS04-BP02 Implementieren und Konfigurieren der Workload-Telemetrie – Anwendungstelemetrie ist ein Bestandteil der Workload-Telemetrie. Sie müssen den Zustand der einzelnen Anwendungen, aus denen der Workload besteht, kennen, um den Zustand des gesamten Workloads zu verstehen.
OPS04-BP03 Implementieren von Telemetrie für Benutzeraktivitäten – Die Telemetrie der Benutzeraktivität ist häufig eine Teilmenge der Anwendungstelemetrie. Benutzeraktivitäten, wie z. B. das Hinzufügen zum Warenkorb, Clickstreams oder abgeschlossene Transaktionen, geben Aufschluss über das Benutzererlebnis.
OPS04-BP04 Implementieren einer Abhängigkeitstelemetrie – Abhängigkeitsprüfungen beziehen sich auf die Anwendungstelemetrie und können in Ihre Anwendung instrumentiert werden. Wenn Ihre Anwendung von externen Abhängigkeiten wie DNS oder einer Datenbank abhängig ist, kann Ihre Anwendung Metriken und Protokolle über Erreichbarkeit, Timeouts und andere Ereignisse ausgeben.
OPS04-BP05 Implementierung einer Transaktionsverfolgung – Für die Verfolgung von Transaktionen über einen Workload hinweg muss jede Anwendung Informationen darüber ausgeben, wie sie gemeinsame Ereignisse verarbeitet. Die Art und Weise, wie die einzelnen Anwendungen mit diesen Ereignissen umgehen, wird über ihre Anwendungstelemetrie übermittelt.
OPS08-BP02 Definieren von Workload-Metriken – Workload-Metriken sind die wesentlichen Zustandsindikatoren für Ihren Workload. Wesentliche Anwendungsmetriken sind Teil der Workload-Metriken.
Zugehörige Dokumente:
-
AWS Builders' Library – Verteilte Systeme instrumentieren, um betriebliche Transparenz zu erzielen
-
AWS Well-Architected Whitepaper zur betrieblichen Exzellenz – Entwerfen von Telemetrie
-
Implementieren von Protokollierung und Überwachung mit Amazon CloudWatch
-
Überwachen des Zustands und der Leistung der Anwendung mit AWS Distro for OpenTelemetry
-
Mit dem Entwickeln beginnen – Effektives Überwachen Ihrer Anwendungen
Zugehörige Videos:
-
AWS re:Invent 2021 - Observability the open-source way
(AWS re:Invent 2021 – Beobachtbarkeit nach dem Open-Source-Prinzip) -
Collect Metrics and Logs from Amazon EC2 instances with the CloudWatch Agent
(Erfassen von Metriken und Protokollen aus EC-Instances mit dem CW-Agent) -
Open Source Observability with AWS (Open-Source-Beobachtbarkeit mit AWS) – AWS Virtual Workshop
Zugehörige Beispiele:
Zugehörige Services: