View a markdown version of this page

Memantau fungsi tahan lama - AWS Lambda

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

Memantau fungsi tahan lama

Anda dapat memantau fungsi tahan lama Anda menggunakan CloudWatch metrik, CloudWatch Log, dan penelusuran. Karena fungsi tahan lama dapat berjalan untuk waktu yang lama dan menjangkau beberapa pemanggilan fungsi, pemantauannya memerlukan pemahaman pola eksekusi uniknya, termasuk pos pemeriksaan, transisi status, dan perilaku replay.

CloudWatch metrik

Lambda secara otomatis menerbitkan metrik tanpa CloudWatch biaya tambahan. Fungsi tahan lama menyediakan metrik tambahan di luar metrik Lambda standar untuk membantu Anda memantau alur kerja yang berjalan lama, manajemen status, dan pemanfaatan sumber daya.

Metrik eksekusi yang tahan lama

Lambda memancarkan metrik berikut untuk eksekusi tahan lama:

Metrik Deskripsi
ApproximateRunningDurableExecutions Jumlah eksekusi tahan lama dalam status RUNNING
ApproximateRunningDurableExecutionsUtilization Persentase kuota eksekusi tahan lama maksimum akun Anda yang saat ini digunakan
DurableExecutionDuration Waktu jam dinding yang berlalu dalam milidetik sehingga eksekusi yang tahan lama tetap dalam keadaan RUNNING
DurableExecutionStarted Jumlah eksekusi tahan lama yang dimulai
DurableExecutionStopped Jumlah eksekusi tahan lama yang berhenti menggunakan API StopDurableExecution
DurableExecutionSucceeded Jumlah eksekusi tahan lama yang berhasil diselesaikan
DurableExecutionFailed Jumlah eksekusi tahan lama yang diselesaikan dengan kegagalan
DurableExecutionTimedOut Jumlah eksekusi tahan lama yang melebihi batas waktu eksekusi yang dikonfigurasi
DurableExecutionOperations Jumlah operasi kumulatif yang dilakukan dalam eksekusi yang tahan lama (maks: 3.000)
DurableExecutionStorageWrittenBytes Jumlah kumulatif data dalam byte dipertahankan oleh eksekusi yang tahan lama (maks: 100 MB)

CloudWatch metrik

Lambda memancarkan metrik pemanggilan, kinerja, dan konkurensi standar untuk fungsi yang tahan lama. Karena eksekusi yang tahan lama dapat mencakup beberapa pemanggilan fungsi saat berlangsung melalui pos pemeriksaan dan pemutaran ulang, metrik ini berperilaku berbeda dari fungsi standar:

  • Pemanggilan: Menghitung setiap pemanggilan fungsi, termasuk pemutaran ulang. Eksekusi tahan lama tunggal dapat menghasilkan beberapa titik data pemanggilan.

  • Durasi: Meng ukur setiap pemanggilan fungsi secara terpisah. Gunakan DurableExecutionDuration untuk total waktu yang dibutuhkan oleh satu eksekusi tahan lama.

  • Kesalahan: Melacak kegagalan pemanggilan fungsi. Gunakan DurableExecutionFailed untuk kegagalan tingkat eksekusi.

Untuk daftar lengkap metrik Lambda standar, lihat Jenis metrik untuk fungsi Lambda.

Membuat CloudWatch alarm

Buat CloudWatch alarm untuk memberi tahu Anda saat metrik melebihi ambang batas. Alarm umum meliputi:

  • ApproximateRunningDurableExecutionsUtilizationmelebihi 80% dari kuota Anda

  • DurableExecutionFailedmeningkat di atas ambang batas

  • DurableExecutionTimedOutmenunjukkan waktu eksekusi habis

  • DurableExecutionStorageWrittenBytesmendekati batas penyimpanan

Untuk informasi selengkapnya, lihat Menggunakan CloudWatch alarm.

EventBridge acara

Lambda menerbitkan peristiwa perubahan status eksekusi tahan lama ke EventBridge. Anda dapat menggunakan peristiwa ini untuk memicu alur kerja, mengirim pemberitahuan, atau melacak perubahan siklus hidup eksekusi di seluruh fungsi tahan lama Anda.

Peristiwa perubahan status eksekusi yang tahan lama

Lambda memancarkan peristiwa EventBridge setiap kali eksekusi tahan lama berubah status. Peristiwa ini memiliki karakteristik sebagai berikut:

  • Sumber: aws.lambda

  • Tipe detail: Durable Execution Status Change

Peristiwa perubahan status dipublikasikan untuk status eksekusi berikut:

  • RUNNING- Eksekusi dimulai

  • SUCCEEDED- Eksekusi selesai dengan sukses

  • STOPPED- Eksekusi berhenti menggunakan StopDurableExecution API

  • FAILED- Eksekusi gagal dengan kesalahan

  • TIMED_OUT- Eksekusi melebihi batas waktu yang dikonfigurasi

Contoh berikut menunjukkan peristiwa perubahan status eksekusi yang tahan lama:

{ "version": "0", "id": "d019b03c-a8a3-9d58-85de-241e96206538", "detail-type": "Durable Execution Status Change", "source": "aws.lambda", "account": "123456789012", "time": "2025-11-20T13:08:22Z", "region": "us-east-1", "resources": [], "detail": { "durableExecutionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST/durable-execution/090c4189-b18b-4296-9d0c-cfd01dc3a122/9f7d84c9-ea3d-3ffc-b3e5-5ec51c34ffc9", "durableExecutionName": "order-123", "functionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:2", "status": "RUNNING", "startTimestamp": "2025-11-20T13:08:22.345Z" } }

Untuk status terminal (SUCCEEDED,STOPPED,FAILED,TIMED_OUT), acara menyertakan endTimestamp bidang yang menunjukkan kapan eksekusi selesai.

Membuat EventBridge aturan

Buat EventBridge aturan untuk merutekan peristiwa perubahan status eksekusi yang tahan lama ke target seperti Amazon Simple Notification Service, Amazon Simple Queue Service, atau fungsi Lambda lainnya.

Contoh berikut membuat aturan yang cocok dengan semua perubahan status eksekusi tahan lama:

{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"] }

Contoh berikut membuat aturan yang hanya cocok dengan eksekusi yang gagal:

{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"], "detail": { "status": ["FAILED"] } }

Contoh berikut membuat aturan yang cocok dengan perubahan status untuk fungsi tertentu:

{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"], "detail": { "functionArn": [{ "prefix": "arn:aws:lambda:us-east-1:123456789012:function:my-function" }] } }

Untuk informasi selengkapnya tentang membuat EventBridge aturan, lihat EventBridge tutorial Amazon di Panduan EventBridge Pengguna.

Menggunakan antrian surat mati dengan acara EventBridge

EventBridge peristiwa perubahan status memberikan pemberitahuan waktu nyata ketika eksekusi tahan lama memasuki status FAILED, STOPED, atau TIMED_OUT, tetapi tidak menyertakan payload peristiwa asli yang memicu eksekusi. Untuk menangkap peristiwa pemicu untuk analisis atau pemrosesan ulang nanti, konfigurasikan antrean huruf mati (DLQ) pada fungsi tahan lama Anda.

Ketika eksekusi tahan lama gagal setelah pemanggilan asinkron, Lambda mengirimkan peristiwa pemicu asli ke DLQ yang dikonfigurasi. Gunakan EventBridge acara dan DLQ bersama-sama untuk strategi penanganan kegagalan yang komprehensif:

  • EventBridge peristiwa — Memicu peringatan langsung, memperbarui dasbor, atau memulai alur kerja remediasi saat eksekusi gagal.

  • Dead-letter antrian — Pertahankan payload peristiwa asli sehingga Anda dapat memeriksa apa yang menyebabkan kegagalan, men-debug masalah, dan secara opsional memproses ulang acara setelah memperbaiki masalah yang mendasarinya.

Untuk informasi tentang mengonfigurasi DLQ pada fungsi Anda, lihat Dead-letter antrian.

AWS X-Ray melacak

Anda dapat mengaktifkan pel X-Ray acakan pada fungsi tahan lama Anda. Lambda meneruskan header X-Ray jejak ke eksekusi tahan lama, memungkinkan Anda untuk melacak permintaan di seluruh alur kerja Anda.

Untuk mengaktifkan X-Ray; pelacakan menggunakan konsol Lambda, pilih fungsi Anda, lalu pilih Alat Konfigurasi, Pemantauan dan operasi, dan aktifkan Pelacakan aktif di bawah X-Ray.

Untuk mengaktifkan X-Ray pelacakan menggunakan AWS CLI:

aws lambda update-function-configuration \ --function-name my-durable-function \ --tracing-config Mode=Active

Untuk mengaktifkan pel AWS X-Ray acakan menggunakan AWS SAM:

Resources: MyDurableFunction: Type: AWS::Serverless::Function Properties: Tracing: Active DurableConfig: ExecutionTimeout: 3600

Untuk informasi selengkap X-Ray nya, lihat Panduan Peng AWS X-Ray embang.