All Products
Search
Document Center

ActionTrail:Buat aturan peringatan kustom

Last Updated:Jun 17, 2026

Buat aturan peringatan kustom untuk memantau event tertentu guna mendukung pemantauan keamanan enterprise yang fleksibel. ActionTrail menghasilkan peringatan berdasarkan kueri, frekuensi pemeriksaan, dan kondisi pemicu yang Anda konfigurasikan, lalu melakukan penghilangan derau (denoising) pada peringatan dan mengirimkan notifikasi sesuai kebijakan peringatan dan kebijakan aksi Anda.

Informasi latar belakang

Aturan peringatan kustom menggunakan sintaks Structured Query Language (SQL) untuk memfilter event. Untuk informasi lebih lanjut tentang sintaks SQL, lihat Ikhtisar kueri dan Ikhtisar kueri dan analisis.

Prosedur

  1. Masuk ke Konsol ActionTrail.

  2. Di panel navigasi sebelah kiri, klik Event Alerting.

  3. Pada halaman Alert Center, buka tab Alert Rules dan klik Create Alert.

  4. Di panel Create Alert, tambahkan konfigurasi kueri dan analisis.

    1. Klik Add di sebelah kanan Query and Analysis.

    2. Di kotak dialog Query and Analysis, pada tab Advanced Settings, atur Types menjadi Logstore Name dan Authorization Method menjadi Default.

      Catatan

      Field Region dan Project diisi secara otomatis agar sesuai dengan trail tempat event alerting diaktifkan.

    3. Pilih Logstore tempat trail mengirimkan event. Nama Logstore memiliki format actiontrail_<trail_name>.

    4. Pilih apakah akan mengaktifkan Dedicated SQL.

      Catatan
      • Auto: Dedicated SQL dinonaktifkan secara default. Jika batas konkurensi kueri tercapai atau hasil kueri tidak akurat, Simple Log Service secara otomatis mencoba ulang kueri dengan Dedicated SQL.

      • Enable: Mengaktifkan Dedicated SQL untuk semua kueri dan analisis.

      • Close: Menonaktifkan Dedicated SQL.

      Untuk informasi lebih lanjut tentang Dedicated SQL, lihat Kueri dan analisis berkinerja tinggi serta akurat (Dedicated SQL).

    5. Atur Query Time Range, masukkan pernyataan kueri kustom di kotak teks di sebelah kanan Query, lalu klik Preview.

      Untuk informasi lebih lanjut tentang pernyataan kueri kustom, lihat Pernyataan kueri kustom.

    6. Klik Confirm.

  5. Di panel Create Alert, konfigurasikan parameter seperti Rule Name, Check Frequency, Group Evaluation, Trigger Condition, Add Tag, Add Annotation, No Data Recovery, Advanced Settings, dan Destination.

    Untuk informasi lebih lanjut tentang parameter tersebut, lihat Parameter aturan pemantauan peringatan.

  6. Klik Confirm.

    Setelah aturan peringatan kustom dibuat, aturan tersebut akan muncul dalam daftar aturan peringatan. Untuk informasi lebih lanjut, lihat Kelola aturan peringatan.

Pernyataan kueri kustom

Scenario

Description

Custom query statement

Filter berdasarkan layanan cloud dan event

Memfilter event berdasarkan layanan cloud dan nama event.

  • Tentukan satu event untuk satu layanan. Misalnya, tentukan event pembuatan instans untuk ECS.

    event.serviceName: Ecs and event.eventName: RunInstances

  • Tentukan beberapa event untuk satu layanan. Misalnya, tentukan event rilis instans untuk ApsaraDB RDS.

    event.serviceName: RDS and (event.eventName: DeleteDBInstance or event.eventName: Release or event.eventName: DestroyDBInstance)

  • Tentukan beberapa event untuk beberapa layanan. Misalnya, tentukan event perubahan izin untuk Resource Management dan RAM.

    (event.serviceName: ResourceManager and (event.eventName: AttachPolicy or event.eventName: DetachPolicy )) or (event.serviceName: Ram and (event.eventName: AttachPolicyToUser or event.eventName: AttachPolicyToGroup or event.eventName: AttachPolicyToRole or event.eventName: DetachPolicyFromUser or event.eventName: DetachPolicyFromGroup or event.eventName: DetachPolicyFromRole))

Ambil dan tentukan parameter

Memfilter event berdasarkan nilai parameter tertentu dalam objek event.requestParameterJson.

  • Filter untuk event di mana atribut DeletionProtection dari instans ECS diubah menjadi false.

    event.serviceName: Ecs and event.eventName: ModifyInstanceAttribute | SELECT * FROM (SELECT cast(json_extract("event.requestParameterJson", '$.DeletionProtection') as varchar) as deletion_protection FROM log) WHERE deletion_protection = 'false'

  • Filter untuk event di mana daftar putih instans ApsaraDB RDS diatur ke 0.0.0.0.

    event.serviceName: Rds and event.eventName: ModifySecurityIps | SELECT * FROM (SELECT cast(json_extract("event.requestParameterJson", '$.SecurityIps') as varchar) as security_ips FROM log) WHERE security_ips like '%0.0.0.0%'

Ambil resource

Memfilter event berdasarkan nama atau jenis resource.

Untuk informasi lebih lanjut tentang parameter tersebut, lihat Struktur event manajemen.

Ambil satu resource. Misalnya, ambil ID instans yang terdampak dalam event rilis instans ECS.

event.serviceName: Ecs and (event.eventName: DeleteInstances or event.eventName: DeleteInstance or event.eventName: Release) | SELECT resourceArray[num] as instance_id FROM (SELECT split("event.resourceName", ';') as resourceArray, array_position(split("event.resourceType", ';'), 'ACS::ECS::Instance') as num FROM log) where num > 0

Ambil identitas

Memfilter event berdasarkan identitas yang memulainya.

Informasi identitas (userIdentity) mencakup parameter seperti jenis identitas (type), nama identitas (userName), ID identitas (principalId), dan ID akun Alibaba Cloud (accountId). Untuk informasi lebih lanjut tentang parameter tersebut, lihat Struktur event manajemen.

  • Ambil jenis identitas.

    * | SELECT "event.userIdentity.type" as user_type

  • Ambil nama identitas.

    * | SELECT "event.userIdentity.userName" as user_name

  • Ambil ID identitas.

    * | SELECT "event.userIdentity.principalId" as principal_id

  • Ambil ID akun Alibaba Cloud.

    * | SELECT "event.userIdentity.accountId" as account_id

Hitung jumlah kemunculan event

Menghitung jumlah kemunculan event dan memicu peringatan ketika ambang batas tertentu terlampaui.

  • Beri peringatan jika restart instans ECS berlebihan. Misalnya, picu peringatan jika instans ECS direstart lebih dari dua kali.

    event.serviceName: Ecs and (event.eventName: RebootInstances or event.eventName: RebootInstance) | SELECT account_id, resourceArray[num] as instance_id, count(*) as cnt FROM ( SELECT "event.userIdentity.accountId" as account_id, split("event.resourceName", ';') as resourceArray, array_position(split("event.resourceType", ';'), 'ACS::ECS::Instance') as num FROM log) where num > 0 group by account_id, instance_id

  • Beri peringatan jika jumlah upaya login gagal berlebihan. Misalnya, picu peringatan jika lebih dari dua upaya login gagal.

    event.eventName: ConsoleSignin and event.userIdentity.type: ram-user and not event.errorMessage: success | select "event.userIdentity.principalId" as user_id, "event.userIdentity.userName" as user_name, count(1) as cnt group by user_id, user_name

Contoh peringatan kustom

Fungsi arbitrary mengembalikan nilai non-null sembarang dari x. Sintaksnya adalah arbitrary(x). Untuk informasi lebih lanjut, lihat fungsi arbitrary. Contoh berikut menggunakan fungsi ini.

  • Contoh 1: Peringatan atas rilis instans ApsaraDB RDS

    event.serviceName: RDS and (event.eventName: DeleteDBInstance or event.eventName: Release or event.eventName: DestroyDBInstance) | SELECT account_id, resourceArray[num] as instance_id, ram_user_id, user_type, user_name FROM (SELECT "event.userIdentity.accountId" as account_id, "event.userIdentity.principalId" as ram_user_id, split("event.resourceName", ';') as resourceArray, array_position(split("event.resourceType", ';'), 'ACS::RDS::DBInstance') as num, "event.userIdentity.type" as user_type, "event.userIdentity.userName" as user_name FROM log ) where num > 0

  • Contoh 2: Peringatan atas perubahan konfigurasi security group

    event.eventName: CreateSecurityGroup OR event.eventName: AuthorizeSecurityGroup OR event.eventName: AuthorizeSecurityGroupEgress OR event.eventName: RevokeSecurityGroup OR event.eventName: RevokeSecurityGroupEgress OR event.eventName: JoinSecurityGroup OR event.eventName: LeaveSecurityGroup OR event.eventName: DeleteSecurityGroup OR event.eventName: ModifySecurityGroupPolicy) | select "event.userIdentity.accountId" as account_id, "event.userIdentity.principalId" as ram_user_id, "event.eventName" as event_name, arbitrary("event.userIdentity.type") as user_type, arbitrary("event.userIdentity.userName") as user_name group by account_id, ram_user_id, event_name

Dokumen terkait