Memantau peristiwa 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 peristiwa kenari dengan Amazon EventBridge

Aturan EventBridge acara Amazon dapat memberi tahu Anda saat kenari mengubah status atau menyelesaikan proses. EventBridgememberikan near-real-time aliran peristiwa sistem yang menggambarkan perubahan AWS sumber daya. CloudWatch Synthetics mengirimkan acara ini ke EventBridge atas dasar upaya terbaik. Penyampaian upaya terbaik berarti bahwa CloudWatch Synthetics mencoba mengirim semua acara ke EventBridge, tetapi dalam beberapa kasus yang jarang terjadi suatu peristiwa mungkin tidak terkirim. EventBridge memproses semua acara 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 selengkapnya, lihat Apa itu Amazon EventBridge? di Panduan EventBridge Pengguna Amazon.

CloudWatch Synthetics memancarkan peristiwa ketika kenari mengubah status atau menyelesaikan proses. Anda dapat membuat EventBridge aturan yang menyertakan pola acara agar sesuai dengan semua jenis acara yang dikirim dari CloudWatch Synthetics, atau yang hanya cocok dengan jenis peristiwa tertentu. Ketika 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 Peristiwa dan Pola Peristiwa 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 aturan EventBridge

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

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

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

    • SNSTopik Amazon

    • AWS Lambda fungsi

    • Aliran Kinesis

    • SQSAntrian Amazon

Untuk informasi selengkapnya, lihat Apa itu Amazon EventBridge? dan Memulai Amazon EventBridge di Panduan EventBridge Pengguna Amazon.

Buat EventBridge aturan (CLI)

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

  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 SNS topik Amazon Anda.

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

    Untuk mengizinkan Amazon EventBridge memanggil topik target Anda, Anda harus menambahkan kebijakan berbasis sumber daya ke topik Anda. Untuk informasi selengkapnya, lihat SNSIzin Amazon di Panduan EventBridge Pengguna Amazon.

Untuk informasi selengkapnya, lihat Peristiwa dan pola acara EventBridge di Panduan EventBridge Pengguna Amazon.