View a markdown version of this page

CloudWatch Metrics (Metrik) - Amazon CloudWatch

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

CloudWatch Metrics (Metrik)

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

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

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

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

match_allKelompok tunggal

Setiap pipa mendukung tepat satu match_all grup diselection_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 metrikpayment-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"'