

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.

Kriterien werden innerhalb eines `match_all` Blocks mit AND-Semantik gruppiert — eine Metrik muss jedem Ausdruck in der Gruppe entsprechen, 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:


**Pfade für Auswahlkriterien**  

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

## Verifizierung mit PromQL
<a name="selection-criteria-promql"></a>

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


**Zuordnung von OTTL-Pfad zu PromQL-Labels**  

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

Exakter Zeichenfolgenabgleich  
Bei den Werten muss es sich um statische Zeichenketten handeln. Platzhalter, reguläre Ausdrücke und Teilübereinstimmungen werden nicht unterstützt. Jeder Ausdruck muss den `==` Operator verwenden.

Es gibt keine überlappenden Kriterien in den Pipelines  
Jeder metrische Datenpunkt muss mit höchstens einer Pipeline übereinstimmen. Wenn ein Datenpunkt sowohl neuen als auch bestehenden Pipeline-Kriterien entspricht, schlägt die Pipelineerstellung fehl. Um Überschneidungen zu vermeiden, sollten Sie mindestens einen Attributpfad mit unterschiedlichen Werten in die Auswahlkriterien jeder Pipeline aufnehmen.  
Beispielsweise überschneiden sich die folgenden beiden Auswahlkriterien, weil Pipeline A alle Metriken auswählt`payment-service`, einschließlich der spezifischen 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"'
```