Menggunakan API deteksi anomali

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

Mendapatkan pemberitahuan

Secara default, Get alerts API menampilkan informasi tentang semua pemberitahuan yang ditentukan. API ini kini menggunakan parameter kueri untuk memungkinkan Anda memfilter hasilnya:

  • 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 ditetapkan, yang berarti menampilkan semua subjenis pemberitahuan. Tentukan anomaly untuk menampilkan pemberitahuan anomali.

Misalnya, gunakan panggilan API berikut untuk hanya menampilkan pemberitahuan yang diaktifkan untuk organisasi 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 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 pemberitahuan anomali

Gunakan API yang sama untuk membuat atau memperbarui pemberitahuan anomali seperti yang saat ini Anda lakukan untuk pemberitahuan tetap. Isi panggilan API untuk membuat atau memperbarui pemberitahuan anomali sama dengan yang digunakan untuk pemberitahuan tetap, dengan perubahan berikut:

  • Anda harus menambahkan properti baru berikut untuk menentukan bahwa pemberitahuan tersebut adalah pemberitahuan anomali:

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

    Nilai default properti ini adalah:

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

    • Properti metrics hanya menggunakan nilai:

      • count - Mengirim pemberitahuan tentang jumlah error HTTP.
      • totalLatency - Mengirim pemberitahuan untuk 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 pemberitahuan anomali.

Contoh panggilan API berikut membuat pemberitahuan anomali yang dipicu saat kode status 5xx terjadi pada tingkat sedang untuk semua proxy API di lingkungan produksi untuk wilayah mana pun. Notifikasi akan 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 events API dengan anomali

Gunakan /metrics/events API untuk mendapatkan semua peristiwa dalam organisasi untuk interval waktu yang ditentukan. Daftar peristiwa mencakup anomali yang terdeteksi oleh Edge dan pemberitahuan yang dipicu. Pemberitahuan dapat mencakup pemberitahuan tetap dan anomali.

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

Misalnya, panggilan API berikut menampilkan semua peristiwa dalam 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 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 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. Selain parameter kueri yang dijelaskan dalam dokumen API di /metrics/events, API ini mendukung opsi berikut untuk mendukung deteksi anomali:

Nama Deskripsi Default
threshold

Memfilter peristiwa berdasarkan nilai minimum yang ditentukan: slight, moderate, atau severe.

Hanya diizinkan jika Anda menetapkan type=anomaly.

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