Menggunakan API deteksi anomali

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Sebagian besar API yang Anda gunakan untuk membuat dan mengelola notifikasi anomali serta mengumpulkan metrik anomali sama dengan API yang Anda gunakan dengan notifikasi tetap. API pemberitahuan berikut berfungsi dengan cara yang sama untuk pemberitahuan tetap dan anomali:

Namun, beberapa API memiliki properti tambahan yang digunakan untuk mendukung notifikasi anomali, termasuk:

Menyetel $ACCESS_TOKEN

Semua panggilan API yang ditampilkan di bawah ini meneruskan kredensial Anda dalam variabel lingkungan yang disebut $ACCESS_TOKEN. Tetapkan $ACCESS_TOKEN ke token akses OAuth 2.0 Anda, seperti yang dijelaskan di Dapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi cURL yang digunakan dalam contoh ini, lihat Gunakan cURL.

Dapatkan notifikasi

Secara default, opsi Dapatkan pemberitahuan API menampilkan informasi tentang semua pemberitahuan yang ditetapkan. API ini sekarang menggunakan parameter kueri agar Anda dapat memfilter hasil:

  • enabled - Jika true menentukan untuk hanya menampilkan pemberitahuan yang diaktifkan. Nilai defaultnya adalah false.
  • alertType - Menentukan jenis notifikasi yang akan ditampilkan. Nilai yang diizinkan adalah runtime, secara default, cert.
  • alertSubType - Menentukan subjenis notifikasi yang akan ditampilkan. Nilai defaultnya adalah tidak ditetapkan, yang berarti tampilkan semua subjenis pemberitahuan. Tentukan anomaly untuk menampilkan notifikasi anomali.

Misalnya, gunakan panggilan API berikut untuk menampilkan hanya aktifkan pemberitahuan untuk organisasi yang bernama myorg:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'

Panggilan berikut hanya menampilkan notifikasi anomali, baik yang diaktifkan maupun dinonaktifkan:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=runtime&alertSubType=anomaly'

Membuat atau memperbarui notifikasi anomali

Gunakan API yang sama untuk membuat atau perbarui peringatan anomali seperti yang saat ini Anda lakukan untuk pemberitahuan tetap. Isi panggilan API yang akan dibuat atau diupdate notifikasi anomali sama seperti yang digunakan untuk notifikasi tetap, dengan perubahan berikut:

  • Anda harus menambahkan properti baru berikut untuk menetapkan bahwa notifikasi tersebut adalah notifikasi anomali:

    "alertType": "runtime"
    "alertSubType": "anomaly"

    Nilai default untuk properti ini adalah:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • Dalam array conditions:

    • Properti metrics hanya menggunakan nilai:

      • count - Meningkatkan pemberitahuan tentang jumlah error HTTP.
      • totalLatency - Meningkatkan notifikasi untuk latensi.
    • Properti threshold mengambil string, bukan angka. Nilai yang didukung meliputi: slight, moderate, dan severe.
    • Properti durationSeconds dan comparator tidak didukung.
  • Dalam elemen dimensions array conditions:

    • Anda harus menetapkan nilai properti proxy ke ALL.
    • Properti statusCode hanya mendukung nilai 4xx, 503, 504, and 5xx.
    • developerApp, collection, faultCodeCategory, Properti faultCodeSubCategory dan faultCodeName tidak didukung.
  • Properti reportEnabled tidak didukung untuk notifikasi anomali.

Contoh panggilan API berikut membuat pemberitahuan anomali yang dipicu saat kode status 5xx terjadi pada kecepatan sedang untuk semua proxy API di lingkungan produksi untuk region mana pun. Notifikasi dikirim ke alamat email yang ditetapkan saat notifikasi dipicu:

curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
 -X POST \
 -H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -d '{
     "organization":"myorg",
     "name":"5xx Anomaly Alert",
     "description":"My 5xx alert",
     "environment":"prod",
     "enabled":true,
     "alertType": "runtime",
     "alertSubType": "anomaly",
     "conditions":[
     {
        "description":"",
        "dimensions":{
            "org":"myorg",
            "env":"prod",
            "proxy":"ALL",
            "region":"ANY",
            "statusCode":"5xx"
        },
        "metric":"count",
        "threshold": "moderate"
     }
     ],
     "notifications":[{
         "channel":"email",
         "destination":"ops@acme.com"
     }],
     "playbook":"http://acme.com/myplaybook.html",
     "throttleIntervalSeconds":3600
    }'

Menggunakan Event API dengan anomali

Menggunakan /metrics/events API untuk mendapatkan semua peristiwa di organisasi selama interval waktu yang ditentukan. Daftar peristiwa mencakup anomali yang terdeteksi oleh Edge dan pemberitahuan yang dipicu. Notifikasi dapat mencakup notifikasi tetap dan anomali.

Secara default, API menampilkan semua peristiwa untuk jam sebelumnya. Gunakan from dan to parameter kueri untuk menentukan durasi yang berbeda. from dan to nilai parameter kueri untuk menentukan durasi yang berbeda.

Misalnya, panggilan API berikut menampilkan semua peristiwa di organisasi myorg selama 12 jam sebelumnya:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&from=-12h&to=now"

Tetapkan $ACCESS_TOKEN ke token akses OAuth 2.0 Anda, seperti yang dijelaskan di Dapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi cURL yang digunakan dalam contoh ini, lihat Menggunakan cURL.

Panggilan berikutnya akan menampilkan semua peristiwa anomali dengan nilai minimum sedang selama 24 jam terakhir:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://apimonitoring.enterprise.apigee.com/metrics/events?org=myorg&type=anomaly&threshold=moderate&from=-24h&to=now"

Hanya parameter kueri org yang diperlukan untuk API ini. Bersama dengan parameter kueri yang dijelaskan dalam dokumen API di /metrics/events, API ini mendukung opsi berikut untuk mendukung deteksi anomali:

Nama Deskripsi Default
threshold

Filter peristiwa menurut nilai minimum yang ditentukan: slight, moderate, atau severe.

Hanya diizinkan saat Anda menetapkan type=anomaly.

Semua tingkat keseriusan
type Filter peristiwa menurut jenis yang ditentukan: alert atau anomaly. Tentukan beberapa nilai sebagai daftar yang dipisahkan koma. Semua jenis