

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

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