View a markdown version of this page

Häufige Anwendungsfälle für Prozessoren - 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.

Häufige Anwendungsfälle für Prozessoren

Im Folgenden finden Sie gängige Szenarien und Beispielkonfigurationen für die Kombination von Prozessoren.

Beispiele für Protokoll-Pipelines

Beispiel Standardisieren Sie die Protokollformate und fügen Sie Metadaten hinzu

Analysieren Sie JSON-Protokolle, standardisieren Sie Feldnamen und fügen Sie Umgebungsinformationen hinzu:

processor: - parse_json: {} - rename_keys: entries: - from_key: "timestamp" to_key: "@timestamp" - from_key: "log_level" to_key: "level" - add_entries: entries: - key: "environment" value: "production" - key: "application" value: "payment-service"
Beispiel Bereinigen und normalisieren Sie Feldwerte

Standardisieren Sie Statuscodes und entfernen Sie vertrauliche Daten:

processor: - uppercase_string: with_keys: ["status", "method"] - delete_entries: with_keys: ["credit_card", "password"] - substitute_string: entries: - source: "status" from: "SUCCESS" to: "OK"
Beispiel Extrahieren und transformieren Sie bestimmte Felder

Extrahieren Sie Benutzerinformationen und Format für die Analyse:

processor: - extract_value: entries: - source: "user_agent" target: "browser" from: "(?<browser>Chrome|Firefox|Safari)" to: "${browser}" - lowercase_string: with_keys: ["browser"] - move_keys: entries: - from_key: "browser" to_key: "user_data.browser"
Beispiel Bedingte Verarbeitung mit Bedingungen der Einstiegsklasse

Fügen Sie je nach Schweregrad des Protokolls mithilfe von Einstiegsbedingungen when unterschiedliche Metadaten hinzu:

processor: - add_entries: entries: - key: "alert_level" value: "critical" when: "log.level == 'ERROR'" - key: "alert_level" value: "info" when_else: "log.level == 'ERROR'"
Beispiel Löschen Sie unerwünschte Logeinträge

Filtern Sie Debug- und Trace-Logeinträge aus einer Drittanbieterquelle heraus, um Störungen und Speicherkosten zu reduzieren:

processor: - drop_events: when: "log.level in {'DEBUG', 'TRACE'}" handle_expression_failure: "skip"
Beispiel Processor-level bedingt mit delete_entries

Löschen Sie sensible Felder nur, wenn die Umgebung produktiv ist:

processor: - delete_entries: with_keys: ["password", "api_key", "ssn"] when: "environment in {'prod', 'staging'}"

Beispiele für Metriken, Pip

Die folgenden Beispiele zeigen Prozessorkonfigurationen für Metrik-Pipelines. Metrikprozessoren verwenden OTTL-Pfadausdrücke, um auf Attribute mit unterschiedlichen Gültigkeitsbereichen abzuzielen.

Beispiel Fügen Sie den Metriken einen Geschäftskontext hinzu

Fügen Sie den Metrik-Datenpunkten Tags für Teamverantwortung und Umgebung hinzu:

processor: - add_attributes: attributes: - key: resource.attributes["team"] value: "platform-engineering" - key: resource.attributes["cost_center"] value: "CC-1234"
Beispiel Entfernen Sie Attribute mit hoher Kardinalität

Entfernen Sie Attribute, die die Speicherkosten in die Höhe treiben. Gilt nicht für kumulative Metriken oder ausverkaufte Metriken — falls für Metriken in den Auswahlkriterien eine Zeitlichkeit nicht unterstützt wird, gibt die Pipeline eine UnsupportedTemporality Warnmetrik aus, die Sie im Namespace überwachen können: AWS/Observability Admin

processor: - delete_attributes: with_keys: - resource.attributes["host.id"] - datapoint.attributes["http.request.id"]
Beispiel Standardisieren Sie die Benennungskonventionen

Benennen Sie Metriken und Attribute um, damit sie den OpenTelemetry semantischen Konventionen entsprechen. Gilt nicht für kumulative Metriken oder verkaufte Metriken:

processor: - rename_metrics: metrics: - from: "cpu_usage_percent" to: "system.cpu.utilization" - rename_attributes: attributes: - from_key: resource.attributes["hostname"] to_key: resource.attributes["host.name"]