Berlangganan event Cloud Assistant untuk membangun alur kerja respons operasi dan pemeliharaan otomatis. Misalnya, Anda dapat langsung menerima notifikasi ketika tugas otomatis—seperti instalasi perangkat lunak atau eksekusi skrip inspeksi—gagal. Hal ini menghilangkan kebutuhan 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
Sebelum memulai, pastikan Anda telah mengaktifkan EventBridge dan memberikan izin yang diperlukan.
Masuk ke Konsol EventBridge. Di panel navigasi kiri, klik Event Buses.
Di bilah menu atas, pilih wilayah.
Pada halaman Event Buses, klik default.
Pada halaman Event Bus, klik Event Rule di panel navigasi kiri, lalu klik Create Rule.
Pada tab Configure Basic Info, masukkan nama aturan di kolom Name dan deskripsi di kolom Description. Lalu, klik Next.
Pada tab Configure Event Pattern, lengkapi konfigurasi berikut lalu klik Next.
Dari daftar drop-down Event Source, pilih acs.ecs.
Dari daftar drop-down Event Type, pilih jenis event Cloud Assistant yang diinginkan.
A task is completed in Cloud Assistant.:
ecs:CloudAssistant:TaskCompleted.Pada bagian Event Pattern Debugging, lihat contoh jenis 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": "" } }Di bawah contoh tersebut, klik Test untuk mensimulasikan sebuah event. Jika pesan Match Succeeded. The event can be triggered as expected ditampilkan, ini menegaskan bahwa event dapat dipicu.
Konfigurasikan target event. Pilih Service Type dan konfigurasikan skenario dorong (push).
Untuk informasi lebih lanjut tentang skenario dorong, lihat Setel skenario dorong.
Gunakan CloudMonitor
Masuk ke Konsol Cloud Monitor.
Di panel navigasi kiri, pilih .
Pada tab Subscription Policy, klik Create Subscription Policy.
Pada halaman Create Subscription Policy, konfigurasikan parameter untuk berlangganan event Cloud Assistant.
Contoh ini hanya menunjukkan parameter yang terkait dengan event Cloud Assistant. Untuk informasi lebih lanjut, lihat Parameter kebijakan langganan.
Subscription Type: Pilih System Events.
Subscription Scope:
Service: Pilih ECS.
Event Type: Pilih Notifications.
Event Name: Pilih CloudAssistant:TaskCompleted.
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 dieksekusi. 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. Notifikasi ini dapat digunakan untuk peringatan atau tindakan 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 melaporkan status satu tugas pada satu instans, bukan beberapa tugas sekaligus.
Field event
Field | Deskripsi | Contoh |
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 |
repeats | Jumlah kali perintah telah dijalankan pada instans.
| 0 |
invocationStatus | Status eksekusi perintah.
| Success |
exitCode | Kode keluar 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 menandakan kapan sistem operasi telah dimulai. Informasi ini dapat digunakan untuk memeriksa kesehatan instans atau menentukan waktu tepat untuk 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 cukup 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 bisa memakan waktu hingga 5 menit untuk dimulai, 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 untuk 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 | Deskripsi | Contoh |
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 Anda 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 dikirim hanya 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 | Deskripsi |
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:
|
repeats | Jumlah kali perintah telah dijalankan pada instans.
|
ossOutputDelivery | Konfigurasi OSS untuk pengiriman output perintah. |
ossOutputUri | URI file OSS tempat output perintah dikirimkan. |
status | Status pengiriman.
|
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:
|
errorInfo | Detail kesalahan kegagalan pengiriman. Parameter ini hanya dikembalikan saat status bernilai Failed. |
Event notifikasi kegagalan upgrade Cloud Assistant Agent
Deskripsi event
Cloud Assistant Agent secara otomatis memeriksa pembaruan versi setiap 30 menit secara default.
Berlangganan event notifikasi kegagalan upgrade untuk segera mengetahui alasan dan solusi kegagalan, sehingga mempermudah troubleshooting.
Deskripsi field event
Field | Deskripsi | Contoh |
instanceId | ID instans. | i-bp114*************** |
currentVersion | Versi saat ini dari Cloud Assistant Agent. | 2.2.3.529 |
expectedVersion | Versi Cloud Assistant Agent yang akan di-upgrade. | 2.2.4.1007 |
errorCode | Kode kesalahan kegagalan upgrade. Untuk informasi lebih lanjut tentang kode kesalahan, lihat Deskripsi kode kesalahan di bawah. | AgentUpdateFailure:DownloadPackageFailed:NetworkTimeout |
errorInfo | Alasan kegagalan upgrade. | Jaringan layanan Alibaba Cloud diblokir. |
occurrenceTime | Waktu kegagalan upgrade. | 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 |
Timeout jaringan. | 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 upgrade timeout | File skrip tidak ada. | ExecuteUpdateScriptRunnerTimeout:FileNotExist |
Proses dihentikan oleh sinyal (seperti SIGKILL atau SIGTERM). | ExecuteUpdateScriptRunnerTimeout:ExitedBySignal | |
Proses dibunuh. | ExecuteUpdateScriptRunnerTimeout:Killed | |
Status keluar proses tidak normal (kode keluar tidak terduga). | ExecuteUpdateScriptRunnerTimeout:UnexpectedExitStatus | |
Eksekusi skrip upgrade gagal | File skrip tidak ada. | ExecuteUpdateScriptRunnerFailed:FileNotExist |
Proses dihentikan oleh sinyal (seperti SIGKILL atau SIGTERM). | ExecuteUpdateScriptRunnerFailed:ExitedBySignal | |
Proses dibunuh. | ExecuteUpdateScriptRunnerFailed:Killed | |
Status keluar proses tidak normal (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 upgrade Cloud Assistant Agent
Deskripsi event
Cloud Assistant Agent secara otomatis memeriksa pembaruan versi setiap 30 menit secara default.
Berlangganan event notifikasi keberhasilan upgrade untuk tetap mengetahui status upgrade, sehingga mempermudah troubleshooting.
Deskripsi field event
Field | Deskripsi | Contoh |
instanceId | ID instans. | i-bp114*************** |
currentVersion | Versi saat ini dari Cloud Assistant Agent. | 2.2.4.1007 |
occurrenceTime | Waktu keberhasilan upgrade. | 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
idataudata.bizEventIddari 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 peringatan: Pantau fungsi pemrosesan event itu sendiri. Pantau tingkat keberhasilan eksekusi, durasi, dan log kesalahan, serta atur peringatan. Hal ini memungkinkan Anda segera melakukan intervensi jika logika pemrosesan terus-menerus gagal.
FAQ
Mengapa saya tidak menerima notifikasi event setelah berlangganan event Cloud Assistant menggunakan EventBridge?
Periksa prasyarat: Pastikan versi Cloud Assistant Agent memenuhi persyaratan.
Periksa aturan EventBridge:
Masuk ke Konsol EventBridge. Pastikan Event Pattern aturan sudah benar.
sourceharus bernilaiacs.ecs, dantypeharus sesuai dengan jenis event yang benar.Gunakan fitur Event Pattern Debugging untuk menguji apakah aturan cocok dengan contoh JSON event nyata.
Periksa kesehatan target event:
Di halaman detail aturan event di Konsol EventBridge, lihat catatan pemanggilan dan log kesalahan target event.
Pastikan layanan target, seperti Function Compute atau webhook, berjalan normal dan dapat dijangkau melalui jaringan.