Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CloudWatch Metriche (Otel)
I criteri di selezione determinano quali metriche Otel entrano in una pipeline per l'elaborazione. Ogni criterio è un'espressione del modulo <path> == "<value>" che corrisponde a un attributo specifico della metrica in entrata. È richiesto almeno un criterio di selezione.
I criteri sono raggruppati all'interno di un match_all blocco con semantica AND: una metrica deve corrispondere a ogni espressione del gruppo per entrare nella pipeline.
Percorsi supportati
I seguenti percorsi OTTL sono supportati nei criteri di selezione:
| Path | Description |
|---|---|
|
Resource-level attributo |
|
Nome dell'ambito della strumentazione |
|
Versione del cannocchiale di strumentazione |
|
Attributo dell'ambito della strumentazione |
|
Nome parametro |
|
Datapoint-level attributo |
|
Forma abbreviata per |
Configurazione
I criteri di selezione sono definiti nella source sezione della configurazione della 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'esempio seguente utilizza tutti i tipi di percorso supportati:
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: {}
Verifica con PromQL
CloudWatch mappa gli ambiti degli attributi OTLP alle etichette PromQL utilizzando la convenzione dei prefissi. @ Utilizzate questa mappatura per verificare che la pipeline stia elaborando le metriche come previsto in Query Studio:
| Percorso OTTL della pipeline | Prefisso dell'etichetta ProMQL | Esempio |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Ad esempio, se la pipeline aggiunge resource.attributes["team"] valore"platform-engineering", puoi confermare che è stata applicata:
{"CPUUtilization", "@resource.team"="platform-engineering"}
Requisiti e limitazioni
- Gruppo singolo
match_all -
Ogni pipeline supporta esattamente un
match_allgruppo inselection_criteria. Non è possibile definire piùmatch_allgruppi in una singola tubazione. - Criteri minimi
-
È richiesta almeno un'espressione nel
match_allgruppo. - Criteri massimi
-
Un
match_allgruppo può contenere al massimo 20 espressioni. - E semantica
-
Tutte le espressioni del
match_allgruppo devono corrispondere affinché una metrica entri nella pipeline. - Corrispondenza esatta delle string
-
I valori devono essere stringhe statiche. I caratteri jolly, le espressioni regolari e le corrispondenze parziali non sono supportati. Ogni espressione deve utilizzare l'
==operatore. - Nessun criterio sovrapposto tra le pipeline
-
Ogni datapoint metrico deve corrispondere al massimo a una pipeline. Se un datapoint soddisfa i criteri della pipeline nuovi ed esistenti, la creazione della pipeline fallisce. Per evitare sovrapposizioni, includete almeno un percorso di attributi con valori distinti nei criteri di selezione di ciascuna pipeline.
Ad esempio, i due criteri di selezione seguenti si sovrappongono perché la pipeline A seleziona tutte le metriche
payment-service, inclusa la metrica specifica a cui si rivolge la 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"'