View a markdown version of this page

CloudWatch Metriche (OtEL) - Amazon CloudWatch

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 ingresso. È 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 tutte le espressioni del gruppo per entrare nella pipeline.

Percorsi supportati

I seguenti percorsi OTTL sono supportati nei criteri di selezione:

Path Description

resource.attributes["key"]

Resource-level attributo

instrumentation_scope.name

Nome dell'ambito della strumentazione

instrumentation_scope.version

Versione dell'ambito della strumentazione

instrumentation_scope.attributes["key"]

Attributo dell'ambito della strumentazione

metric.name

Nome parametro

datapoint.attributes["key"]

Datapoint-level attributo

attributes["key"]

Forma abbreviata per datapoint.attributes["key"]

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 associa gli ambiti degli attributi OTLP alle etichette ProMQL utilizzando la convenzione dei prefissi. @ Usa 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

resource.attributes["key"]

@resource.

@resource.service.name

instrumentation_scope.name

@instrumentation.@name

@instrumentation.@name

instrumentation_scope.attributes["key"]

@instrumentation.

@instrumentation.library

datapoint.attributes["key"] / attributes["key"]

@datapoint.o nudo

status_code

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_all gruppo inselection_criteria. Non è possibile definire più match_all gruppi in una singola pipeline.

Criteri minimi

È richiesta almeno un'espressione nel match_all gruppo.

Criteri massimi

Un match_all gruppo può contenere al massimo 20 espressioni.

E semantica

Tutte le espressioni del match_all gruppo devono corrispondere affinché una metrica entri nella pipeline.

Corrispondenza esatta della stringa

I valori devono essere stringhe statiche. I caratteri jolly, le espressioni regolari e le corrispondenze parziali non sono supportate. Ogni espressione deve utilizzare l'==operatore.

Nessuna sovrapposizione di criteri tra le pipeline

Ogni datapoint metrico deve corrispondere al massimo a una pipeline. Se un datapoint soddisfa i criteri di pipeline nuovi ed esistenti, la creazione della pipeline ha esito negativo. 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é Pipeline A seleziona tutte le metrichepayment-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"'