View a markdown version of this page

CloudWatch Metrik (oTel) - Amazon CloudWatch

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

CloudWatch Metrik (oTel)

Kriteria seleksi menentukan metrik oTEL mana yang masuk ke pipeline untuk diproses. Setiap kriteria adalah ekspresi 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 memasuki pipeline.

Jalur yang didukung

Jalur OTTL berikut didukung dalam kriteria seleksi:

Jalur 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"]

Bentuk pendek untuk datapoint.attributes["key"]

Konfigurasi

Kriteria pemilihan 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 pipa 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 menambah resource.attributes["team"] nilai"platform-engineering", Anda dapat mengonfirmasi bahwa itu diterapkan:

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

Persyaratan dan pembatasan

match_allKelompok tunggal

Setiap pipeline mendukung tepat satu match_all grup diselection_criteria. Anda tidak dapat mendefinisikan 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 untuk metrik masuk ke pipeline.

Pencocokan string yang tepat

Nilai harus berupa string statis. Karakter pengganti, ekspresi reguler, dan kecocokan sebagian tidak didukung. Setiap ekspresi harus menggunakan == operator.

Tidak ada kriteria tumpang tindih di seluruh jaringan pipa

Setiap titik data metrik harus cocok paling banyak dengan 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 seleksi berikut tumpang tindih karena Pipeline A memilih semua metrik daripayment-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"'