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 pemberitahuan anomali serta mengumpulkan metrik anomali sama dengan API yang Anda gunakan dengan pemberitahuan tetap. API pemberitahuan berikut berfungsi dengan cara yang sama untuk pemberitahuan tetap dan anomali:

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

Menetapkan $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, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk informasi tentang opsi cURL yang digunakan dalam contoh ini, lihat Menggunakan cURL.

Dapatkan notifikasi

Secara default, Get alerts API menampilkan informasi tentang semua pemberitahuan yang ditentukan. API ini sekarang menggunakan parameter kueri sehingga Anda dapat memfilter hasil:

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

Misalnya, gunakan panggilan API berikut agar hanya menampilkan 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 pemberitahuan anomali, baik 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 memperbarui pemberitahuan anomali seperti yang Anda lakukan saat ini untuk pemberitahuan tetap. Isi panggilan API untuk membuat atau memperbarui notifikasi anomali sama dengan yang digunakan untuk pemberitahuan tetap, dengan perubahan berikut:

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

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

    Nilai default properti ini adalah:

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

    • Properti metrics hanya menggunakan nilai:

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

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

Contoh panggilan API berikut membuat pemberitahuan anomali yang dipicu saat kode status 5xx terjadi dengan kecepatan sedang untuk semua proxy API di lingkungan produksi untuk region mana pun. Notifikasi dikirim ke alamat email yang ditentukan saat pemberitahuan 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

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

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

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

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, seperti yang dijelaskan dalam Mendapatkan token akses OAuth 2.0. Untuk mengetahui informasi tentang opsi cURL yang digunakan dalam contoh ini, lihat Menggunakan cURL.

Panggilan berikutnya menampilkan semua peristiwa anomali dengan nilai minimum yang 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 jika Anda menetapkan type=anomaly.

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