All Products
Search
Document Center

Elastic Compute Service:Berlangganan event Cloud Assistant menggunakan EventBridge dan Cloud Monitor

Last Updated:Mar 01, 2026

Berlangganan event Cloud Assistant untuk membangun alur kerja respons operasi dan pemeliharaan otomatis. Misalnya, Anda dapat langsung menerima peringatan ketika tugas otomatis—seperti menginstal perangkat lunak atau menjalankan skrip inspeksi—gagal. Hal ini menghilangkan kebutuhan akan polling manual yang mahal dan berlatensi tinggi.

Prosedur

Prosedur berikut menggunakan langganan ke event status tugas Cloud Assistant sebagai contoh. Untuk informasi lebih lanjut, lihat Deskripsi event Cloud Assistant.

Gunakan EventBridge untuk berlangganan event Cloud Assistant

Sebelum memulai, pastikan Anda telah mengaktifkan EventBridge dan memberikan izin yang diperlukan.

  1. Masuk ke EventBridge console. Di panel navigasi sebelah kiri, klik Event Buses.

  2. Di bilah menu atas, pilih wilayah.

  3. Pada halaman Event Buses, klik default.

  4. Pada halaman Event Buses, klik Event Rules di panel navigasi sebelah kiri, lalu klik Create Rule.

  5. Pada tab Configure Basic Info, masukkan nama di kotak teks Name dan deskripsi di kotak teks Description. Lalu, klik Next.

  6. Pada tab Configure Event Pattern, lengkapi konfigurasi berikut lalu klik Next.

    1. Dari daftar drop-down Event Source, pilih acs.ecs.

    2. Dari daftar drop-down Event Type, pilih jenis event Cloud Assistant yang ingin Anda langgani.

      Event status tugas Cloud Assistant: ecs:CloudAssistant:TaskCompleted.

    3. Di bagian Event Pattern Debugging, lihat contoh event yang dilanggan.

      {
          "id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
          "source": "acs.ecs",
          "specversion": "1.0",
          "subject": "acs.ecs:cn-hangzhou:123456789098****:215672",
          "time": "2020-11-19T21:04:41+08:00",
          "type": "ecs:CloudAssistant:TaskCompleted",
          "aliyunaccountid": "123456789098****",
          "aliyunpublishtime": "2020-11-19T21:04:42Z",
          "aliyuneventbusname": "default",
          "aliyunregionid": "cn-hangzhou",
          "aliyunpublishaddr": "172.25.XX.XX",
          "data": {
              "commandId": "c-hz045**********",
              "commandName": "hello-linux.sh",
              "exitCode": "0",
              "finishTime": "2023-12-14T07:39:48Z",
              "instanceId": "i-bp114***************",
              "invocationStatus": "Success",
              "invokeId": "t-hz045**********",
              "ownerId": "158*************",
              "playerUid": "256***************",
              "repeatMode": "Once",
              "repeats": "1",
              "startTime": "2023-12-14T07:39:48Z",
              "errorCode": "0",
              "errorDesc": ""
          }
      }
    4. Di bawah contoh tersebut, klik Test untuk mensimulasikan pemicu event. Jika muncul pesan Match Succeeded. The event can be triggered as expected, artinya event telah dikonfigurasi untuk dipicu sesuai harapan.

  7. Konfigurasikan target event. Pilih Service Type dan konfigurasikan skenario dorong.

    Untuk informasi lebih lanjut tentang skenario dorong, lihat Set push scenarios.

Gunakan Cloud Monitor untuk berlangganan event Cloud Assistant

  1. Masuk ke Cloud Monitor console.

  2. Di panel navigasi sebelah kiri, pilih Event Center > Event Subscription.

  3. Pada tab Subscription Policy, klik Create Subscription Policy.

  4. Pada halaman Create Subscription Policy, konfigurasikan parameter untuk berlangganan event Cloud Assistant.

    Contoh ini hanya menampilkan parameter yang terkait dengan event Cloud Assistant. Untuk informasi lebih lanjut, lihat Parameter kebijakan langganan.
    • Subscription Type: Pilih System Events.

    • Subscription Scope:

      • Product: Pilih Elastic Compute Service (ECS).

      • Event Type: Pilih Notifications.

      • Event Name: Pilih Cloud Assistant Task Status Event.

  5. Setelah konfigurasi selesai, klik Submit.

    Saat event terkait dipicu, Anda akan menerima notifikasi. Anda juga dapat memanggil operasi DescribeSystemEventAttribute untuk mengkueri detail event sistem.

Deskripsi event Cloud Assistant

Event status tugas Cloud Assistant

Deskripsi event

Perintah dan skrip memerlukan waktu untuk dijalankan. Event status tugas Cloud Assistant membantu Anda melacak penyelesaian tugas. Anda dapat menggunakan event ini untuk tujuan berikut:

  • Menerima notifikasi saat tugas Cloud Assistant gagal atau selesai. Anda dapat menggunakan notifikasi tersebut untuk peringatan atau operasi lanjutan.

  • Polling menghabiskan kuota panggilan API Anda. Untuk menghindarinya, gunakan langganan event sebagai gantinya.

  • Cegah gangguan akibat rilis aplikasi, yang dapat terjadi selama proses polling panjang. Penggunaan event menyederhanakan alur kerja Anda.

Kondisi pemicu dan batasan

Kondisi pemicu: Saat Anda memanggil operasi RunCommand atau InvokeCommand untuk menjalankan tugas, Cloud Assistant memantau status tugas tersebut. Event status tugas dikirim saat tugas selesai.

Batasan:

  • Event status tugas Cloud Assistant hanya dikirim saat tugas pada instans ECS memasuki salah satu status akhir berikut (InvocationStatus):

    • Aborted: Tugas gagal dikirim.

    • Success: Tugas berhasil.

    • Failed: Tugas gagal.

    • Invalid: Konten tugas tidak valid.

    • Timeout: Waktu eksekusi tugas habis.

    • Cancelled: Tugas dibatalkan.

    • Terminated: Tugas dihentikan.

  • Operasi DescribeInvocations dan DescribeInvocationResults mengembalikan data dalam format array<object>. Namun, event status tugas hanya melaporkan status satu tugas pada satu instans, bukan beberapa tugas sekaligus.

Field event

Field

Description

Example

instanceId

ID instans.

i-bp114***************

invokeId

ID eksekusi perintah.

t-hz045**********

commandId

ID perintah.

c-hz045**********

commandName

Nama perintah.

ACS-ECS-ResetPassword-for-linux.sh

ownerUid

Akun pemilik instans tempat perintah dijalankan.

158*************

playerUid

ID akun yang mengasumsikan role untuk menjalankan perintah.

256***************

repeatMode

Mode eksekusi perintah. Parameter ini diabaikan jika `InstanceId` juga ditentukan. Nilai yang valid:

  • Once: Menjalankan perintah segera.

  • Period: Menjalankan perintah sesuai jadwal.

  • NextRebootOnly: Menjalankan perintah saat instans dimulai ulang berikutnya.

  • EveryReboot: Menjalankan perintah setiap kali instans dimulai ulang.

Once

repeats

Jumlah kali perintah dijalankan pada instans.

  • Jika metode eksekusi langsung, nilainya 0 atau 1.

    • 0: Perintah gagal dikirim, dan skrip tidak dimulai.

    • 1: Perintah berhasil dikirim. Ini adalah pertama kalinya perintah dijalankan pada instans.

  • Jika `repeatMode` bernilai `Period`, nilainya adalah jumlah kali perintah telah dijalankan.

0

invocationStatus

Status eksekusi perintah.

  • Invalid: Jenis perintah atau parameter tidak valid.

  • Aborted: Perintah gagal dikirim ke instans. Instans harus dalam status `Running`, dan perintah harus dikirim dalam waktu 1 menit.

  • Success:

    • Perintah eksekusi sekali: Perintah selesai dan exit code-nya 0.

    • Perintah terjadwal: Eksekusi sebelumnya berhasil dengan exit code 0, dan waktu eksekusi yang ditentukan telah berakhir.

  • Failed:

    • Perintah eksekusi sekali: Perintah selesai, tetapi exit code-nya bukan 0.

    • Perintah terjadwal: Eksekusi sebelumnya berhasil dengan exit code bukan nol, dan jadwal eksekusi yang ditentukan akan dihentikan.

  • Timeout: Waktu eksekusi perintah habis.

  • Cancelled: Eksekusi perintah dibatalkan sebelum dimulai.

  • Terminated: Perintah dihentikan selama eksekusi.

Success

exitCode

Exit code dari proses perintah.

0

startTime

Waktu mulai tugas.

2023-12-20T06:15:55Z

finishTime

Waktu akhir tugas.

2023-12-20T06:15:59Z

errorCode

Kode kesalahan yang dikembalikan jika perintah gagal dikirim atau dijalankan.

0

errorDesc

Detail kegagalan pengiriman atau eksekusi perintah.

-

Event heartbeat pertama Cloud Assistant

Deskripsi event

Heartbeat Cloud Assistant merupakan salah satu cara untuk menentukan status sistem operasi instans. Heartbeat pertama menunjukkan kapan sistem operasi telah dimulai. Anda dapat menggunakan informasi ini untuk memeriksa kesehatan instans atau menentukan kapan harus mengirim perintah Cloud Assistant.

Menggunakan event heartbeat pertama alih-alih melakukan polling operasi DescribeCloudAssistantStatus menyelesaikan permasalahan berikut:

  • Mem-polling DescribeCloudAssistantStatus untuk memeriksa apakah status telah berubah menjadi `true` bersifat kompleks. Interval polling yang tidak tepat dapat menghasilkan terlalu banyak permintaan, sehingga memicu pembatasan kecepatan atau memberi beban pada sistem.

  • Waktu startup sistem operasi instans dapat sangat bervariasi. Beberapa instans Windows dapat membutuhkan waktu hingga 5 menit untuk memulai, sehingga sulit mengontrol durasi total polling.

  • Status yang dikembalikan oleh DescribeCloudAssistantStatus dapat mengalami keterlambatan. Terdapat jeda 2 menit antara saat heartbeat berhenti dan saat status berubah. Hal ini menyulitkan DescribeCloudAssistantStatus dalam mendeteksi restart instans.

Kondisi pemicu dan batasan

Kondisi pemicu: Saat Cloud Assistant melaporkan heartbeat, event heartbeat pertama dikirim jika terdeteksi bahwa ini adalah heartbeat pertama setelah client Cloud Assistant dimulai.

Batasan versi Cloud Assistant:

  • Instans Windows: Versi Cloud Assistant Agent harus lebih baru dari 1.0.0.149.

  • Instans Linux: Versi Cloud Assistant Agent harus lebih baru dari 1.0.2.569.

Versi Cloud Assistant yang lebih lama tidak melaporkan heartbeat setiap menit atau tidak melaporkan field indeks. Akibatnya, versi tersebut tidak dapat mengidentifikasi secara akurat heartbeat pertama setelah startup. Versi lama ini tidak didukung.

Field event

Field

Description

Example

bizEventId

ID event.

ea33c3e2-aaf0-****-****-5d49b1ecce99

vmName

ID instans yang terkait dengan event.

i-bp19****************

extensions

Informasi tentang ekspansi bisnis.

-

azone

zona.

cn-shenzhen-e

region

Wilayah.

cn-shenzhen

agentVersion

Versi Cloud Assistant Agent.

2.2.3.529

uptime

Lama waktu sistem operasi telah berjalan, dalam milidetik.

19000

Event hasil pengiriman output eksekusi tugas Cloud Assistant

Deskripsi event

  • Saat Anda menjalankan perintah, maksimal 24 KB output perintah disimpan. Output yang melebihi batas ini akan dipotong.

  • Jika Anda ingin mendapatkan output lengkap atau menyimpan output secara persisten, Anda dapat mengonfigurasi agar output dikirimkan ke path Object Storage Service (OSS) saat eksekusi perintah mencapai status akhir.

  • Anda dapat menggunakan event ini untuk tujuan berikut:

    • Menerima notifikasi dan detail tentang pengiriman output. Saat menerima notifikasi sukses, Anda dapat mengunduh file output dari Bucket OSS yang sesuai. Hal ini menghindari polling operasi DescribeInvocations untuk mendapatkan hasil dan meningkatkan efisiensi.

    • Saat pengiriman gagal, Anda dapat memperoleh alasan kegagalan secara detail dari event tersebut.

Kondisi pemicu dan batasan

Kondisi pemicu: Saat Anda menggunakan RunCommand atau InvokeCommand untuk menjalankan tugas dan menentukan parameter OssOutputDelivery yang valid, event ini dikirim saat tugas mencapai status akhir.

Batasan:

  • Event hanya dikirim saat tugas pada instans memasuki salah satu status akhir berikut (InvocationStatus):

    • Aborted: Tugas gagal dikirim.

    • Success: Tugas berhasil.

    • Failed: Tugas gagal.

    • Invalid: Konten tugas tidak valid.

    • Timeout: Waktu eksekusi tugas habis.

    • Cancelled: Tugas dibatalkan.

    • Terminated: Tugas dihentikan.

Batasan versi Cloud Assistant:

  • Instans Windows: Versi Cloud Assistant Agent harus lebih baru dari 2.1.4.1007.

  • Instans Linux: Versi Cloud Assistant Agent harus lebih baru dari 2.2.4.1007.

Field event

Field

Description

instanceId

ID instans.

invokeId

ID eksekusi perintah.

ownerUid

Akun pemilik instans tempat perintah dijalankan.

playerUid

ID akun yang mengasumsikan role untuk menjalankan perintah.

repeatMode

Mode eksekusi perintah. Nilai yang valid:

  • Once: Menjalankan perintah segera.

  • Period: Menjalankan perintah sesuai jadwal.

  • NextRebootOnly: Menjalankan perintah saat instans dimulai ulang berikutnya.

  • EveryReboot: Menjalankan perintah setiap kali instans dimulai ulang.

repeats

Jumlah kali perintah dijalankan pada instans.

  • Jika mode eksekusi langsung, nilainya 0 atau 1.

    • 0: Perintah gagal dikirim, dan skrip tidak dimulai.

    • 1: Perintah berhasil dikirim. Ini adalah pertama kalinya perintah dijalankan pada instans.

  • Jika `repeatMode` bernilai `Period`, nilainya adalah jumlah kali perintah telah dijalankan.

ossOutputDelivery

Konfigurasi OSS untuk pengiriman output perintah.

ossOutputUri

URI file OSS tempat output perintah dikirimkan.

status

Status pengiriman.

  • InProgress: Pengiriman sedang berlangsung.

  • Finished: Pengiriman selesai.

  • Failed: Pengiriman gagal.

statusCode

Kode status pengiriman. Parameter ini hanya dikembalikan saat status bernilai `Failed`.

errorCode

Kode kesalahan kegagalan pengiriman. Parameter ini hanya dikembalikan saat status bernilai `Failed`. Nilai yang mungkin:

  • UnsupportedInvocationStatus: Perintah gagal dikirim atau divalidasi.

  • ClientNeedUpgrade: Versi Cloud Assistant Agent tidak mendukung fitur pengiriman.

  • Kegagalan pengiriman OSS. Untuk informasi lebih lanjut, lihat Kode kesalahan.

  • Kode kesalahan pustaka jaringan yang sesuai dikembalikan jika jaringan terputus.

errorInfo

Detail kesalahan kegagalan pengiriman. Parameter ini hanya dikembalikan saat status bernilai `Failed`.

Event notifikasi kegagalan peningkatan Cloud Assistant Agent

Deskripsi event

  • Cloud Assistant Agent secara otomatis memeriksa pembaruan versi setiap 30 menit secara default.

  • Berlangganan event notifikasi kegagalan peningkatan untuk segera mengetahui alasan dan solusi kegagalan, yang menyederhanakan troubleshooting.

Deskripsi field event

Field

Description

Example

instanceId

ID instans.

i-bp114***************

currentVersion

Versi saat ini dari Cloud Assistant Agent.

2.2.3.529

expectedVersion

Versi Cloud Assistant Agent yang akan ditingkatkan.

2.2.4.1007

errorCode

Kode kesalahan kegagalan peningkatan. Untuk informasi lebih lanjut tentang kode kesalahan, lihat Deskripsi kode kesalahan di bawah.

AgentUpdateFailure:DownloadPackageFailed:NetworkTimeout

errorInfo

Alasan kegagalan peningkatan.

Jaringan layanan Alibaba Cloud diblokir.

occurrenceTime

Waktu kegagalan peningkatan.

2026-02-28T03:30:00Z

Deskripsi kode kesalahan

Kode kesalahan memiliki awalan AgentUpdateFailure:. Tabel berikut menjelaskan kode kesalahan tersebut.

Alasan kegagalan

Deskripsi kesalahan

errorCode

Download gagal

Akses ditolak.

DownloadPackageFailed:AccessDenied

Waktu koneksi habis.

DownloadPackageFailed:NetworkTimeout

Disk space tidak mencukupi.

DownloadPackageFailed:NoEnoughSpace

Akhir file tidak terduga (data tidak lengkap atau koneksi terputus sebelum waktunya).

DownloadPackageFailed:UnexpectedEOF

Validasi MD5 gagal

Validasi MD5 gagal.

CheckMD5Failed

Ekstraksi paket gagal

Ekstraksi paket gagal.

ExtractPackageFailed

Validasi file eksekusi gagal

Validasi file eksekusi gagal.

ValidateExecutableFailed

Eksekusi skrip peningkatan melebihi waktu

File skrip tidak ada.

ExecuteUpdateScriptRunnerTimeout:FileNotExist

Proses dihentikan oleh sinyal (seperti SIGKILL atau SIGTERM).

ExecuteUpdateScriptRunnerTimeout:ExitedBySignal

Proses dibunuh.

ExecuteUpdateScriptRunnerTimeout:Killed

Status keluar proses abnormal (kode keluar tidak terduga).

ExecuteUpdateScriptRunnerTimeout:UnexpectedExitStatus

Eksekusi skrip peningkatan gagal

File skrip tidak ada.

ExecuteUpdateScriptRunnerFailed:FileNotExist

Proses dihentikan oleh sinyal (seperti SIGKILL atau SIGTERM).

ExecuteUpdateScriptRunnerFailed:ExitedBySignal

Proses dibunuh.

ExecuteUpdateScriptRunnerFailed:Killed

Status keluar proses abnormal (kode keluar tidak terduga).

ExecuteUpdateScriptRunnerFailed:UnexpectedExitStatus

Contoh JSON event

{
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234****",
    "source": "acs.ecs",
    "specversion": "1.0",
    "subject": "acs.ecs:cn-hangzhou:123456789098****:215672",
    "time": "2026-02-28T03:30:00+08:00",
    "type": "ecs:CloudAssistant:UpdateFailed",
    "aliyunaccountid": "123456789098****",
    "aliyunpublishtime": "2026-02-28T03:30:01Z",
    "aliyuneventbusname": "default",
    "aliyunregionid": "cn-hangzhou",
    "aliyunpublishaddr": "172.25.XX.XX",
    "data": {
        "instanceId": "i-bp114***************",
        "currentVersion": "2.2.3.529",
        "expectedVersion": "2.2.4.1007",
        "errorCode": "AgentUpdateFailure:DownloadPackageFailed:NetworkTimeout",
        "errorInfo": "The aliyun service network is blocked.",
        "occurrenceTime": "2026-02-28T03:30:00Z"
    }
}

Event notifikasi keberhasilan peningkatan Cloud Assistant Agent

Deskripsi event

  • Cloud Assistant Agent secara otomatis memeriksa pembaruan versi setiap 30 menit secara default.

  • Berlangganan event notifikasi keberhasilan peningkatan untuk tetap mengetahui status peningkatan, yang menyederhanakan troubleshooting.

Deskripsi field event

Field

Description

Example

instanceId

ID instans.

i-bp114***************

currentVersion

Versi saat ini dari Cloud Assistant Agent.

2.2.4.1007

occurrenceTime

Waktu keberhasilan peningkatan.

2026-02-28T03:30:00Z

Contoh JSON event

{
    "id": "f1e2d3c4-b5a6-7890-abcd-123456****",
    "source": "acs.ecs",
    "specversion": "1.0",
    "subject": "acs.ecs:cn-hangzhou:123456789098****:215672",
    "time": "2026-02-28T03:30:00+08:00",
    "type": "ecs:CloudAssistant:UpdateCompleted",
    "aliyunaccountid": "123456789098****",
    "aliyunpublishtime": "2026-02-28T03:30:01Z",
    "aliyuneventbusname": "default",
    "aliyunregionid": "cn-hangzhou",
    "aliyunpublishaddr": "172.25.XX.XX",
    "data": {
        "instanceId": "i-bp114***************",
        "currentVersion": "2.2.4.1007",
        "occurrenceTime": "2026-02-28T03:30:00Z"
    }
}

Rekomendasi untuk lingkungan produksi

  • Idempotensi: Sistem event dapat mengirimkan event yang sama beberapa kali karena masalah jaringan atau retry. Logika pemrosesan Anda harus idempoten. Artinya, memproses event yang sama berkali-kali menghasilkan hasil yang sama seperti memprosesnya sekali. Anda dapat menggunakan id atau data.bizEventId dari event sebagai pengenal unik. Sebelum memproses event, periksa apakah ID ini sudah pernah diproses.

  • Retry dan dead-letter queue: Saat Anda mengonfigurasi target event EventBridge, kami sangat menyarankan Anda mengonfigurasi Retry Policy dan Dead-Letter Queue. Jika fungsi pemrosesan gagal sementara, EventBridge akan mencoba ulang secara otomatis. Jika upaya retry gagal, event akan dikirim ke antrian dead-letter, seperti antrian Message Service (MNS). Anda kemudian dapat menyelidiki dan memulihkan event secara manual untuk mencegah kehilangan data.

  • Monitoring dan alerting: Pantau fungsi pemrosesan event itu sendiri. Pantau tingkat keberhasilan eksekusi, durasi, dan log kesalahan, serta atur peringatan. Hal ini memungkinkan Anda segera mengintervensi jika logika pemrosesan terus-menerus gagal.

FAQ

Mengapa saya tidak menerima notifikasi event setelah berlangganan event Cloud Assistant menggunakan EventBridge?

  1. Periksa prasyarat: Pastikan versi Cloud Assistant Agent memenuhi persyaratan.

  2. Periksa aturan EventBridge:

    • Masuk ke EventBridge console. Pastikan Event Pattern aturan sudah benar. source harus bernilai acs.ecs, dan type harus sesuai dengan jenis event yang benar.

    • Gunakan fitur Event Pattern Debugging untuk menguji apakah aturan cocok dengan contoh JSON event yang nyata.

  3. Periksa kesehatan target event:

    • Di halaman detail aturan event di EventBridge console, lihat catatan pemanggilan dan log kesalahan target event.

    • Pastikan layanan target, seperti Function Compute atau webhook, berjalan normal dan dapat dijangkau melalui jaringan.