View a markdown version of this page

Memantau acara kenari dengan Amazon EventBridge - Amazon CloudWatch

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

Memantau acara kenari dengan Amazon EventBridge

A EventBridge turan acara Amazon dapat memberi tahu Anda ketika burung kenari mengubah status atau menyelesaikan proses. EventBridgememberikan aliran peristiwa sistem yang hampir real-time yang menggambarkan perubahan AWS sumber daya. CloudWatch Sintetis mengirimkan acara- EventBridge acara ini berdasarkan upaya terbaik. Pengiriman upaya terbaik berarti bahwa CloudWatch Synthetics mencoba mengirim semua acara ke EventBridge, tetapi dalam beberapa kasus yang jarang terjadi, acara mungkin tidak disampaikan. EventBridge memproses semua peristiwa yang diterima setidaknya sekali. Selain itu, pendengar peristiwa Anda mungkin tidak menerima peristiwa dalam urutan peristiwa yang terjadi.

catatan

Amazon EventBridge adalah layanan bus acara yang dapat Anda gunakan untuk menghubungkan aplikasi Anda dengan data dari berbagai sumber. Untuk informasi lebih lanjut, lihat Apa itu Amazon EventBridge? dalam Panduan EventBridge Pengguna Amazon.

CloudWatch Sintetis memancarkan peristiwa ketika burung kenari mengubah keadaan atau menyelesaikan lari. Anda dapat membuat EventBridge aturan yang menyertakan pola peristiwa untuk mencocokkan semua jenis peristiwa yang dikirim dari CloudWatch Synthetics, atau yang hanya cocok dengan jenis peristiwa tertentu. Ketika burung kenari memicu aturan, EventBridge memanggil tindakan target yang ditentukan dalam aturan. Hal ini memungkinkan Anda untuk mengirim notifikasi, menangkap informasi peristiwa, dan mengambil tindakan korektif, dalam menanggapi perubahan status canary atau selesainya sebuah run canary. Sebagai contoh, Anda dapat membuat aturan untuk kasus penggunaan berikut:

  • Investigasi ketika operasi canary gagal

  • Investigasi ketika canary telah masuk ke status ERROR

  • Menelusuri siklus hidup canary

  • Memantau keberhasilan atau kegagalan menjalankan canary sebagai bagian dari alur kerja

Contoh peristiwa dari CloudWatch Synthetics

Bagian ini mencantumkan contoh peristiwa dari CloudWatch Synthetics. Untuk informasi selengkapnya tentang format acara, lihat A cara dan Pola Acara di EventBridge.

Perubahan status canary

Dalam jenis peristiwa ini, nilai-nilai dari current-state dan previous-state dapat berupa berikut:

CREATING | READY | STARTING | RUNNING | UPDATING | STOPPING | STOPPED | ERROR

{ "version": "0", "id": "8a99ca10-1e97-2302-2d64-316c5dedfd61", "detail-type": "Synthetics Canary Status Change", "source": "aws.synthetics", "account": "123456789012", "time": "2021-02-09T22:19:43Z", "region": "us-east-1", "resources": [], "detail": { "account-id": "123456789012", "canary-id": "EXAMPLE-dc5a-4f5f-96d1-989b75a94226", "canary-name": "events-bb-1", "current-state": "STOPPED", "previous-state": "UPDATING", "source-location": "NULL", "updated-on": 1612909161.767, "changed-config": { "executionArn": { "previous-value": "arn:aws:lambda:us-east-1:123456789012:function:cwsyn-events-bb-1-af3e3a05-dc5a-4f5f-96d1-989EXAMPLE:1", "current-value": "arn:aws:lambda:us-east-1:123456789012:function:cwsyn-events-bb-1-af3e3a05-dc5a-4f5f-96d1-989EXAMPLE:2" }, "vpcId": { "current-value": "NULL" }, "testCodeLayerVersionArn": { "previous-value": "arn:aws:lambda:us-east-1:123456789012:layer:cwsyn-events-bb-1-af3e3a05-dc5a-4f5f-96d1-989EXAMPLE:1", "current-value": "arn:aws:lambda:us-east-1:123456789012:layer:cwsyn-events-bb-1-af3e3a05-dc5a-4f5f-96d1-989EXAMPLE:2" } }, "message": "Canary status has changed" } }

Eksekusi canary yang berhasil telah selesai

{ "version": "0", "id": "989EXAMPLE-f4a5-57a7-1a8f-d9cc768a1375", "detail-type": "Synthetics Canary TestRun Successful", "source": "aws.synthetics", "account": "123456789012", "time": "2021-02-09T22:24:01Z", "region": "us-east-1", "resources": [], "detail": { "account-id": "123456789012", "canary-id": "989EXAMPLE-dc5a-4f5f-96d1-989b75a94226", "canary-name": "events-bb-1", "canary-run-id": "c6c39152-8f4a-471c-9810-989EXAMPLE", "artifact-location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/events-bb-1-ec3-28ddbe266797/2021/02/09/22/23-41-200", "test-run-status": "PASSED", "state-reason": "null", "canary-run-timeline": { "started": 1612909421, "completed": 1612909441 }, "message": "Test run result is generated successfully" } }

Eksekusi canary yang gagal telah selesai

{ "version": "0", "id": "2644b18f-3e67-5ebf-cdfd-bf9f91392f41", "detail-type": "Synthetics Canary TestRun Failure", "source": "aws.synthetics", "account": "123456789012", "time": "2021-02-09T22:24:27Z", "region": "us-east-1", "resources": [], "detail": { "account-id": "123456789012", "canary-id": "af3e3a05-dc5a-4f5f-96d1-9989EXAMPLE", "canary-name": "events-bb-1", "canary-run-id": "0df3823e-7e33-4da1-8194-b04e4d4a2bf6", "artifact-location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/events-bb-1-ec3-989EXAMPLE/2021/02/09/22/24-21-275", "test-run-status": "FAILED", "state-reason": "\"Error: net::ERR_NAME_NOT_RESOLVED \"" "canary-run-timeline": { "started": 1612909461, "completed": 1612909467 }, "message": "Test run result is generated successfully" } }

Ada kemungkinan bahwa peristiwa dapat diduplikasi atau rusak. Untuk menentukan urutan peristiwa, gunakan properti time ini.

Prasyarat untuk membuat EventBridge aturan

Sebelum Anda membuat EventBridge aturan untuk CloudWatch Synthetics, Anda harus melakukan hal berikut:

  • Biasakan diri Anda dengan acara, aturan, dan target di dalamnya EventBridge.

  • Buat dan konfigurasikan target yang dipanggil oleh EventBridge aturan Anda. Aturan dapat menginvokasi berbagai jenis target, termasuk:

    • Topik Amazon SNS

    • AWS Lambda fungsi

    • Aliran Kinesis

    • Antrean Amazon SQS

Untuk informasi lebih lanjut, lihat Apa itu Amazon EventBridge? dan Memulai dengan Amazon EventBridge di Panduan EventBridge Pengguna Amazon.

Buat EventBridge aturan (CLI)

Langkah-langkah dalam contoh berikut membuat EventBridge aturan yang menerbitkan topik Amazon SNS saat burung kenari yang disebutkan my-canary-name di us-east-1 menyelesaikan status run atau berubah.

  1. Buat aturan.

    aws events put-rule \ --name TestRule \ --region us-east-1 \ --event-pattern "{\"source\": [\"aws.synthetics\"], \"detail\": {\"canary-name\": [\"my-canary-name\"]}}"

    Properti apa pun yang Anda hilangkan dari pola akan diabaikan.

  2. Tambahkan topik sebagai target aturan.

    • Ganti topic-arn dengan Nama Sumber Daya Amazon (ARN) dari topik Amazon SNS Anda.

    aws events put-targets \ --rule TestRule \ --targets "Id"="1","Arn"="topic-arn"
    catatan

    Untuk mengiz EventBridge inkan Amazon memanggil topik target Anda, Anda harus menambahkan kebijakan berbasis sumber daya ke topik Anda. Untuk informasi selengkapnya, lihat izin Amazon SNS di Panduan EventBridge Pengguna Amazon.

Untuk informasi selengkapnya, lihat Acara dan pola peristiwa EventBridge di Panduan EventBridge Pengguna Amazon.