Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Von Application Signals gesammelte Metriken
Application Signals erfasst sowohl Standardanwendungsmetriken als auch Laufzeitmetriken von den Anwendungen, für die Sie es aktivieren.
Standardanwendungsmetriken beziehen sich auf die wichtigsten Aspekte der Serviceleistung, Latenz und Verfügbarkeit.
Runtime-Metriken verfolgen Anwendungsmetriken im Zeitverlauf, einschließlich Speicherauslastung, CPU-Auslastung und Garbage-Collection. Application Signals zeigt die Laufzeitmetriken im Kontext der Dienste an, die Sie für Application Signals aktiviert haben. Wenn Sie ein Betriebsproblem haben, kann es hilfreich sein, die Laufzeitmetriken zu beobachten, um die Ursache des Problems zu finden. Sie können beispielsweise feststellen, ob Latenzspitzen in Ihrem Service mit Spitzen in einer Laufzeitmetrik zusammenhängen.
Themen
Erfasste Standard-Anwendungsmetriken
Application Signals erfasst Standard-Anwendungsmetriken von den Services, die es entdeckt. Diese Metriken beziehen sich auf die wichtigsten Aspekte der Leistung eines Services: Latenz, Störungen und Fehler. Diese können Ihnen helfen, Probleme zu identifizieren, Leistungstrends zu überwachen und Ressourcen zu optimieren, um das allgemeine Benutzererlebnis zu verbessern.
Die folgende Tabelle listet die Metriken auf, die von Application Signals erfasst werden. Diese Metriken werden CloudWatch im ApplicationSignals
Namespace gesendet.
Metrik | Beschreibung |
---|---|
|
Die Verzögerung vor der Datenübertragung beginnt, nachdem die Anfrage gestellt wurde. Einheiten: Millisekunden |
|
Eine Anzahl von serverseitigen HTTP 5XX-Fehlern und OpenTelemetry Span-Status-Fehlern. Einheiten: keine |
|
Eine Anzahl von clientseitigen HTTP-4XX-Fehlern. Dabei handelt es sich um Anforderungsfehler, die nicht durch Serviceprobleme verursacht werden. Daher betrachtet die auf den Dashboards von Application Signals angezeigte Einheiten: keine |
Die auf den Dashboards von Application Signals angezeigte Availability
Metrik wird als (1 — Faults
/Gesamt) *100 berechnet. Die Gesamtzahl der Antworten umfasst alle Antworten und wird von abgeleitet. SampleCount(Latency)
Erfolgreiche Antworten sind alle Antworten ohne einem 5XX
-Fehler. 4XX
-Antworten werden als erfolgreich behandelt, wenn Application Signals Availability
berechnet.
Erfasste Dimensionen und Dimensionskombinationen
Die folgenden Dimensionen sind für jede der Standard-Anwendungsmetriken definiert. Weitere Informationen zu Dimensionen finden Sie unter Dimensionen.
Für Service-Metriken und Abhängigkeitsmetriken werden unterschiedliche Dimensionen erfasst. Wenn innerhalb der von Application Signals erkannten Services Microservice A Microservice B aufruft, wird die Anforderung an Microservice B bereitgestellt. In diesem Fall gibt Microservice A Abhängigkeitsmetriken und Microservice B Service-Metriken aus. Wenn ein Client Microservice A aufruft, stellt Microservice A die Anforderung und gibt Service-Metriken aus.
Dimensionen für Service-Metriken
Die folgenden Dimensionen werden für Service-Metriken erfasst.
Dimension | Beschreibung |
---|---|
|
Der Name des -Dienstes. Der maximale Wert beträgt 255 Zeichen. |
|
Der Name des API-Vorgangs oder einer anderen Aktivität. Der Höchstwert beträgt 1024 Zeichen. Derzeit können Sie Service-Level-Ziele für Operationen nur festlegen, wenn der Name des Vorgangs 194 Zeichen oder weniger umfasst. |
|
Der Name der Umgebung, in der Dienste ausgeführt werden. Wenn Dienste nicht auf Amazon EKS ausgeführt werden, können Sie Der Höchstwert beträgt 259 Zeichen. |
Wenn Sie diese Metriken in der CloudWatch Konsole anzeigen, können Sie sie mit den folgenden Dimensionskombinationen anzeigen:
-
[Environment, Service, Operation, [Latency, Error, Fault]]
-
[Environment, Service, [Latency, Error, Fault]]
Dimensionen für Abhängigkeitsmetriken
Die folgenden Dimensionen werden für Abhängigkeitsmetriken erfasst:
Dimension | Beschreibung |
---|---|
|
Der Name des -Dienstes. Der maximale Wert beträgt 255 Zeichen. |
|
Der Name des API-Vorgangs oder eines anderen Vorgangs. Der Höchstwert beträgt 1024 Zeichen. |
|
Der Name des aufgerufenen Remotedienstes. Der maximale Wert beträgt 255 Zeichen. |
|
Der Name des API-Vorgangs, der aufgerufen wird. Der Höchstwert beträgt 1024 Zeichen. |
|
Der Name der Umgebung, in der Dienste ausgeführt werden. Wenn Dienste nicht auf Amazon EKS ausgeführt werden, können Sie Der Höchstwert beträgt 259 Zeichen. |
|
Der Name der Umgebung, in der Abhängigkeitsdienste ausgeführt werden. Der Der Höchstwert beträgt 259 Zeichen. |
|
Der Name der Ressource, die durch einen Fernaufruf aufgerufen wurde. Der Der Höchstwert beträgt 1024 Zeichen. |
|
Der Typ der Ressource, die durch einen Fernaufruf aufgerufen wird. Nur erforderlich, wenn Der Höchstwert beträgt 1024 Zeichen. |
Wenn Sie diese Metriken in der CloudWatch Konsole anzeigen, können Sie sie mit den folgenden Dimensionskombinationen anzeigen:
Wird auf Amazon-EKS-Clustern ausgeführt
-
[Environment, Service, Operation, RemoteService, RemoteOperation, RemoteEnvironment, RemoteResourceIdentifier, RemoteResourceType, [Latency, Error, Fault]]
-
[Environment, Service, Operation, RemoteService, RemoteOperation, RemoteEnvironment, [Latency, Error, Fault]]
-
[Environment, Service, Operation, RemoteService, RemoteOperation, RemoteResourceIdentifier, RemoteResourceType, [Latency, Error, Fault]]
-
[Environment, Service, Operation, RemoteService, RemoteOperation, [Latency, Error, Fault]]
-
[Environment, Service, RemoteService, RemoteEnvironment, [Latency, Error, Fault]]
-
[Environment, Service, RemoteService, [Latency, Error, Fault]]
-
[Environment, Service, RemoteService, RemoteOperation, RemoteEnvironment, RemoteResourceIdentifier, RemoteResourceType, [Latency, Error, Fault]]
-
[Environment, Service, RemoteService, RemoteOperation, RemoteEnvironment, [Latency, Error, Fault]]
-
[Environment, Service, RemoteService, RemoteOperation, RemoteResourceIdentifier, RemoteResourceType, [Latency, Error, Fault]]
-
[Environment, Service, RemoteService, RemoteOperation, [Latency, Error, Fault]]
-
[RemoteService [Latency, Error, Fault]]
-
[RemoteService, RemoteResourceIdentifier, RemoteResourceType [Latency, Error, Fault]]
Laufzeitmetriken
Application Signals verwendet das AWS Distro for OpenTelemetry SDK, um automatisch OpenTelemetry kompatible Metriken aus Ihren Java- und Python-Anwendungen zu sammeln. Damit Runtime-Metriken erfasst werden können, müssen Sie die folgenden Voraussetzungen erfüllen:
Ihr CloudWatch Agent muss eine Version
1.300049.1
oder eine neuere Version haben.Wenn Sie das Amazon CloudWatch Observability EKS-Add-on verwenden, muss es sich um eine Version
2.30-eksbuild.1
oder eine neuere Version handeln. Wenn Sie das Add-on aktualisieren, müssen Sie Ihre Anwendungen neu starten.Für Java-Anwendungen müssen Sie das AWS Distro for OpenTelemetry SDK for Java
1.32.5
oder eine neuere Version ausführen.Für Python-Anwendungen müssen Sie das AWS Distro for OpenTelemetry SDK für Python
0.7.0
oder eine neuere Version ausführen.Für .NET-Anwendungen müssen Sie das AWS Distro for OpenTelemetry SDK for .Net
1.6.0
oder eine neuere Version ausführen.
Runtime-Metriken werden für Node.js -Anwendungen nicht erfasst.
Laufzeitmetriken werden als Teil der Kosten für Application Signals berechnet. Weitere Informationen zur CloudWatch Preisgestaltung finden Sie unter CloudWatch Amazon-Preise
Anmerkung
Bekannte Probleme
Es ist bekannt, dass die Erfassung von Laufzeit-Metriken in der Java-SDK-Version v1.32.5 nicht mit Anwendungen funktioniert, die Wildfly verwenden JBoss . Dieses Problem erstreckt sich auf das Amazon CloudWatch Observability EKS-Add-on und betrifft Versionen 2.3.0-eksbuild.1
bis2.6.0-eksbuild.1
. Das Problem wurde in der Java SDK-Version v1.32.6
und der Amazon CloudWatch Observability EKS-Add-On-Version v3.0.0-eksbuild.1
behoben.
Wenn Sie betroffen sind, aktualisieren Sie entweder die Java SDK-Version oder deaktivieren Sie die Erfassung Ihrer Laufzeitmetriken, indem Sie Ihrer Anwendung die Umgebungsvariable OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false
hinzufügen.
Java-Laufzeit-Metriken
Application Signals erfasst die folgenden JVM-Metriken von Java-Anwendungen, die Sie für Application Signals aktivieren. Alle Laufzeitmetriken werden CloudWatch an den ApplicationSignals
Namespace gesendet und mit dem Environment
Dimensionssatz Service
und erfasst.
Metrikname | Beschreibung | Aussagekräftige Statistiken |
---|---|---|
|
Aggregierte Metrik für die Dauer von JVM-Garbage-Collection-Aktionen. Einheit: Millisekunden |
Summe, Durchschnitt, Minimum, Maximum |
|
Aggregierte Metrik für die Dauer von JVM-Garbage-Collection-Aktionen der alten Generation. Nur in G1 verfügbar. Einheit: Millisekunden |
Summe, Durchschnitt, Minimum, Maximum |
|
Aggregierte Metrik für die Dauer der JVM-Garbage-Collection-Aktionen der jungen Generation. Nur in G1 verfügbar. Einheit: Millisekunden |
Summe, Durchschnitt, Minimum, Maximum |
|
Aggregierte Metrik für die Anzahl der JVM-Garbage-Collection-Aktionen. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Aggregierte Metrik für die Anzahl der JVM-Garbage-Collection-Aktionen der alten Generation. Nur in G1 verfügbar. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Aggregierte Metrik für die Anzahl der JVM-Garbage-Collection-Aktionen der jungen Generation. Nur in G1 verfügbar. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die Menge des verwendeten Speicher-Heaps. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Menge des verwendeten Speichers, gemessen nach dem letzten Garbage-Collection-Ereignis in diesem Pool. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Menge an Speicher, die von der alten Generation verwendet wurde. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Menge an Speicher-Heap, die vom Survivor Space verwendet wird. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Menge an Speicher, die vom Eden Space verwendet wird. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Menge des verwendeten Non-Heap-Speichers. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Anzahl der ausgeführten Threads, einschließlich Daemon- und Nicht-Daemon-Threads. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die Anzahl der geladenen Klassen. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die vom Prozess verwendete CPU-Zeit, wie von der JVM gemeldet. Einheit: Keine (Nanosekunden) |
Summe, Durchschnitt, Minimum, Maximum |
|
Die zuletzt vom Prozess verwendete CPU, wie von der JVM gemeldet. Einheit: keine |
Durchschnitt, Minimum, Maximum |
Python-Laufzeitmetriken
Application Signals sammelt die folgenden Metriken aus Python-Anwendungen, die Sie für Application Signals aktivieren. Alle Laufzeitmetriken werden CloudWatch an den ApplicationSignals
Namespace gesendet und mit dem Environment
Dimensionssatz Service
und erfasst.
Metrikname | Beschreibung | Aussagekräftige Statistiken |
---|---|---|
|
Die Gesamtzahl der Objekte, die derzeit verfolgt werden. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die Anzahl der Objekte, die derzeit in Generation 0 verfolgt werden. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die Anzahl der Objekte, die derzeit in Generation 1 verfolgt werden. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die Anzahl der Objekte, die derzeit in Generation 2 verfolgt werden. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die Gesamtmenge an virtuellem Speicher, die von dem Prozess verwendet wird. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Gesamtmenge des nicht ausgelagerten physischen Speichers, der vom Prozess verwendet wird. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Anzahl der Threads, die derzeit vom Prozess verwendet werden. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die vom Prozess verwendete CPU-Zeit. Einheit: Sekunden |
Summe, Durchschnitt, Minimum, Maximum |
|
Die CPU-Auslastung des Prozesses. Einheit: keine |
Durchschnitt, Minimum, Maximum |
.Net-Laufzeitmetriken
Application Signals sammelt die folgenden Metriken von .NET-Anwendungen, die Sie für Application Signals aktivieren. Alle Laufzeitmetriken werden CloudWatch an den ApplicationSignals
Namespace gesendet und mit dem Environment
Dimensionssatz Service
und erfasst.
Metrikname | Beschreibung | Aussagekräftige Statistiken |
---|---|---|
|
Die Gesamtzahl der Garbage-Collection-Metriken, die in Generation 0 seit dem Start des Prozesses erfasst wurden. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die Gesamtzahl der Messwerte zur Garbage-Collection, die in Generation 1 seit Beginn des Prozesses erfasst wurden. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die Gesamtzahl der Messwerte zur Garbage-Collection, die in Generation 2 seit Beginn des Prozesses erfasst wurden. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die gesamte Zeit, die seit dem Start des Prozesses bei der Speicherbereinigung angehalten wurde. Einheit: keine |
Summe, Durchschnitt, Minimum, Maximum |
|
Die Heap-Größe (einschließlich Fragmentierung) der Generation 0, die bei der letzten Garbage-Collection beobachtet wurde. AnmerkungDiese Metrik ist erst verfügbar, nachdem die erste Garbage-Collection abgeschlossen ist. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Heap-Größe (einschließlich Fragmentierung) der Generation 1, die bei der letzten Garbage-Collection beobachtet wurde. AnmerkungDiese Metrik ist erst verfügbar, nachdem die erste Garbage-Collection abgeschlossen ist. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Heap-Größe (einschließlich Fragmentierung) der Generation 2, die bei der letzten Garbage-Collection beobachtet wurde. AnmerkungDiese Metrik ist erst verfügbar, nachdem die erste Garbage-Collection abgeschlossen ist. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die große Größe des Objekt-Heaps (einschließlich Fragmentierung), die bei der letzten Garbage-Collection beobachtet wurde. AnmerkungDiese Metrik ist erst verfügbar, nachdem die erste Garbage-Collection abgeschlossen ist. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Größe des fixierten Objekt-Heaps (einschließlich Fragmentierung), die bei der letzten Garbage-Collection beobachtet wurde. AnmerkungDiese Metrik ist erst verfügbar, nachdem die erste Garbage-Collection abgeschlossen ist. Einheit: Byte |
Durchschnitt, Minimum, Maximum |
|
Die Anzahl der Threadpool-Threads, die derzeit existieren. Einheit: keine |
Durchschnitt, Minimum, Maximum |
|
Die Anzahl der Arbeitselemente, die sich derzeit in der Warteschlange befinden, um vom Thread-Pool verarbeitet zu werden. Einheit: keine |
Durchschnitt, Minimum, Maximum |
Deaktivierung der Erfassung von Laufzeitmetriken
Laufzeitmetriken werden standardmäßig für Java- und Python-Anwendungen erfasst, die für Application Signals aktiviert sind. Wenn Sie die Erfassung dieser Metriken deaktivieren möchten, folgen Sie den Anweisungen in diesem Abschnitt für Ihre Umgebung.
Amazon EKS
Um Laufzeitmetriken in Amazon EKS-Anwendungen auf Anwendungsebene zu deaktivieren, fügen Sie Ihrer Workload-Spezifikation die folgende Umgebungsvariable hinzu.
env: - name: OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED value: "false"
Um Laufzeitmetriken in Amazon EKS-Anwendungen auf Cluster-Ebene zu deaktivieren, wenden Sie die Konfiguration auf die erweiterte Konfiguration Ihres Amazon CloudWatch Observability EKS-Add-ons an.
{ "agent": { "config": { "traces": { "traces_collected": { "application_signals": { } } }, "logs": { "metrics_collected": { "application_signals": { } } } }, "manager": { "autoInstrumentationConfiguration": { "java": { "runtime_metrics": { "enabled": false } }, "python": { "runtime_metrics": { "enabled": false } }, "dotnet": { "runtime_metrics": { "enabled": false } } } } } }
Amazon ECS
Um Laufzeitmetriken in Amazon ECS-Anwendungen zu deaktivieren, fügen Sie die Umgebungsvariable OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false
in der neuen Version der Aufgabendefinition hinzu und stellen Sie die Anwendung erneut bereit.
EC2
Um Laufzeitmetriken in EC2 Amazon-Anwendungen zu deaktivieren, fügen Sie die Umgebungsvariable hinzu, OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false
bevor die Anwendung gestartet wird.
Kubernetes
Um Laufzeitmetriken in Kubernetes-Anwendungen auf Anwendungsebene zu deaktivieren, fügen Sie Ihrer Workload-Spezifikation die folgende Umgebungsvariable hinzu.
env: - name: OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED value: "false"
Verwenden Sie Folgendes, um Laufzeitmetriken in Kubernetes-Anwendungen auf Clusterebene zu deaktivieren:
helm upgrade ... \ --set-string manager.autoInstrumentationConfiguration.java.runtime_metrics.enabled=false \ --set-string manager.autoInstrumentationConfiguration.python.runtime_metrics.enabled=false \ -\-set-string manager.autoInstrumentationConfiguration.dotnet.runtime_metrics.enabled=false