

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)
<a name="metrics-pipeline-selection-criteria"></a>

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
<a name="selection-criteria-paths"></a>

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
<a name="selection-criteria-configuration"></a>

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
<a name="selection-criteria-promql"></a>

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
<a name="selection-criteria-requirements"></a>

Gruppo singolo `match_all`  
Ogni pipeline supporta esattamente un `match_all` gruppo in`selection_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 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"'
```