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

Acara Layanan menyediakan observabilitas mendalam otomatis untuk layanan yang dipantau dengan Sinyal CloudWatch Aplikasi. Ini menangkap metrik kesalahan, data kinerja tingkat fungsi, snapshot insiden (ketika permintaan melebihi ambang batas latensi atau membuang pengecualian), dan peristiwa penerapan — tanpa perubahan kode tambahan.

Cara kerja acara layanan

Acara Layanan mengumpulkan jenis sinyal berikut dari layanan instrumentasi Anda:

  • Metrik kesalahan — jumlah Per-exception-type kesalahan dan tarif 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.

  • Cuplikan insiden — Tangkapan mendetail dipicu saat permintaan melebihi ambang latensi atau melempar pengecualian, termasuk jejak tumpukan, pohon panggilan, detail pemanggil, dan konteks operasi.

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

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

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

catatan

Acara Layanan dinonaktifkan secara otomatis di lingkungan Lambda.

Penyimpanan data

Acara Layanan 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 konsumsi log dan penyimpanan dengan tarif Log standar CloudWatch .

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 jumlah 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 jejak tumpukan, pesan pengecualian, dan tautan ke jejak terkait.

Kesalahan dikelompokkan berdasarkan operasi, tipe 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 Kesalahan menampilkan prompt orientasi.

Lihat acara layanan di log

Data Peristiwa Layanan disimpan di CloudWatch Log di bawah grup log dengan awalan/aws/service-events/service-name. Anda dapat melakukan kueri data ini secara langsung menggunakan Wawasan CloudWatch Log untuk membuat tampilan kustom, membuat dasbor, atau menyelidiki insiden tertentu.

Untuk menanyakan acara layanan:

  1. Buka CloudWatch konsol dan arahkan ke Wawasan Log.

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

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

Acara layanan di server CloudWatch Application Signals MCP (Model Context Protocol)

Data peristiwa layanan dapat diakses melalui server CloudWatch Application 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 jejak tumpukan penuh dan titik akhir yang terpengaruh.

  • Gunakan konteks insiden (jenis pengecualian, jalur panggilan, ID jejak) 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 kemacetan 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 AWS Distro for OpenTelemetry (ADOT) instrumentasi SDK 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 add-on terbaru.

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

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

Fitur diaktifkan secara default

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

  • Cuplikan insiden (dipicu pada pengecualian dan pelanggaran ambang batas latensi)

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

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

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

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

  • Function-level metrik (membutuhkan konfigurasiOTEL_AWS_SERVICE_EVENTS_PACKAGES_INCLUDE)

  • Penyaringan titik akhir kustom

  • Per-endpoint ambang batas latensi

Pengaturan umum

Variabel lingkungan Default Deskripsi
OTEL_AWS_SERVICE_EVENTS_ENABLED Mengikuti Sinyal CloudWatch Aplikasi Beralih untuk Acara Layanan. Acara Layanan diaktifkan secara otomatis saat Sinyal CloudWatch Aplikasi diaktifkan. Setel false ke menonaktifkan secara eksplisit.
OTEL_AWS_SERVICE_EVENTS_SAMPLING_MODE always Mengontrol strategi pengambilan sampel data panggilan fungsi. Nilai: always (merekam semua panggilan fungsi), auto (biarkan SDK memutuskan berdasarkan beban), never (nonaktifkan perekaman fungsi-panggilan). 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 menjadi instrumen. 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 seluruhnya.
OTEL_AWS_SERVICE_EVENTS_PACKAGES_INCLUDE Tidak ada (diperlukan untuk metrik) Comma-separated daftar awalan paket untuk instrumen. Tidak perlu wildcard. Misalnya: penggunaan Javacom.myapp, penggunaan Pythonmyapp, Node.js menggunakan. src/myapp
OTEL_AWS_SERVICE_EVENTS_PACKAGES_EXCLUDE Tidak ada Comma-separated daftar sub-paket untuk dikecualikan dari instrumentasi. Kecualikan selalu diutamakan daripada include. Misalnya, sertakan com.myapp dan kecualikan com.myapp.models untuk instrumen kode aplikasi Anda tetapi lewati kelas model data.

Penyaringan titik akhir

Pemfilteran 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 titik akhir untuk disertakan. Cocokkan melawanMETHOD /route.
OTEL_AWS_SERVICE_EVENTS_ENDPOINT_EXCLUDE_PATTERNS Tidak ada Comma-separated pola glob titik akhir untuk dikecualikan. Exclude 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 batas latensi yang mengesampingkan default global. Format: METHOD /route:ms (misalnya,GET /health:200,POST /checkout:8000).

Pembatasan tarif

Gunakan variabel lingkungan berikut untuk mengontrol tingkat di mana data peristiwa layanan dikumpulkan dan dilaporkan.

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 pengambilan.

Konfigurasikan peristiwa penerapan

Acara penyebaran selalu dipancarkan saat startup aplikasi dan setiap 24 jam. Menyediakan metadata penerapan akan memperkaya peristiwa ini sehingga Anda dapat mengkorelasikan 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 commit SHA dari kode yang diterapkan.
OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL URL dari repositori Git.
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID Pengidentifikasi unik untuk penerapan (misalnya, ID CI/CD pipeline run).
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP Stempel waktu penerapan ISO 8601.
OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL URL build penerapan atau pipeline run.

Konfigurasikan peristiwa penerapan dengan Tindakan GitHub

Dalam alur kerja GitHub 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 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 peristiwa 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-variabel ini ke container aplikasi Anda pada waktu penerapan melalui platform orkestrasi container Anda (misalnya, sebagai variabel lingkungan dalam definisi tugas Amazon ECS atau manifes penerapan Kubernetes).