View a markdown version of this page

CloudWatch Anwendungssignale aktivieren - Amazon CloudWatch

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.

CloudWatch Anwendungssignale aktivieren

Verwenden Sie CloudWatch Application Signals, um Ihre Anwendungen automatisch zu AWS instrumentieren, sodass Sie die Anwendungsleistung anhand Ihrer Geschäftsziele verfolgen können. Application Signals bietet Ihnen eine einheitliche, anwendungsorientierte Ansicht Ihrer Java-Anwendungen, ihrer Abhängigkeiten und ihrer Edges. Weitere Informationen finden Sie unter Anwendungssignale.

CloudWatch Application Signals nutzt den CloudWatch Agenten, um Metriken und Traces von Ihren automatisch instrumentierten Anwendungen zu empfangen, optional Regeln anzuwenden, um die hohe Kardinalität zu reduzieren, und veröffentlicht dann die verarbeiteten Telemetriedaten an. CloudWatch Mithilfe der Agenten-Konfigurationsdatei können Sie dem CloudWatch Agenten eine benutzerdefinierte Konfiguration speziell für Application Signals bereitstellen. Zunächst einmal gibt das Vorhandensein eines application_signals Abschnitts unter dem metrics_collected Abschnitt innerhalb des logs Abschnitts der Agentenkonfigurationsdatei an, dass der CloudWatch Agent Messwerte von Ihren automatisch instrumentierten Anwendungen empfängt. Ebenso gibt das Vorhandensein eines application_signals Abschnitts unter dem traces_collected Abschnitt innerhalb des traces Abschnitts der Agentenkonfigurationsdatei an, dass der CloudWatch Agent Traces von Ihren automatisch instrumentierten Anwendungen empfangen kann. Darüber hinaus können Sie optional benutzerdefinierte Konfigurationsregeln angeben, um die Veröffentlichung von Telemetriedaten mit hoher Kardinalität zu reduzieren, wie in diesem Abschnitt beschrieben.

  • Bei Amazon EKS-Clustern ist der CloudWatch Agent bei der Installation des Amazon CloudWatch Observability EKS-Add-ons standardmäßig so aktiviert, dass er sowohl Metriken als auch Traces von Ihren automatisch instrumentierten Anwendungen empfängt. Wenn Sie optional benutzerdefinierte Konfigurationsregeln übergeben möchten, können Sie dies tun, indem Sie eine benutzerdefinierte Agentenkonfiguration an das Amazon-EKS-Add-On übergeben, wenn Sie es erstellen oder aktualisieren, indem Sie zusätzliche Konfigurationen verwenden, wie unter (Optional) Zusätzliche Konfiguration beschrieben.

  • Für RedHat for OpenShift on AWS (ROSA) gilt: Wenn Sie den CloudWatch Agenten-Operator mithilfe von Helm-Charts installieren, ist der CloudWatch Agent standardmäßig so aktiviert, dass er sowohl Metriken als auch Traces von Ihren automatisch instrumentierten Anwendungen empfängt. Wenn Sie optional benutzerdefinierte Konfigurationsregeln übergeben möchten, können Sie dazu eine benutzerdefinierte Agentenkonfiguration übergeben, indem Sie das Helm-Chart nutzen, wie unter (Optional) Zusätzliche Konfiguration beschrieben.

  • Für andere unterstützte Plattformen, einschließlich Amazon EC2, müssen Sie den CloudWatch Agenten mit einer Agentenkonfiguration starten, die Anwendungssignale aktiviert, indem Sie die application_signals Abschnitte und optional alle benutzerdefinierten Konfigurationsregeln angeben, wie weiter unten in diesem Abschnitt beschrieben.

Im Folgenden finden Sie eine Übersicht über die Felder in der CloudWatch Agentenkonfigurationsdatei, die sich auf CloudWatch Anwendungssignale beziehen.

  • logs

    • metrics_collected— Dieses Feld kann Abschnitte enthalten, in denen angegeben wird, dass der Agent Protokolle sammelt, um Anwendungsfälle wie CloudWatch Application Signals und Container Insights mit verbesserter Beobachtbarkeit für Amazon EKS zu ermöglichen.

      Anmerkung

      Bisher wurde dieser Abschnitt auch verwendet, um anzugeben, dass der Agent Protokolle im eingebetteten Metrikformat sammeln soll. Diese Einstellungen werden nicht mehr benötigt.

      • application_signals(Optional) Gibt an, dass Sie CloudWatch Application Signals für den Empfang von Metriken aus Ihren automatisch instrumentierten Anwendungen aktivieren möchten, um Anwendungssignale zu unterstützen CloudWatch .

        • rules (Optional) Eine Reihe von Regeln zur bedingten Auswahl von Metriken und Traces und zur Anwendung von Aktionen für Szenarien mit hoher Kardinalität. Jede Regel kann die folgenden Felder enthalten:

          • rule_name (Optional) Der Name der Regel.

          • selectors (Optional) Eine Reihe von Metriken und Traces mit Dimensionsabgleichungen. Jede Auswahl muss folgende Felder angeben:

            • dimension Erforderlich, wenn selectors nicht leer ist. Dies gibt die Dimension der Metriken und Ablaufverfolgungen an, die als Filter verwendet werden sollen.

            • match Erforderlich, wenn selectors nicht leer ist. Ein Platzhaltermuster, das zum Abgleichen von Werten der angegebenen Dimension verwendet wird.

          • action (Optional) Die Aktion, die auf Metriken und Traces angewendet werden soll, die den angegebenen Selektoren entsprechen. Der Wert von action muss eines der folgenden Schlüsselwörter sein:

            • keepLegt fest, dass nur die Metriken und Traces an gesendet werden, CloudWatch wenn sie mit dem übereinstimmen. selectors

            • drop Gibt an, dass die Metrik und die Traces, die dem selectors entsprechen, verworfen werden sollen.

            • replace Gibt an, dass die Dimensionen der Metriken und Traces, die dem selectors entsprechen, ersetzt werden sollen. Sie werden entsprechend dem replacements-Abschnitt ersetzt.

          • replacementsErforderlich, wenn action ein replace ist. Eine Reihe von Dimensions- und Wertepaaren, die auf Metriken und Traces angewendet werden, die mit den angegebenen selectors übereinstimmen, wenn die action gleich replace ist. Jeder Ersatz muss folgende Felder angeben:

            • target_dimension Erforderlich, wenn replacements nicht leer ist. Gibt die Dimension an, die ersetzt werden muss.

            • value Erforderlich, wenn replacements nicht leer ist. Der Wert, durch den der ursprüngliche Wert von target_dimension ersetzt werden soll.

        • limiter(Optional) Verwenden Sie diesen Abschnitt, um zu begrenzen, an wie viele Metriken und Dimensionen Application Signals sendet CloudWatch, um Ihre Kosten zu optimieren.

          • disabled (Optional) Wenn true, ist das Feature zur Metrikbegrenzung deaktiviert. Der Standardwert ist false

          • drop_threshold(Optional) Die maximale Anzahl verschiedener Metriken pro Service in einem Rotationsintervall, die von einem CloudWatch Agenten exportiert werden können. Die Standardeinstellung ist 500.

          • rotation_interval (Optional) Das Intervall, in dem der Begrenzer die Metrikdatensätze zur Differenzierung zurücksetzt. Dies wird als Zeichenfolge mit einer Zahlenfolge und einem Einheitensuffix ausgedrückt. Brüche werden unterstützt. Die unterstützten Einheitensuffixe sinds,m, h msus, und. ns Der Standard ist 1h für 1 Stunde.

          • log_dropped_metrics(Optional) Gibt an, ob der Agent Protokolle in die CloudWatch Agentenprotokolle schreiben soll, wenn die Anwendungssignal-Metriken gelöscht werden. Der Standardwert ist false.

            Anmerkung

            Um diese Protokollierung zu aktivieren, muss der Parameter debug im Abschnitt agent ebenfalls auf true gesetzt sein.

  • traces

    • traces_collected

      • application_signals Optional. Geben Sie dies an, damit der CloudWatch Agent Traces von Ihren automatisch instrumentierten Anwendungen zur Unterstützung von CloudWatch Anwendungssignalen empfangen kann.

Anmerkung

Obwohl die benutzerdefinierten application_signals-Regeln in dem metrics_collected-Abschnitt angegeben sind, der im logs-Abschnitt enthalten ist, gelten sie auch implizit für den traces_collected-Abschnitt. Das gleiche Regelwerk gilt sowohl für Metriken als auch für Traces.

Wenn es mehrere Regeln mit unterschiedlichen Aktionen gibt, gelten sie in der folgenden Reihenfolge: keep, dann drop, dann replace.

Das Folgende ist ein Beispiel für eine vollständige CloudWatch Agentenkonfigurationsdatei, die benutzerdefinierte Regeln anwendet.

{ "logs": { "metrics_collected": { "application_signals": { "rules": [ { "rule_name": "keep01", "selectors": [ { "dimension": "Service", "match": "pet-clinic-frontend" }, { "dimension": "RemoteService", "match": "customers-service" } ], "action": "keep" }, { "rule_name": "drop01", "selectors": [ { "dimension": "Operation", "match": "GET /api/customer/owners/*" } ], "action": "drop" }, { "rule_name": "replace01", "selectors": [ { "dimension": "Operation", "match": "PUT /api/customer/owners/*/pets/*" }, { "dimension": "RemoteOperation", "match": "PUT /owners" } ], "replacements": [ { "target_dimension": "Operation", "value": "PUT /api/customer/owners/{ownerId}/pets{petId}" } ], "action": "replace" } ] } } }, "traces": { "traces_collected": { "application_signals": {} } } }

In der vorherigen Beispiel-Konfigurationsdatei werden die rules wie folgt verarbeitet:

  1. Die Regel keep01 stellt sicher, dass alle Metriken und Traces mit der Dimension Service als pet-clinic-frontend und der Dimension RemoteService als customers-service beibehalten werden.

  2. Für die verarbeiteten Metriken und Traces nach der Anwendung von keep01 stellt die drop01-Regel sicher, dass Metriken und Traces mit der Dimension Operation als GET /api/customer/owners/* verworfen werden.

  3. Für die verarbeiteten Metriken und Traces nach der Anwendung von drop01 aktualisiert die replace01-Regel Metriken und Traces, die die Dimension Operation als PUT /api/customer/owners/*/pets/* und die Dimension RemoteOperation als PUT /owners haben, sodass ihre Operation-Dimension jetzt durch PUT /api/customer/owners/{ownerId}/pets{petId} ersetzt wurde.

Im Folgenden finden Sie ein vollständiges Beispiel für eine CloudWatch Konfigurationsdatei, die die Kardinalität in Application Signals verwaltet, indem sie das Metriklimit auf 100 ändert, die Protokollierung gelöschter Metriken aktiviert und das Rotationsintervall auf zwei Stunden festlegt.

{ "logs": { "metrics_collected": { "application_signals": { "limiter": { "disabled": false, "drop_threshold": 100, "rotation_interval": "2h", "log_dropped_metrics": true } } }, "traces": { "traces_collected": { "application_signals": {} } } } }