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:
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 Konditionell auf Prozessorebene 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'}"