Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Metrik khusus dengan Sinyal Aplikasi
Untuk memantau kinerja dan ketersediaan aplikasi, Sinyal Aplikasi mengumpulkan metrik standar (kesalahan, kesalahan, dan latensi) dan metrik runtime dari aplikasi yang ditemukan setelah Anda mengaktifkannya.
Metrik Kustom menambahkan konteks berharga ke pemantauan aplikasi Anda dan membantu mempercepat pemecahan masalah. Anda dapat menggunakannya untuk:
Sesuaikan analisis data telemetri
Identifikasi akar penyebab masalah
Membuat keputusan bisnis dan operasional yang tepat dengan cepat
Sinyal Aplikasi memungkinkan Anda melihat dan mengkorelasikan metrik kustom yang dihasilkan dari layanan dengan metrik standar dan runtime. Misalnya, aplikasi dapat memancarkan metrik untuk ukuran permintaan dan jumlah kehilangan cache. Metrik khusus ini memberikan wawasan yang lebih terperinci tentang masalah kinerja, membantu Anda mendiagnosis dan menyelesaikan penurunan ketersediaan dan lonjakan latensi lebih cepat.
Topik
Mengonfigurasi metrik khusus ke Sinyal Aplikasi
Anda dapat membuat metrik kustom dari aplikasi Anda menggunakan dua metode: OpenTelemetry metrik dan metrik Span.
OpenTelemetry metrik
Untuk menggunakan OpenTelemetry metrik kustom dengan Sinyal Aplikasi, Anda harus menggunakan CloudWatch Agen atau OpenTelemetry Kolektor. OpenTelemetry Metrik khusus memungkinkan Anda membuat dan mengekspor metrik langsung dari kode aplikasi menggunakan OpenTelemetry Metrics SDK.
Layanan onboard ke Sinyal Aplikasi.
Konfigurasikan agen atau kolektor.
Saat menggunakan CloudWatch agen, Anda harus mengkonfigurasi
metrics_collected
dengan fileotlp
. Sebagai contoh,cloudwatch-config.json
.{ "traces": { "traces_collected": { "application_signals": {} } }, "logs": { "metrics_collected": { "application_signals": {}, "otlp": { "grpc_endpoint": "0.0.0.0:4317", "http_endpoint": "0.0.0.0:4318" } } } }
Saat menggunakan OpenTelemetry Collector, konfigurasikan pipeline metrik. Anda harus menggunakan CloudWatch EMF Exporter for OpenTelemetry Collector
dan mengaktifkan Atribut Sumber Daya ke Label Metrik . Disarankan untuk mengonfigurasi dimension_rollup_option: NoDimensionRollup
agar tidak memancarkan banyak agregasi metrik. Misalnya,config.yaml
:receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 exporters: awsemf: region: $REGION namespace: $NAMESPACE log_group_name:$LOG_GROUP_NAME resource_to_telemetry_conversion: enabled: true dimension_rollup_option: "NoDimensionRollup" otlphttp/traces: compression: gzip traces_endpoint: https://xray.$REGION.amazonaws.com/v1/traces auth: authenticator: sigv4auth/traces extensions: sigv4auth/logs: region: "$REGION" service: "logs" sigv4auth/traces: region: "$REGION" service: "xray" processors: batch: service: telemetry: extensions: [sigv4auth/logs, sigv4auth/traces] pipelines: metrics: receivers: [otlp] processors: [batch] exporters: [awsemf] traces: receivers: [otlp] processors: [batch] exporters: [otlphttp/traces]
Konfigurasikan lingkungan. Ketika ada beberapa layanan dengan nama layanan yang sama dan untuk secara akurat menghubungkan metrik Sinyal Aplikasi ke nama layanan yang benar, disarankan untuk mengonfigurasi atribut sumber daya.
deployment.environment.name
Mengkonfigurasi atribut sumber daya ini biasanya dilakukan melalui variabel lingkungan.OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME,deployment.environment.name=$YOUR_ENV_NAME"
Konfigurasikan ekspor metrik ke CloudWatch agen atau OpenTelemetry Kolektor. Anda dapat menggunakan salah satu pendekatan berikut:
(Disarankan) Pipa ekspor khusus - Dalam kode aplikasi, buat MeterProvider
ekspor khusus ke titik akhir agen atau kolektor yang dikonfigurasi. Misalnya: Resource resource = Resource.getDefault().toBuilder() .put(AttributeKey.stringKey("service.name"), serviceName) .put(AttributeKey.stringKey("deployment.environment.name"), environment) .build(); MetricExporter metricExporter = OtlpHttpMetricExporter.builder() .setEndpoint("http://localhost:4318/v1/metrics") .build(); MetricReader metricReader = PeriodicMetricReader.builder(metricExporter) .setInterval(Duration.ofSeconds(10)) .build() SdkMeterProvider meterProvider = SdkMeterProvider.builder() .setResource(resource) .registerMetricReader() .build(); Meter meter = meterProvider.get("myMeter");
Ekspor berbasis agen - Konfigurasikan variabel lingkungan agen OTEL_METRICS_EXPORTER dan OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
. Misalnya: OTEL_METRICS_EXPORTER=otlp OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://localhost:4318/v1/metrics
Dalam kode aplikasi, andalkan global MeterProvider yang dibuat oleh agen. Misalnya:
Meter meter = GlobalOpenTelemetry.getMeter("myMeter");
Menggunakan OTEL Metrics SDK
dalam kode aplikasi, tambahkan Metrik OTEL. Misalnya, untuk menambahkan metrik OTEL dengan Python: counter = meter.counterBuilder("myCounter").build(); counter.add(value); counter.add(value, Attributes.of(AttributeKey.stringKey("Operation"), "myOperation"));
Menambahkan atribut Operasi tidak diperlukan, tetapi dapat berguna untuk menghubungkan Operasi Layanan Sinyal Aplikasi ke OpenTelemetry Metrik Kustom.
Metrik rentang
Metrik Span Kustom saat ini hanya berfungsi dengan Penelusuran Transaksi. Dengan metrik Span kustom, Anda dapat:
Buat metrik menggunakan Filter Metrik
Atribut rentang proses ditambahkan dalam kode aplikasi
Menggunakan OpenTelemetry Traces SDK untuk implementasi
Aktifkan pemantauan Sinyal Aplikasi dengan Pencarian Transaksi. Untuk informasi selengkapnya, lihat Pencarian Transaksi.
Untuk memastikan pengambilan sampel metrik 100%, disarankan untuk mengirim 100% bentang ke titik akhir.
Tambahkan atribut span menggunakan OTEL Traces SDK
. Ada dua cara: [Disarankan] Tambahkan atribut ke rentang yang dihasilkan secara otomatis. Misalnya:
Span.current().setAttribute("myattribute", value);
Tambahkan atribut ke rentang yang dihasilkan secara manual. Misalnya:
Span span = tracer.spanBuilder("myspan").startSpan(); try (Scope scope = span.makeCurrent()) { span.setAttribute("myattribute", value); }
Buat filter metrik dengan nilai berikut. Untuk informasi tentang cara membuat filter metrik, lihat Membuat filter metrik untuk grup log.
Grup Log - aws/bentang
Pola filter — {$.attributes. ['myattribute'] = *}
Nama metrik — myattribute (Nilai harus sama persis atau korelasi rentang tidak akan berfungsi
Nilai metrik — $.attributes. ['myattribute']
Dimensi - Nama Bidang: Layanan, Nilai Bidang: $.attributes. ['aws.local.service'], Nama Bidang: Lingkungan, Nilai Bidang: $.attributes. ['aws.local.environment'], dan Nama Bidang: Operasi, Nilai Bidang: $.attributes. ['aws.local.operation']
catatan
Ketika Anda menambahkan atribut ke rentang yang dihasilkan secara manual, Anda tidak dapat mengatur
Operation
karena tidakaws.local.operation
akan hadir dalam data rentang.
Melihat metrik khusus di Sinyal Aplikasi
Sekarang Anda dapat melihat metrik kustom untuk layanan dan operasi di konsol Sinyal Aplikasi:
Pilih layanan dari daftar Layanan untuk melihat tab Metrik Terkait yang baru
Melihat metrik standar, metrik runtime, dan metrik terkait untuk layanan yang Anda pilih
Filter dan pilih beberapa metrik dari daftar
Grafik metrik yang dipilih untuk mengidentifikasi korelasi dan akar penyebab masalah
Untuk informasi selengkapnya tentang Metrik Terkait, lihatLihat metrik terkait.
Pertanyaan yang sering diajukan (FAQs)
Apa dampak dari tidak menambahkan konfigurasi untuk lingkungan untuk metrik khusus?
Sinyal Aplikasi mengonfigurasi atribut deployment.environment.name
sumber daya untuk membedakan aplikasi. Sinyal Aplikasi tidak dapat mengkorelasikan metrik kustom yang dihasilkan dari dua layanan berbeda dengan nama yang sama ke layanan yang benar tanpa disambiguasi.
Untuk menambahkan konfigurasi lingkungan ke aplikasi Anda, lihatOpenTelemetry metrik.
Apakah ada batasan untuk filter metrik?
Anda hanya dapat membuat hingga 100 filter metrik per grup CloudWatch log Log. Setiap metrik yang ditentukan dapat memiliki hingga 3 dimensi. Anda dapat melihat batas untuk filter metrik di siniOpenTelemetry metrik.
Mengapa grafik metrik tidak muncul di tabel metrik?
Solusinya tergantung pada jenis metrik Anda:
Metrik kustom - Lihat Mengonfigurasi metrik khusus ke Sinyal Aplikasi untuk memverifikasi konfigurasi metrik
Metrik standar atau runtime — Lihat Pemecahan Masalah pemasangan Sinyal Aplikasi Anda