ARMS Alert Management menyediakan API yang menerima event alert dari sistem apa pun yang mampu melakukan panggilan HTTP. Gunakan API ini untuk melaporkan alert dari tool pemantauan kustom atau pihak ketiga ke ARMS guna pengelolaan terpusat.
Tiga konsep inti mendukung integrasi ini:
Trigger: Kirim event alert untuk membuat atau memperbarui alert di ARMS.
Resolve: Secara otomatis menghapus alert ketika kondisi pemulihan terpenuhi.
Deduplicate: Gabungkan event yang memiliki nilai field yang sama menjadi satu notifikasi alert.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Akun Alibaba Cloud dengan ARMS yang telah diaktifkan
Sistem pemantauan pihak ketiga atau tool kustom yang dapat mengirim permintaan HTTP POST
Langkah 1: Buat integrasi kustom
Masuk ke Konsol ARMS. Di panel navigasi sebelah kiri, pilih Alert Management > Integrations.
Pada tab Alert Integration, klik Custom Integration.
Pada kotak dialog Create Custom Event Integration, masukkan nama integrasi, tentukan periode auto-clear, dan tambahkan deskripsi opsional. Klik Save and Configure.
Langkah 2: Kirim event alert ke titik akhir API
Setelah membuat integrasi, ARMS menghasilkan titik akhir API dan Kunci API.
Pada halaman Integration Details, di bagian Span Configuration, salin titik akhir API dan Kunci API.

Kirim permintaan POST ke titik akhir API dari sumber alert Anda.
Quick start: muatan minimal
Kirim muatan sekecil mungkin untuk memverifikasi konektivitas:
curl -k -H "Content-Type: application/json" -d '{
"alertname": "test-alert",
"severity": "P2",
"message": "Test alert from custom source"
}' "https://alerts.aliyuncs.com/api/v1/integrations/custom/<your-api-key>"Ganti <your-api-key> dengan Kunci API yang disalin pada langkah sebelumnya.
601 dengan pesan Invalidincident,labels.alertnameisrequired. Hal ini diharapkan. Konfigurasikan pemetaan field terlebih dahulu di Langkah 3, lalu kirim ulang event tersebut.Contoh muatan lengkap
Perintah curl berikut mengirim event alert lengkap untuk skenario terjadinya error paket TCP pada server. Muatan mencakup metadata bersarang dan array equipments:
curl -k -H "Content-Type: application/json" -d '{
"trigger-type": "network",
"trigger-location": "cn-hangzhou",
"trigger-severity": "MAX",
"trigger-policy": "package errors > 5%",
"trigger-event": "inbound tcp package errors is 20%",
"trigger-check": "tcp package error percentage",
"trigger-value": "20",
"trigger-time": "1629702922000",
"metadata": [
{
"agent": "SERVER",
"ip": "141.219.XX.XX",
"fqdn": "websrv1.damenport.org",
"microServiceId": "ms-login-2251",
"accountId": "1504000433993",
"service": "login-0"
},
{
"agent": "CONTAINER",
"ip": "172.1.XX.XX",
"fqdn": "websrv2.damenport.org",
"microServiceId": "ms-login-2252",
"accountId": "129930302939",
"service": "login-1"
}
],
"equipments": [
{
"equipmentId": "112"
},
{
"equipmentId": "113"
}
]
}' "https://alerts.aliyuncs.com/api/v1/integrations/custom/<your-api-key>"Tabel berikut menjelaskan field utama dalam muatan ini:
| Field | Description | Example value |
|---|---|---|
trigger-type | Jenis event | network |
trigger-severity | Tingkat severity (MAX, MID, atau LOW) | MAX |
trigger-event | Deskripsi event | inbound tcp package errors is 20% |
trigger-time | Waktu mulai sebagai Unix timestamp dalam milidetik | 1629702922000 |
metadata[*].agent | Jenis agen (SERVER atau CONTAINER) | SERVER |
metadata[*].accountId | ID pengguna (tidak termasuk dalam notifikasi alert) | 1504000433993 |
Ganti placeholder berikut dengan nilai aktual Anda:
| Placeholder | Description | Example |
|---|---|---|
<your-api-key> | Kunci API dari bagian Span Configuration | ymQBN****** |
Langkah 3: Konfigurasikan pemetaan field alert
Pemetaan field menentukan cara field dari sumber alert Anda diterjemahkan ke field alert ARMS. Tanpa pemetaan, ARMS tidak dapat mengurai event yang masuk.
Kirim data uji
Pada halaman Integration Details, di bagian Event Mapping, klik Send Test Data.
Pada kotak dialog Send Test Data, tempel muatan JSON dari sumber alert Anda dan klik Send.
Jika muncul pesan Uploaded. No events are generated. Configure mappings based on the original data., artinya field belum dipetakan. Data mentah akan muncul di panel kiri sebagai referensi saat mengonfigurasi pemetaan.
Jika muncul pesan Uploaded., artinya event berhasil dilaporkan. Lihat event tersebut di halaman Alert Event History. Untuk informasi lebih lanjut, lihat View historical alert events.

Pada kotak dialog Send Test Data, klik Disable.
Konfigurasikan pemrosesan batch (opsional)
Jika data alert Anda berisi node array (seperti metadata), Anda dapat memproses semua elemen dalam array tersebut sebagai batch.
Di panel kiri bagian Event Mapping, klik catatan data untuk melihat detailnya.
Di panel kanan, di bawah Select Root Node, pilih Use Batch Processing, lalu pilih node array yang akan digunakan sebagai root node.
Cara pemrosesan batch memengaruhi pemetaan field:
Batch diaktifkan (misalnya,
metadatasebagai root node): Semua nilai$.metadata[*].servicedipetakan secara iteratif ke field ARMS target.Batch dinonaktifkan: Hanya elemen tertentu (misalnya,
$.metadata[0].serviceatau$.metadata[1].service) yang dipetakan ke field target.
Konfigurasikan event pemulihan alert (opsional)
Untuk secara otomatis menghapus alert ketika event pemulihan tiba, pilih Configure Alert Recovery Events dan definisikan kondisi field.
Ketika ARMS menerima event yang sesuai dengan kondisi Anda, ARMS akan menemukan dan menghapus alert yang sesuai. Field kondisi harus setara dengan severity alert dalam event tersebut. Field $.severity tidak dapat digunakan.
Sebagai contoh, kondisi {$.eventType = "resolved"} akan menghapus semua alert dalam integrasi di mana field eventType bernilai resolved.
Petakan field sumber ke field alert ARMS
Di bagian Map Source Fields to Target Fields, petakan setiap field sumber ke field alert ARMS.
Tabel berikut menjelaskan field alert ARMS:
| Alert field | Required | Description | Mapping method | Source field example |
|---|---|---|---|---|
| alertname | Yes | Nama alert | Series | $.trigger-type dan $.trigger-policy |
| severity | Yes | Tingkat alert. Memerlukan tabel pemetaan untuk mengonversi nilai sumber ke nilai ARMS (P1, P2, P3). | Direct + Mapping table | $.trigger-severity (MAX -> P1, MID -> P2, MIN -> P3) |
| message | No | Deskripsi alert, digunakan sebagai konten notifikasi. Maksimal 15.000 karakter. | Direct | $.trigger-event |
| value | No | Nilai metrik sampel | Direct | $.trigger-value |
| imageUrl | No | URL grafik metrik Grafana untuk penyematan dalam alert | - | - |
| check | No | Item pemeriksaan, seperti CPU, JVM, Application Crash, atau Deployment | Direct | $.trigger-check |
| source | No | Identifier sumber alert, biasanya alamat IP | Direct | $.metadata[*].ip |
| class | No | Jenis objek yang memicu alert, seperti host | Direct | $.trigger-type |
| service | No | Nama layanan sumber. Mendukung pemetaan kondisional. | Condition | Lihat contoh pemetaan kondisional di bawah |
| startat | No | Timestamp awal event | Direct | $.trigger-time |
| endat | No | Timestamp akhir event | - | - |
| generatorUrl | No | URL yang mengarah ke halaman detail event | - | - |
Metode pemetaan
Klik ikon Map di samping field untuk beralih antara metode pemetaan berikut:
Direct: Memetakan satu field sumber langsung ke satu field ARMS.
Series: Menggabungkan beberapa field sumber dengan pembatas (hanya karakter khusus) menjadi satu nilai, lalu memetakannya ke field ARMS. Misalnya, menggabungkan
$.trigger-typedan$.trigger-policydengan garis bawah (_) menghasilkannetwork_package errors > 5%, yang dipetakan kealertname.Condition: Memetakan field sumber berdasarkan kondisi. Misalnya:

Jika
$.metadata[*].agentbernilaiCONTAINER, petakan$.metadata[*].microServiceIdke field ARMSservice.Jika
$.metadata[*].agentbernilaiSERVER, petakan$.metadata[*].serviceke field ARMSservice.
Mapping table: Mengonversi nilai sumber ke nilai ARMS melalui tabel lookup. Hanya digunakan untuk field
severity.

Langkah 4: Konfigurasikan deduplikasi
Deduplikasi menggabungkan event yang memiliki nilai field yang sama menjadi satu notifikasi alert, sehingga mengurangi kebisingan.
Di bagian Event Deduplication, pilih field yang akan digunakan untuk deduplikasi. Misalnya, jika
$.metadata[*].ipdipetakan kesourcedan$.trigger-checkdipetakan kecheck, memilih kedua fieldsourcedancheckakan menggabungkan event dari alamat IP yang sama dengan item pemeriksaan yang sama menjadi satu alert. Event dengan alamat IP atau item pemeriksaan berbeda tetap terpisah.Klik Deduplication Test untuk melihat pratinjau hasil pengelompokan.
Catatan Pengujian hanya berjalan terhadap 10 catatan data terbaru yang diunggah di bagian Event Mapping.
Klik Save.
Verifikasi integrasi
Setelah menyimpan konfigurasi, buka Alert Management > Integrations. Pastikan integrasi baru Anda muncul di tab Alert Integration.

Operasi lainnya
Di tab Alert Integration, operasi berikut tersedia untuk setiap integrasi:
| Operation | Steps |
|---|---|
| View details | Klik baris integrasi untuk membuka halaman Integration Details. |
| Update the API key | Pilih More > Update Key di kolom Actions, lalu klik OK. Setelah memperbarui, ubah titik akhir di sumber alert yang dikonfigurasi di Langkah 2. |
| Edit the integration | Klik Edit di kolom Actions. Ubah pengaturan di halaman Integration Details, lalu klik Save. |
| Enable or disable | Klik Enable atau Disable di kolom Actions. |
| Delete the integration | Klik Delete di kolom Actions, lalu klik OK. |
| Add an event processing flow | Klik Add Event Processing Flow di kolom Actions. Untuk informasi lebih lanjut, lihat Work with event processing flows. |
| Create a notification policy | Pilih More > Create Notification Policy di kolom Actions. Untuk informasi lebih lanjut, lihat Create and manage a notification policy. |
Langkah selanjutnya
Setelah Anda membuat kebijakan notifikasi, sistem akan menghasilkan alert dan mengirim pemberitahuan peringatan berdasarkan kebijakan tersebut. Untuk informasi lebih lanjut, lihat Create and manage a notification policy.
Di halaman Alert Sending History, Anda dapat melihat alert yang dihasilkan berdasarkan kebijakan notifikasi yang dikonfigurasi. Untuk informasi lebih lanjut, lihat View historical alerts.