View a markdown version of this page

Cas d'utilisation courants des processeurs - Amazon CloudWatch

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 permettant de combiner des processeurs.

Exemples de pipelines de logs

Exemple Standardisez les formats de journal et ajoutez des métadonnées

Analysez les journaux JSON, standardisez 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

Extraire les informations utilisateur et le format pour l'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 Processor-level conditionnel avec delete_entries

Supprimez les champs sensibles uniquement lorsque l'environnement est en production :

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

Exemples de pipelines de métriques

Les exemples suivants montrent les configurations de processeur pour les pipelines de métriques. Les processeurs de métriques utilisent des expressions de chemin OTTL pour cibler des attributs à différentes étendues.

Exemple Ajoutez un contexte commercial aux indicateurs

Ajoutez des balises relatives à la propriété de l'équipe et à l'environnement aux points de données métriques :

processor: - add_attributes: attributes: - key: resource.attributes["team"] value: "platform-engineering" - key: resource.attributes["cost_center"] value: "CC-1234"
Exemple Supprimer les attributs de cardinalité élevée

Supprimez les attributs qui font grimper les coûts de stockage. Ne s'applique pas aux métriques cumulées ni aux métriques distribuées. Si l'une des métriques des critères de sélection présente une temporalité non prise en charge, le pipeline émet une métrique d'UnsupportedTemporalityavertissement que vous pouvez surveiller dans l'espace de noms : AWS/Observability Admin

processor: - delete_attributes: with_keys: - resource.attributes["host.id"] - datapoint.attributes["http.request.id"]
Exemple Standardiser les conventions de dénomination

Renommez les mesures et les attributs pour les aligner sur les conventions OpenTelemetry sémantiques. Ne s'applique pas aux métriques cumulées ni aux métriques distribuées :

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