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 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:

Percorsi dei criteri di selezione
Path Description

resource.attributes["key"]

Resource-level attributo

instrumentation_scope.name

Nome dell'ambito della strumentazione

instrumentation_scope.version

Versione del cannocchiale di 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 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 verso la mappatura delle etichette PromQL
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 tubazione.

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