Anormallik algılama API'sini kullanma

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Anomali uyarıları oluşturup yönetmek ve anomali metrikleri toplamak için kullandığınız API'lerin çoğu, sabit uyarılarla kullandığınız API'lerle aynıdır. Aşağıdaki uyarı API'leri hem sabit hem de anomali uyarılarında aynı şekilde çalışır:

Ancak bazı API'lerde anomali uyarılarını desteklemek için kullanılan ek özellikler vardır. Örneğin:

$ACCESS_TOKEN ayarlanıyor

Aşağıda gösterilen tüm API çağrıları, kimlik bilgilerinizi $ACCESS_TOKEN adlı bir ortam değişkeninde iletir. $ACCESS_TOKEN değerini, OAuth 2.0 erişim jetonu edinme bölümünde açıklandığı gibi OAuth 2.0 erişim jetonunuz olarak ayarlayın. Bu örneklerde kullanılan cURL seçenekleri hakkında bilgi edinmek için cURL kullanma başlıklı makaleye bakın.

Uyarılar alma

Get alerts API'si varsayılan olarak tanımlanan tüm uyarılarla ilgili bilgileri döndürür. Bu API artık sonuçları filtrelemenize olanak tanıyan sorgu parametrelerini kabul ediyor:

  • enabled: true yalnızca etkin uyarıların döndürülmesini belirtiyorsa. Varsayılan değer false'dır.
  • alertType: Döndürülecek uyarı türünü belirtir. İzin verilen değerler runtime (varsayılan) ve cert'dir.
  • alertSubType: Döndürülecek uyarı alt türünü belirtir. Varsayılan değer ayarlanmamıştır. Bu, tüm uyarı alt türlerinin döndürüleceği anlamına gelir. Anomali uyarılarını döndürmek için anomaly değerini belirtin.

Örneğin, myorg adlı kuruluş için yalnızca etkinleştirilen uyarıları döndürmek üzere aşağıdaki API çağrısını kullanın:

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

Aşağıdaki çağrı yalnızca hem etkin hem de devre dışı olan anormallik uyarılarını döndürür:

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

Anormallik uyarısı oluşturma veya güncelleme

Şu anda sabit bir uyarı için yaptığınız gibi, anomali uyarısı oluşturmak veya güncellemek için aynı API'leri kullanın. Bir anomali uyarısı oluşturmak veya güncellemek için yapılan API çağrısının gövdesi, sabit bir uyarı için kullanılanla aynıdır. Ancak aşağıdaki değişiklikler yapılmıştır:

  • Uyarının anomali uyarısı olduğunu belirtmek için aşağıdaki yeni özellikleri eklemeniz gerekir:

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

    Bu özelliklerin varsayılan değerleri şunlardır:

    "alertType": "runtime"
    "alertSubType": "fixed"
  • conditions dizisinde:

    • metrics özelliği yalnızca şu değerleri alır:

      • count - HTTP hata sayıları hakkında uyarı gönderin.
      • totalLatency: Gecikme için uyarı oluşturun.
    • threshold özelliği sayı yerine dize alır. Desteklenen değerler şunlardır: slight, moderate ve severe.
    • durationSeconds ve comparator özellikleri desteklenmez.
  • conditions dizisinin dimensions öğesinde:

    • proxy özelliğinin değerini ALL olarak ayarlamanız gerekir.
    • statusCode özelliği yalnızca 4xx, 503, 504, and 5xx değerini destekler.
    • developerApp, collection, faultCodeCategory, faultCodeSubCategory, faultCodeName özellikleri desteklenmez.
  • Anormallik uyarıları için reportEnabled özelliği desteklenmez.

Aşağıdaki örnek API çağrısı, herhangi bir bölgedeki üretim ortamındaki tüm API proxy'leri için 5xx durum kodları orta düzeyde oluştuğunda tetiklenen bir anomali uyarısı oluşturur. Uyarı tetiklendiğinde belirtilen e-posta adresine bildirim gönderilir:

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
    }'

Etkinlikler API'sini anormalliklerle kullanma

Belirli bir zaman aralığında bir kuruluştaki tüm etkinlikleri almak için /metrics/events API'sini kullanın. Etkinlik listesinde Edge tarafından algılanan anormallikler ve tetiklenen uyarılar yer alır. Uyarılar hem sabit hem de anomali uyarılarını içerebilir.

API, varsayılan olarak önceki saate ait tüm etkinlikleri döndürür. Farklı bir süre belirtmek için from ve to sorgu parametrelerini kullanın. Farklı bir süre belirtmek için from ve to sorgu parametresi değerleri.

Örneğin, aşağıdaki API çağrısı, myorg kuruluşundaki son 12 saatte gerçekleşen tüm etkinlikleri döndürür:

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

$ACCESS_TOKEN değerini, OAuth 2.0 erişim jetonu edinme bölümünde açıklandığı gibi OAuth 2.0 erişim jetonunuz olarak ayarlayın. Bu örnekte kullanılan cURL seçenekleri hakkında bilgi edinmek için cURL'ü kullanma başlıklı makaleyi inceleyin.

Sonraki çağrı, son 24 saat içinde orta düzeyde eşiğe sahip tüm anomali etkinliklerini döndürür:

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

Bu API için yalnızca org sorgu parametresi gereklidir. /metrics/events adresindeki API dokümanında açıklanan sorgu parametrelerinin yanı sıra bu API, anomali algılamayı desteklemek için aşağıdaki seçenekleri destekler:

Ad Açıklama Varsayılan
threshold

Etkinlikleri belirtilen eşiğe göre filtreleyin: slight, moderate veya severe.

Yalnızca type=anomaly ayarını yaptığınızda izin verilir.

Tüm önem dereceleri
type Etkinlikleri belirtilen türe (alert veya anomaly) göre filtreleyin. Birden çok değeri virgülle ayrılmış liste olarak belirtin. Tüm türler