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.
CloudWatch Métriques (OTel)
Les critères de sélection déterminent les métriques OTel qui entrent dans un pipeline pour être traitées. Chaque critère est une expression du formulaire <path> == "<value>" qui correspond à un attribut spécifique de la métrique entrante. Au moins un critère de sélection est requis.
Les critères sont regroupés dans un match_all bloc avec la sémantique AND : une métrique doit correspondre à chaque expression du groupe pour entrer dans le pipeline.
Chemins pris en charge
Les chemins OTTL suivants sont pris en charge dans les critères de sélection :
| Chemin | Description |
|---|---|
|
Resource-level attribut |
|
Nom de la portée de l'instrumentation |
|
Version de la lunette d'instrumentation |
|
Attribut de portée de l'instrumentation |
|
Nom de la métrique |
|
Datapoint-level attribut |
|
Forme abrégée pour |
Configuration
Les critères de sélection sont définis dans la source section de configuration du pipeline :
pipeline: source: cloudwatch_metrics: format: otlp selection_criteria: - match_all: - 'resource.attributes["service.name"] == "my-service"' - 'metric.name == "http.server.request.duration"' processor: - add_attributes: attributes: - key: resource.attributes["team"] value: "platform-engineering" sink: - cloudwatch_metrics: {}
L'exemple suivant utilise tous les types de chemins pris en charge :
pipeline: source: cloudwatch_metrics: format: otlp selection_criteria: - match_all: - 'resource.attributes["service.name"] == "my-service"' - 'instrumentation_scope.name == "my-scope"' - 'instrumentation_scope.version == "1.0.0"' - 'instrumentation_scope.attributes["library"] == "otel-java"' - 'metric.name == "http.server.request.duration"' - 'datapoint.attributes["status_code"] == "200"' - 'attributes["environment"] == "production"' processor: - add_attributes: attributes: - key: resource.attributes["team"] value: "observability" sink: - cloudwatch_metrics: {}
Vérifier avec ProMQL
CloudWatch mappe les étendues d'attributs OTLP aux étiquettes ProMQL en utilisant la convention des préfixes. @ Utilisez ce mappage pour vérifier que votre pipeline traite les métriques comme prévu dans Query Studio :
| Trajectoire OTTL du pipeline | Préfixe d'étiquette ProMQL | Exemple |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Par exemple, si votre pipeline ajoute resource.attributes["team"] de la valeur"platform-engineering", vous pouvez confirmer qu'il a été appliqué :
{"CPUUtilization", "@resource.team"="platform-engineering"}
Exigences et limitations
- Un seul
match_allgroupe -
Chaque pipeline prend en charge exactement un
match_allgroupe dansselection_criteria. Vous ne pouvez pas définir plusieursmatch_allgroupes dans un même pipeline. - Critères minimaux
-
Au moins une expression est requise dans le
match_allgroupe. - Critères maximaux
-
Un
match_allgroupe peut contenir au maximum 20 expressions. - Sémantique ET
-
Toutes les expressions du
match_allgroupe doivent correspondre pour qu'une métrique entre dans le pipeline. - Correspondance exacte des chaînes
-
Les valeurs doivent être des chaînes statiques. Les caractères génériques, les expressions régulières et les correspondances partielles ne sont pas pris en charge. Chaque expression doit utiliser l'
==opérateur. - Aucun critère ne se chevauche entre les pipelines
-
Chaque point de données métrique doit correspondre à au plus un pipeline. Si un point de données correspond à la fois à des critères de pipeline nouveaux et existants, la création de pipeline échoue. Pour éviter tout chevauchement, incluez au moins un chemin attributaire avec des valeurs distinctes dans les critères de sélection de chaque pipeline.
Par exemple, les deux critères de sélection suivants se chevauchent car le pipeline A sélectionne toutes les mesures parmi
payment-servicelesquelles la métrique spécifique ciblée par le pipeline B :# Pipeline A — selects ALL metrics from payment-service selection_criteria: - match_all: - 'resource.attributes["service.name"] == "payment-service"' # Pipeline B — FAILS: a datapoint with service.name="payment-service" # and metric.name="http.server.request.duration" matches both pipelines selection_criteria: - match_all: - 'metric.name == "http.server.request.duration"'