View a markdown version of this page

Memantau acara layanan - Amazon CloudWatch

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

Memantau acara layanan

Service Events menyediakan pengamatan mendalam otomatis untuk layanan yang dipantau dengan Sin CloudWatch yal Aplikasi. Ini menangkap metrik kesalahan, data kinerja tingkat fungsi, snapshot insiden (ketika permintaan melebihi ambang latensi atau melempar pengecualian), dan peristiwa penerapan — tanpa perubahan kode tambahan.

Cara kerja acara layanan

Service Events mengumpulkan jenis sinyal berikut dari layanan berinstrumen Anda:

  • Metrik Per-exception-type kesalahan — jumlah dan tingkat kesalahan untuk setiap operasi, memungkinkan Anda mengidentifikasi pengecualian mana yang paling sering dan sedang tren.

  • Function-call metrik — Jumlah pemanggilan, durasi, dan tingkat kesalahan untuk fungsi individual dalam kode aplikasi Anda.

  • Snapshot insiden — Tangkapan terperinci dipicu ketika permintaan melebihi ambang latensi atau melempar pengecualian, termasuk pelacakan tumpukan, pohon panggilan, detail pemanggil, dan konteks operasi.

  • Peristiwa pener apan — Penanda yang dipancarkan saat startup aplikasi dan setiap 24 jam yang menghubungkan penerapan kode dengan perubahan perilaku layanan. Aplikasi memancarkan peristiwa penerapan secara otomatis. Menyediakan metadata penerapan (git commit, ID penerapan) memperkaya peristiwa ini dengan konteks tambahan.

Acara Layanan secara otomatis diaktifkan saat Anda mengaktifkan CloudWatch Sinyal Aplikasi untuk layanan Anda. Metrik kesalahan dan pelacakan pengecualian segera aktif. Function-call metrik memerlukan konfigurasi tambahan — Anda harus mengonfigurasi paket untuk instrumen sebelum data panggilan fungsi dikumpulkan (lihatAktifkan instrumentasi fungsi). Acara Layanan dapat dinonaktifkan dengan pengaturanOTEL_AWS_SERVICE_EVENTS_ENABLED=false. Data mengalir dari ADOT SDK ke CloudWatch agen. Agen menerbitkan peristiwa ke CloudWatch Log (/aws/service-events/service-namegrup log) dan CloudWatch Metrik.

Bahasa yang didukung: Java, Python, dan Node.js.

catatan

Acara Layanan dinonaktifkan secara otomatis di lingkungan Lambda.

Penyimpanan data

Service Events menyimpan data di CloudWatch Log. CloudWatch menerbitkan data peristiwa layanan ke grup log dengan awalan/aws/application-signals/service-name, di service-name mana nilai variabel OTEL_SERVICE_NAME lingkungan Anda. Satu grup log dibuat per layanan.

Anda ditagih untuk penyerapan dan penyimpanan log dengan tarif CloudWatch Log standar.

Lihat kesalahan di konsol

Di CloudWatch konsol, navigasikan ke Sinyal Aplikasi, pilih layanan Anda, lalu pilih tab Kesalahan. Tab ini menampilkan metrik pengecualian untuk layanan Anda.

Tab menampilkan:

  • Bagan penghitungan pengecualian yang menunjukkan tren kesalahan dari waktu ke waktu. Gunakan ini untuk mendeteksi jenis pengecualian mana yang telah berubah frekuensinya baru-baru ini.

  • Tabel yang mencantumkan setiap jenis pengecualian, operasi di mana itu terjadi, jumlah kejadian, dan perubahan dibandingkan dengan periode sebelumnya.

Pilih pengecualian untuk menelusuri detail termasuk pelacakan tumpukan, pesan pengecualian, dan tautan ke pelacakan terkait.

Kesalahan dikelompokkan berdasarkan operasi, jenis pengecualian, dan bingkai tumpukan atas. Hanya perwakilan terbaru dari setiap kelompok yang ditampilkan.

catatan

Untuk melihat data kesalahan, setidaknya satu grup /aws/service-events/service-name log harus ada di akun Anda. Jika tidak ada grup log, tab Errors menampilkan prompt orientasi.

Melihat peristiwa layanan di log

Data Service Events disimpan dalam CloudWatch Log di bawah grup log dengan awalan/aws/service-events/service-name. Anda dapat menanyakan data ini secara langsung menggunakan CloudWatch Logs Insights untuk membuat tampilan khusus, membuat dasbor, atau menyelidiki insiden tertentu.

Untuk menanyakan peristiwa layanan:

  1. Buka CloudWatch konsol dan navigasikan ke Logs Insights.

  2. Pilih grup log /aws/service-events/service-name untuk layanan Anda.

  3. Masukkan kueri untuk memfilter dan menganalisis data peristiwa layanan.

Peristiwa layanan di server CloudWatch Sinyal Aplikasi MCP (Model Context Protocol)

Data peristiwa layanan dapat diakses melalui server Application CloudWatch Signals MCP (Model Context Protocol), memungkinkan asisten dan agen pengkodean AI untuk menanyakan perilaku runtime layanan Anda secara langsung.

Pemecahan Masalah

  • Secara otomatis menghubungkan kesalahan dalam kode Anda dengan snapshot insiden produksi, termasuk pelacakan tumpukan penuh dan titik akhir yang terpengaruh.

  • Gunakan konteks insiden (jenis pengecualian, jalur panggilan, ID pelacakan) untuk menyarankan perbaikan yang ditargetkan tanpa mengharuskan Anda menavigasi dasbor secara manual.

  • Ambil peristiwa penerapan untuk menentukan apakah rilis terbaru memperkenalkan regresi.

Peningkatan kinerja

  • Kueri data kinerja tingkat fungsi untuk mengidentifikasi hambatan saat menyelidiki masalah latensi.

  • Bandingkan durasi panggilan fungsi di seluruh penerapan untuk menentukan regresi kinerja.

Untuk petunjuk penyiapan dan penggunaan, lihat server MCP Sinyal Aplikasi di GitHub situs web.

Konfigurasikan acara layanan

Prasyarat

Untuk menggunakan acara layanan, pastikan Anda memiliki versi minimum yang diperlukan dari komponen berikut:

  1. Perbarui SDK ADOT — Perbarui SDK instrumentasi AWS Distro for OpenTelemetry (ADOT) ke versi terbaru untuk bahasa Anda (Java, Python, atau). Node.js

  2. Perbarui add-on Amazon EKS (jika ada) - Jika Anda menggunakan add-on CloudWatch Observability Amazon EKS untuk instrumen aplikasi Anda, perbarui ke versi terbaru add-on.

  3. Perbarui CloudWatch Agen — Perbarui ke versi CloudWatch agen 1.300069.0 atau yang lebih baru.

Jika Anda menggunakan Amazon EKS, lihat Aktifkan aplikasi Anda di cluster Amazon EKS petunjuk penyiapan add-on.

Fitur diaktifkan secara default

Jika Anda menggunakan CloudWatch Sinyal Aplikasi, sinyal peristiwa layanan berikut di aktifkan secara default tanpa konfigurasi tambahan yang diperlukan:

  • Snapshot insiden (dipicu pada pengecualian dan pelanggaran ambang latensi)

  • Metrik kesalahan (jumlah kesalahan per jenis pengecualian per operasi)

  • Peristiwa penerapan (selalu dipancarkan; diperkaya saat Anda memberikan metadata penerapan)

  • Instrumentasi fungsi (diaktifkan secara default, tetapi tidak menghasilkan metrik sampai Anda mengonfigurasi paket ke instrumen)

Fitur-fitur berikut adalah opt-in dan memerlukan pengaturan variabel lingkungan untuk menghasilkan data:

  • Function-level metrik (memerlukan konfigurasiOTEL_AWS_SERVICE_EVENTS_PACKAGES_INCLUDE)

  • Pemfilteran titik akhir khusus

  • Per-endpoint ambang latensi

Pengaturan umum

Variabel lingkungan Default Deskripsi
OTEL_AWS_SERVICE_EVENTS_ENABLED Mengikuti CloudWatch Sinyal Aplikasi Beralih untuk Acara Layanan. Acara Layanan secara otomatis diaktifkan saat CloudWatch Sinyal Aplikasi diaktifkan. Setel false untuk menonaktifkan secara eksplisit.
OTEL_AWS_SERVICE_EVENTS_SAMPLING_MODE always Mengontrol strategi pengambilan sampel data panggilan fungsi. Nilai: always (rekam semua panggilan fungsi), auto (biarkan SDK memutuskan berdasarkan beban), never (nonaktifkan perekaman panggilan fungsi). Hanya berlaku ketika paket instrumentasi fungsi dikonfigurasi.

Aktifkan instrumentasi fungsi

Instrumentasi fungsi diaktifkan secara default, tetapi tidak menghasilkan metrik sampai Anda mengonfigurasi paket mana yang akan diinstrumen. Berikan daftar izin paket untuk mulai mengumpulkan telemetri per fungsi:

Variabel lingkungan Default Deskripsi
OTEL_AWS_SERVICE_EVENTS_FUNCTION_INSTRUMENT_ENABLED true Mengaktifkan atau menonaktifkan instrumentasi tingkat fungsi. Setel false untuk menonaktifkan sepenuhnya.
OTEL_AWS_SERVICE_EVENTS_PACKAGES_INCLUDE Tidak ada (diperlukan untuk metrik) Comma-separated daftar prefiks paket untuk instrumen. Tidak diperlukan wildcard. Misalnya: Java menggunakancom.myapp, Python menggunakanmyapp, Node.js menggunakansrc/myapp.
OTEL_AWS_SERVICE_EVENTS_PACKAGES_EXCLUDE Tidak ada Comma-separated daftar sub-paket untuk dikecualikan dari instrumentasi. Mengecualikan selalu diutamakan daripada termasuk. Misalnya, sertakan com.myapp dan kecualikan com.myapp.models untuk instrumen kode aplikasi Anda tetapi lewati kelas model data.

Pemfilteran titik akhir

Penyaringan titik akhir mengontrol titik akhir mana yang menghasilkan metrik kesalahan titik akhir dan snapshot insiden. Pengaturan ini tidak mempengaruhi instrumentasi fungsi.

Variabel lingkungan Default Deskripsi
OTEL_AWS_SERVICE_EVENTS_ENDPOINT_INCLUDE_PATTERNS Semua titik akhir Comma-separated pola glob dari titik akhir untuk disertakan. Cocokkan melawanMETHOD /route.
OTEL_AWS_SERVICE_EVENTS_ENDPOINT_EXCLUDE_PATTERNS Tidak ada Comma-separated pola glob dari titik akhir untuk dikecualikan. Kecualikan diutamakan ketika titik akhir cocok dengan keduanya.

Ambang batas latensi

Gunakan variabel lingkungan berikut untuk mengonfigurasi ambang latensi untuk pemicu snapshot insiden.

Variabel lingkungan Default Deskripsi
OTEL_AWS_SERVICE_EVENTS_INCIDENT_SNAPSHOT_DURATION_THRESHOLD_MS 5000 Ambang latensi global dalam milidetik. Permintaan yang melebihi durasi ini memicu snapshot insiden.
OTEL_AWS_SERVICE_EVENTS_LATENCY_THRESHOLDS Tidak ada Per-endpoint ambang latensi yang menggantikan default global. Format: METHOD /route:ms (misalnya,GET /health:200,POST /checkout:8000).

Pembatasan tarif

Gunakan variabel lingkungan berikut untuk mengontrol tingkat pengumpulan dan laporan data peristiwa layanan.

Variabel lingkungan Default Deskripsi
OTEL_AWS_SERVICE_EVENTS_INCIDENT_SNAPSHOT_MAX_PER_MINUTE 100 Jumlah maksimum snapshot insiden yang diambil per menit.
OTEL_AWS_SERVICE_EVENTS_INCIDENT_SNAPSHOT_MAX_SAME_ERROR 1 Jumlah maksimum snapshot untuk kesalahan yang sama per jendela tangkapan.

Konfigurasikan acara penerapan

Peristiwa penerapan selalu dipancarkan saat startup aplikasi dan setiap 24 jam. Menyediakan metadata penerapan memperkaya peristiwa ini sehingga Anda dapat menghubungkan insiden dan perubahan kinerja dengan penerapan kode tertentu.

Tetapkan variabel lingkungan berikut pada wadah atau proses aplikasi Anda untuk menyediakan metadata penerapan:

Variabel lingkungan Deskripsi
OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA Git melakukan SHA dari kode yang digunakan.
OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL URL repositori Git.
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID Pengidentifikasi unik untuk penerapan (misalnya, ID run CI/CD pipeline).
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP Stempel waktu ISO 8601 dari penerapan.
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL URL build penerapan atau dijalankan pipeline.

Konfigurasikan peristiwa penerapan dengan Tind GitHub akan

Dalam alur GitHub kerja Tindakan Anda, gunakan variabel lingkungan bawaan untuk mengisi metadata penerapan. Tambahkan yang berikut ini ke langkah penerapan atau lingkungan kontainer Anda:

env: OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA: ${{ github.sha }} OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL: ${{ github.server_url }}/${{ github.repository }} OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID: ${{ github.run_id }} OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP: $(date -u +%Y-%m-%dT%H:%M:%SZ) OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}

Jika Anda menerapkan image kontainer, berikan nilai-nilai ini sebagai variabel lingkungan dalam definisi tugas atau spesifikasi pod Anda. Anda dapat memanggangnya ke dalam gambar pada waktu pembuatan atau menyuntikkannya pada waktu penerapan melalui konfigurasi penerapan Anda.

Konfigurasikan acara penerapan dengan GitLab CI/CD

Dalam GitLab CI/CD pipeline Anda, gunakan CI/CD variabel yang telah ditentukan untuk mengisi metadata penerapan. Tambahkan yang berikut ini ke pekerjaan penerapan Anda:

deploy: variables: OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA: $CI_COMMIT_SHA OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL: $CI_PROJECT_URL OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID: $CI_PIPELINE_ID OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP: $(date -u +%Y-%m-%dT%H:%M:%SZ) OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL: $CI_PIPELINE_URL

Teruskan variabel ini ke wadah aplikasi Anda pada waktu penerapan melalui platform orkestrasi kontainer Anda (misalnya, sebagai variabel lingkungan dalam definisi tugas Amazon ECS atau manifes penerapan Kubernetes).