Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Cas d'utilisation courants des processeurs
Voici des scénarios courants et des exemples de configurations pour combiner des processeurs :
Exemple Standardisez les formats de journal et ajoutez des métadonnées
Analysez les journaux JSON, normalisez les noms de champs et ajoutez des informations sur l'environnement :
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"
Exemple Nettoyer et normaliser les valeurs des champs
Standardisez les codes d'état et supprimez les données sensibles :
processor: - uppercase_string: with_keys: ["status", "method"] - delete_entries: with_keys: ["credit_card", "password"] - substitute_string: entries: - source: "status" from: "SUCCESS" to: "OK"
Exemple Extraire et transformer des champs spécifiques
Extrayez les informations utilisateur et le format à des fins d'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"
Exemple Traitement conditionnel avec conditions d'entrée de gamme
Ajoutez différentes métadonnées en fonction de la gravité du journal à l'aide de conditions d'entrée de gamme when :
processor: - add_entries: entries: - key: "alert_level" value: "critical" when: "log.level == 'ERROR'" - key: "alert_level" value: "info" when_else: "log.level == 'ERROR'"
Exemple Supprimer les entrées de journal indésirables
Filtrez les entrées du journal de débogage et de suivi provenant d'une source tierce afin de réduire le bruit et les coûts de stockage :
processor: - drop_events: when: "log.level in {'DEBUG', 'TRACE'}" handle_expression_failure: "skip"
Exemple Conditionnel au niveau du processeur avec delete_entries
Supprimez les champs sensibles uniquement lorsque l'environnement est celui de la production :
processor: - delete_entries: with_keys: ["password", "api_key", "ssn"] when: "environment in {'prod', 'staging'}"