

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# CloudWatch Metriken (OTel)
<a name="metrics-pipeline-selection-criteria"></a>

Auswahlkriterien bestimmen, welche OTel-Metriken zur Verarbeitung in eine Pipeline aufgenommen werden. Jedes Kriterium ist ein Ausdruck in der Form`<path> == "<value>"`, der mit einem bestimmten Attribut der eingehenden Metrik übereinstimmt. Es ist mindestens ein Auswahlkriterium erforderlich.

Die Kriterien sind innerhalb eines `match_all` Blocks mit AND-Semantik gruppiert — eine Metrik muss mit jedem Ausdruck in der Gruppe übereinstimmen, um in die Pipeline aufgenommen zu werden.

## Unterstützte Pfade
<a name="selection-criteria-paths"></a>

Die folgenden OTTL-Pfade werden in den Auswahlkriterien unterstützt:


| Pfad | Description | 
| --- | --- | 
| `resource.attributes["key"]` | Resource-level Attribut | 
| `instrumentation_scope.name` | Name des Instrumentierungsbereichs | 
| `instrumentation_scope.version` | Version des Instrumentierungsbereichs | 
| `instrumentation_scope.attributes["key"]` | Attribut zum Umfang der Instrumentierung | 
| `metric.name` | Metrikname | 
| `datapoint.attributes["key"]` | Datapoint-level Attribut | 
| `attributes["key"]` | Kurzform für `datapoint.attributes["key"]` | 

## Konfiguration
<a name="selection-criteria-configuration"></a>

Die Auswahlkriterien werden im `source` Abschnitt der Pipeline-Konfiguration definiert:

```
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: {}
```

Im folgenden Beispiel werden alle unterstützten Pfadtypen verwendet:

```
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: {}
```

## Überprüfung mit PromQL
<a name="selection-criteria-promql"></a>

CloudWatch ordnet OTLP-Attributbereiche mithilfe der Präfix-Konvention PromQL-Labels zu. `@` Verwenden Sie diese Zuordnung, um zu überprüfen, ob Ihre Pipeline Metriken wie erwartet in Query Studio verarbeitet:


| OTTL-Pfad der Pipeline | PromQL-Labelpräfix | Beispiel | 
| --- | --- | --- | 
| `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.`oder nackt | `status_code` | 

Wenn Ihre Pipeline beispielsweise einen Mehrwert `resource.attributes["team"]` bietet`"platform-engineering"`, können Sie bestätigen, dass sie angewendet wurde:

```
{"CPUUtilization", "@resource.team"="platform-engineering"}
```

## Anforderungen und Einschränkungen
<a name="selection-criteria-requirements"></a>

Einzelne `match_all` Gruppe  
Jede Pipeline unterstützt genau eine `match_all` Gruppe in`selection_criteria`. Sie können nicht mehrere `match_all` Gruppen in einer einzigen Pipeline definieren.

Mindestkriterien  
In der `match_all` Gruppe ist mindestens ein Ausdruck erforderlich.

Maximale Kriterien  
Eine `match_all` Gruppe kann maximal 20 Ausdrücke enthalten.

UND Semantik  
Alle Ausdrücke in der `match_all` Gruppe müssen übereinstimmen, damit eine Metrik in die Pipeline aufgenommen wird.

Exakte Zeichenkettenübereinstimmung  
Bei den Werten muss es sich um statische Zeichenfolgen handeln. Platzhalter, reguläre Ausdrücke und teilweise Treffer werden nicht unterstützt. Jeder Ausdruck muss den `==` Operator verwenden.

Keine sich überschneidenden Kriterien in den einzelnen Pipelines  
Jeder metrische Datenpunkt muss mit höchstens einer Pipeline übereinstimmen. Wenn ein Datenpunkt sowohl den neuen als auch den vorhandenen Pipeline-Kriterien entspricht, schlägt die Pipeline-Erstellung fehl. Um Überschneidungen zu vermeiden, nehmen Sie mindestens einen Attributpfad mit unterschiedlichen Werten in die Auswahlkriterien jeder Pipeline auf.  
Beispielsweise überschneiden sich die folgenden beiden Auswahlkriterien, da Pipeline A alle Metriken auswählt`payment-service`, darunter auch die spezifische Metrik, auf die Pipeline B abzielt:  

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