全部产品
Search
文档中心

Application Real-Time Monitoring Service:Integrasikan sumber peringatan kustom dengan ARMS

更新时间:Mar 12, 2026

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

  1. Masuk ke Konsol ARMS. Di panel navigasi sebelah kiri, pilih Alert Management > Integrations.

  2. Pada tab Alert Integration, klik Custom Integration.

  3. Pada kotak dialog Create Custom Event Integration, masukkan nama integrasi, tentukan periode auto-clear, dan tambahkan deskripsi opsional. Klik Save and Configure.

Catatan Jika event alert tidak dipicu lagi dalam periode auto-clear, ARMS secara otomatis akan menghapus alert tersebut.

Langkah 2: Kirim event alert ke titik akhir API

Setelah membuat integrasi, ARMS menghasilkan titik akhir API dan Kunci API.

  1. Pada halaman Integration Details, di bagian Span Configuration, salin titik akhir API dan Kunci API.

    API key of a custom integration

  2. 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.

Catatan Pertama kali Anda mengirim event, API akan mengembalikan kode kesalahan 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:

FieldDescriptionExample value
trigger-typeJenis eventnetwork
trigger-severityTingkat severity (MAX, MID, atau LOW)MAX
trigger-eventDeskripsi eventinbound tcp package errors is 20%
trigger-timeWaktu mulai sebagai Unix timestamp dalam milidetik1629702922000
metadata[*].agentJenis agen (SERVER atau CONTAINER)SERVER
metadata[*].accountIdID pengguna (tidak termasuk dalam notifikasi alert)1504000433993

Ganti placeholder berikut dengan nilai aktual Anda:

PlaceholderDescriptionExample
<your-api-key>Kunci API dari bagian Span ConfigurationymQBN******

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

  1. Pada halaman Integration Details, di bagian Event Mapping, klik Send Test Data.

  2. 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.

    Send test data

  3. 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.

  1. Di panel kiri bagian Event Mapping, klik catatan data untuk melihat detailnya.

  2. Di panel kanan, di bawah Select Root Node, pilih Use Batch Processing, lalu pilih node array yang akan digunakan sebagai root node.

Catatan Hanya satu node array yang dapat dipilih untuk pemrosesan batch dalam satu waktu.

Cara pemrosesan batch memengaruhi pemetaan field:

  • Batch diaktifkan (misalnya, metadata sebagai root node): Semua nilai $.metadata[*].service dipetakan secara iteratif ke field ARMS target.

  • Batch dinonaktifkan: Hanya elemen tertentu (misalnya, $.metadata[0].service atau $.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 fieldRequiredDescriptionMapping methodSource field example
alertnameYesNama alertSeries$.trigger-type dan $.trigger-policy
severityYesTingkat 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)
messageNoDeskripsi alert, digunakan sebagai konten notifikasi. Maksimal 15.000 karakter.Direct$.trigger-event
valueNoNilai metrik sampelDirect$.trigger-value
imageUrlNoURL grafik metrik Grafana untuk penyematan dalam alert--
checkNoItem pemeriksaan, seperti CPU, JVM, Application Crash, atau DeploymentDirect$.trigger-check
sourceNoIdentifier sumber alert, biasanya alamat IPDirect$.metadata[*].ip
classNoJenis objek yang memicu alert, seperti hostDirect$.trigger-type
serviceNoNama layanan sumber. Mendukung pemetaan kondisional.ConditionLihat contoh pemetaan kondisional di bawah
startatNoTimestamp awal eventDirect$.trigger-time
endatNoTimestamp akhir event--
generatorUrlNoURL 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-type dan $.trigger-policy dengan garis bawah (_) menghasilkan network_package errors > 5%, yang dipetakan ke alertname.

  • Condition: Memetakan field sumber berdasarkan kondisi. Misalnya: Configure conditional mappings

    • Jika $.metadata[*].agent bernilai CONTAINER, petakan $.metadata[*].microServiceId ke field ARMS service.

    • Jika $.metadata[*].agent bernilai SERVER, petakan $.metadata[*].service ke field ARMS service.

  • Mapping table: Mengonversi nilai sumber ke nilai ARMS melalui tabel lookup. Hanya digunakan untuk field severity.

Configure the custom alert source

Langkah 4: Konfigurasikan deduplikasi

Deduplikasi menggabungkan event yang memiliki nilai field yang sama menjadi satu notifikasi alert, sehingga mengurangi kebisingan.

Catatan Deduplikasi hanya berlaku untuk event yang belum dihapus.
  1. Di bagian Event Deduplication, pilih field yang akan digunakan untuk deduplikasi. Misalnya, jika $.metadata[*].ip dipetakan ke source dan $.trigger-check dipetakan ke check, memilih kedua field source dan check akan 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.

  2. Klik Deduplication Test untuk melihat pratinjau hasil pengelompokan.

    Catatan Pengujian hanya berjalan terhadap 10 catatan data terbaru yang diunggah di bagian Event Mapping.

    Deduplicate alert events

  3. Klik Save.

Verifikasi integrasi

Setelah menyimpan konfigurasi, buka Alert Management > Integrations. Pastikan integrasi baru Anda muncul di tab Alert Integration.

API key of a custom integration

Operasi lainnya

Di tab Alert Integration, operasi berikut tersedia untuk setiap integrasi:

OperationSteps
View detailsKlik baris integrasi untuk membuka halaman Integration Details.
Update the API keyPilih More > Update Key di kolom Actions, lalu klik OK. Setelah memperbarui, ubah titik akhir di sumber alert yang dikonfigurasi di Langkah 2.
Edit the integrationKlik Edit di kolom Actions. Ubah pengaturan di halaman Integration Details, lalu klik Save.
Enable or disableKlik Enable atau Disable di kolom Actions.
Delete the integrationKlik Delete di kolom Actions, lalu klik OK.
Add an event processing flowKlik Add Event Processing Flow di kolom Actions. Untuk informasi lebih lanjut, lihat Work with event processing flows.
Create a notification policyPilih 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.