

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Kriteria seleksi menentukan metrik OTel mana yang masuk ke pipeline untuk diproses. Setiap kriteria adalah ekspresi dari bentuk `<path> == "<value>"` yang cocok dengan atribut tertentu dari metrik yang masuk. Setidaknya satu kriteria seleksi diperlukan.

Kriteria dikelompokkan di dalam `match_all` blok dengan semantik AND — metrik harus cocok dengan setiap ekspresi dalam grup untuk masuk ke pipeline.

## Jalur yang didukung
<a name="selection-criteria-paths"></a>

Jalur OTTL berikut didukung dalam kriteria seleksi:


**Jalur kriteria seleksi**  

| Jalan | Deskripsi | 
| --- | --- | 
| `resource.attributes["key"]` | Resource-level atribut | 
| `instrumentation_scope.name` | Nama lingkup instrumentasi | 
| `instrumentation_scope.version` | Versi lingkup instrumentasi | 
| `instrumentation_scope.attributes["key"]` | Atribut lingkup instrumentasi | 
| `metric.name` | Nama metrik | 
| `datapoint.attributes["key"]` | Datapoint-level atribut | 
| `attributes["key"]` | Formulir singkat untuk `datapoint.attributes["key"]` | 

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

Kriteria seleksi didefinisikan di `source` bagian konfigurasi pipa:

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

Contoh berikut menggunakan semua jenis jalur yang didukung:

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

## Verifikasi dengan PromQL
<a name="selection-criteria-promql"></a>

CloudWatch memetakan cakupan atribut OTLP ke label promQL menggunakan konvensi awalan. `@` Gunakan pemetaan ini untuk memverifikasi bahwa pipeline Anda memproses metrik seperti yang diharapkan di Query Studio:


**Jalur OTTL ke pemetaan label PromQL**  

| Jalur pipa OTTL | Awalan label PromQL | Contoh | 
| --- | --- | --- | 
| `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.`atau telanjang | `status_code` | 

Misalnya, jika pipeline Anda bertambah `resource.attributes["team"]` dengan nilai`"platform-engineering"`, Anda dapat mengonfirmasi bahwa pipeline telah diterapkan:

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

## Persyaratan dan pembatasan
<a name="selection-criteria-requirements"></a>

`match_all`Kelompok tunggal  
Setiap pipa mendukung tepat satu `match_all` grup di`selection_criteria`. Anda tidak dapat menentukan beberapa `match_all` grup dalam satu pipeline.

Kriteria minimum  
Setidaknya satu ekspresi diperlukan dalam `match_all` grup.

Kriteria maksimum  
Sebuah `match_all` grup dapat berisi paling banyak 20 ekspresi.

DAN semantik  
Semua ekspresi dalam `match_all` grup harus cocok dengan metrik untuk masuk ke pipeline.

Pencocokan string yang tepat  
Nilai harus berupa string statis. Wildcard, ekspresi reguler, dan kecocokan sebagian tidak didukung. Setiap ekspresi harus menggunakan `==` operator.

Tidak ada kriteria yang tumpang tindih di seluruh jaringan pipa  
Setiap titik data metrik harus cocok paling banyak satu pipeline. Jika titik data cocok dengan kriteria pipeline baru dan yang sudah ada, pembuatan pipeline gagal. Untuk mencegah tumpang tindih, sertakan setidaknya satu jalur atribut dengan nilai berbeda dalam kriteria pemilihan setiap pipeline.  
Misalnya, dua kriteria pemilihan berikut tumpang tindih karena Pipeline A memilih semua metrik`payment-service`, yang mencakup metrik spesifik yang ditargetkan 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"'
```