API'yi kullanarak metrik verilerini görüntüleme

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

API Monitoring metriklerini almak için aşağıda açıklanan API'leri kullanın. Metrikler, API Monitoring günlüklerinde yer alan ham verilerden API Monitoring tarafından toplanan veri değerleridir.

Aşağıdaki bölümlerde, API kullanılarak metriklerin nasıl yönetileceği açıklanmaktadır.

Metrikler API'si hakkında daha fazla bilgi için Metrics API'sı hakkında bilgi edinin.

Bu örneklerde kullanılan cURL seçenekleri hakkında bilgi için cURL kullanma bölümüne bakın.

Metrik API'leri

Metrikler API'sına GET isteği göndermek için kullandığınız temel URL şudur:

https://apimonitoring.enterprise.apigee.com/metrics/resource

Burada resource, belirli bir metriğe karşılık gelir. Aşağıdaki tabloda metrik kaynakları listelenmiştir:

Kaynak Açıklama
/traffic Trafik metriklerini öğrenin. Proxy adı, aralık, zaman aralığı, hedef, durum kodu gibi filtreleri ve daha fazlasını belirtin.
/latency İstekler için gecikme metrikleri alın

uçta ve arka uç hedeflerine bağlayın. Proxy adı, aralık, hedef, durum kodu ve daha pek çok filtre belirtin.

/targets Belirli bir kuruluş ve ortam için tüm hedef alanları alın.
/alerthistory Belirli bir kuruluş ve zaman aralığı için uyarı geçmişi metriklerini alın.
/alertinstance/instanceid Belirli uyarı örneği kimliği için uyarı geçmişi metriklerini alın.
/alertsummary Bir kuruluşa ve zaman aralığına ilişkin uyarıların toplam sayısını öğrenin.
/faultcodenames Tüm hata kodu adlarını alın.
/faultcodes Hata kodlarını alın.
/faultcodecategories Hata kodu kategorilerini alın.
/faultcodesubcategories Hata kodu alt kategorilerini alın.
/faultcodedetails Ayrıntılı bilgiyle tüm hata kodunu alın.

Hata bilgisi alın

/fault* kaynaklarının tümü, Edge'deki olası hatalarla ilgili meta verileri döndürür. Örneğin, olası tüm hata kategorilerinin listesini görmek için:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodecategories" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

$ACCESS_TOKEN öğesini, OAuth 2.0 erişim jetonu alma bölümünde açıklandığı gibi OAuth 2.0 erişim jetonunuza ayarlayın.

Yanıt şu şekilde görünür:

{
  "faultCodeCategories":[
    "","API Protocol","Developer/App","Extension Policy","Gateway",
    "Mediation Policy","Mint","Security Policy","Sense","Traffic Mgmt Policy"
  ]
}

Ardından API Protocol kategorisi için hata kodları listesini belirleyebilirsiniz:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/faultcodes?faultCodeCategory=API Protocol" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Ek seçenekler için Metrics API'yi inceleyin.

Trafik ve gecikme metriklerini yakalayın

Metrics API, hesaplanan metriklere özel zaman aralıkları, proxy'ler, bölgeler, ortamlar ve başka filtreler belirtmek için API'ye uygulayabileceğiniz filtreler içerir. Örneğin, tüm ortamlarda önceki saatte bir saniyedeki işlem sayısı (tps) metriğini 10 dakikada bir görüntülemek için:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=10m&groupBy=env&org=myorg" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN" 

$ACCESS_TOKEN öğesini, OAuth 2.0 erişim jetonu alma bölümünde açıklandığı gibi OAuth 2.0 erişim jetonunuza ayarlayın.

Bu çağrı, sonuçları şu biçimde döndürür:

{
  "results":[
    {
      "series":[
        {
          "name":"proxy",
        "tags":
             {
                "env":"prod",
                "intervalSeconds":"60",
                "org":"myorg",
                "region":"myregion"
              },
            "columns":["time","tps"],
            "values":[
              ["2018-08-15T13:10:00Z",5.03],
              ["2018-08-15T13:20:00Z",5.01],
              ["2018-08-15T13:30:00Z",5.81],
              ["2018-08-15T13:40:00Z",5.95],
              …
            ]
          },
       …
       }
    }]
}

columns özelliğinin values biçimini nasıl belirttiğine dikkat edin. values özelliği, önceki 10 dakikalık aralık için her 10 dakikada bir hesaplanan istek sayısını içerir.

interval sorgu parametresi, metriğin sonuçlara kaydedilme sıklığını ve sonuçlardaki değer için örnekleme aralığını tanımlar. Yukarıdaki örnekte, metrik önceki 10 dakika üzerinden hesaplanır ve sonuçlara 10 dakikada bir yazılır.

ISO biçiminde bir zaman aralığı belirtmek için from ve to sorgu parametrelerini kullanın. from ve to tarafından belirtilen maksimum süre 24 saattir.

Tarih biçimi şunlardan biri olabilir:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

Örneğin:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

Alternatif olarak, örneğin son saat için göreli bir zaman aralığı belirtmek isterseniz from ve to sorgu parametrelerini kullanabilirsiniz:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

Diğer bir seçenek de tek bir proxy için saniyedeki işlemleri (tps) görüntülemek üzere proxy sorgu parametresini kullanmaktır:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/traffic?from=-1h&to=now&select=tps&interval=1m&groupBy=env&org=myorg&proxy=PublicAPI" \
-H "accept: application/json"  \
-H "Authorization: Bearer $ACCESS_TOKEN"

Gecikme metrikleri için trafik metrikleriyle aynı ölçütlerin çoğunu belirtin. Ancak /latency kaynağı için:

  • percentile sorgu parametresini 50, 90, 95 veya 99 olarak belirtmeniz gerekir. Örneğin, 90 değerini belirtirseniz API, 90. yüzdelik dilimde toplam yanıt gecikmesi değerini döndürür.
  • windowsize, bir dakika olarak sabittir.

Örneğin, 1 dakikalık bir zaman aralığının 90. yüzdelik dilimindeki toplam gecikme metriklerini görüntülemek için:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/latency?percentile=90&select=totalLatency&from=-1h&to=now&interval=5m&windowsize=1m&groupBy=org,env,region&org=myorg" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Ek seçenekler için Metrics API'yi inceleyin.

Uyarılarla ilgili metrikleri kaydetme

Metrics API, tüm uyarılar, belirli bir uyarı veya bir uyarı özeti için metrikler döndürür. Örneğin, bir kuruluşun son bir saatteki uyarı geçmişini almak için:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alerthistory?org=myorg&from=-1h&to=now" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

$ACCESS_TOKEN öğesini, OAuth 2.0 erişim jetonu alma bölümünde açıklandığı gibi OAuth 2.0 erişim jetonunuza ayarlayın.

Bu API çağrısı şu biçimde bir yanıt döndürür:

[
  {
"id":"983c4c7a-c301-4697-95cc-9a7c53e05fac",
"organization":"myorg",
"environment":"prod",
"name":"Public Api 5xx error rate",
"type":"Alert",
"source":"https://www.apigee.net/sonar",
"raw_payload":"
{
    \"reportUUID\":\"\",
    \"reportEnabled\":false,
    \"organization\":\"myorg\",
    \"name\":\"Public Api 5xx error rate\",
    \"self\":\"/alerts/95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"description\":\"\",
    \"conditions\":[
    {
        \"comparator\":\"\u003e\",
        \"metric\":\"rate\",
        \"durationSeconds\":3600,
        \"name\":\"\",
        \"description\":\"\",
        \"threshold\":0.01,
        \"dimensions\":
        {
            \"proxy\":\"myAPI\",
            \"org\":\"myorg\",
            \"env\":\"prod\",
            \"region\":\"myRegion\",
            \"statusCode\":\"5xx\"
            }
        }],
        \"uuid\":\"95cc9ef4-345f-11e8-9fd3-12774584e062\",
    \"playbook\":\"This is a test alert.\"
    }",
"time":"2018-08-14T12:45:28Z"
 },
 …
]

Daha sonra, belirli bir uyarıyla ilgili bilgi almak için döndürülen dizideki id öğesini kullanabilirsiniz:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/metrics/alertinstance/983c4c7a-c301-4697-95cc-9a7c53e05fac" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Ek seçenekler için Metrics API'yi inceleyin.