View a markdown version of this page

Allgemeine 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.

Allgemeine 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 Protokollformate und fügen Sie Metadaten hinzu

Analysieren Sie JSON-Logs, 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 Feldwerte bereinigen und normalisieren

Standardisieren Sie Statuscodes und entfernen Sie sensible 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 Einstiegsbedingungen

Fügen Sie anhand von Bedingungen auf when Einstiegsebene unterschiedliche Metadaten basierend auf dem Schweregrad des Protokolls 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 Protokolleinträge

Filtert Debug- und Trace-Logeinträge aus Drittanbieterquellen 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

Entfernen Sie sensible Felder nur, wenn es sich um eine Produktionsumgebung handelt:

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

Beispiele für die Pipeline von Kennzahlen

Die folgenden Beispiele zeigen Prozessorkonfigurationen für Metrik-Pipelines. Prozessoren für Metriken verwenden OTTL-Pfadausdrücke, um auf Attribute in unterschiedlichen Bereichen abzuzielen.

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

Fügen Sie Kennzeichnungen für Teameigentum und Umgebung zu metrischen Datenpunkten 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 vergebene Metriken — wenn Metriken in den Auswahlkriterien nicht zeitlich begrenzt sind, gibt die Pipeline eine UnsupportedTemporality Warnmeldung 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 Namenskonventionen

Benennen Sie Metriken und Attribute um, um sie an OpenTelemetry semantische Konventionen anzupassen. Gilt nicht für kumulative Metriken oder Verkaufsmetriken:

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"]