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

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

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

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

Metrikler API'si hakkında daha fazla bilgi için Metrikler API'si başlıklı makaleyi inceleyin.

Bu örneklerde kullanılan cURL seçenekleri hakkında bilgi edinmek için cURL'yi kullanma başlıklı makaleyi inceleyin.

Metrik API'leri

Metrikler API'sine GET isteği göndermek için kullandığınız temel URL:

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 alma Proxy adı, aralık, zaman aralığı, hedef, durum kodu ve daha birçok filtreyi belirtin.
/latency İstekler için gecikme metriklerini alma

Edge'e ve arka uç hedeflerine gönderir. Proxy adı, aralık, hedef, durum kodu ve daha birçok filtreyi 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ş ve zaman aralığı için toplam uyarı sayısını alın.
/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 Tüm hata kodlarını ayrıntılarıyla alın.

Hata bilgilerini alma

/fault* kaynaklarının tümü, Edge'deki olası hatalarla ilgili meta veriler döndürür. Örneğin, tüm olası 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 değerini, OAuth 2.0 erişim jetonu edinme 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 kategorisinin hata kodlarının listesini belirleyebilirsiniz:

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

Diğer seçenekler için Metrics API'ye bakın.

Trafik ve gecikmeyle ilgili metrikleri yakalama

Metrics API'de, hesaplanmış metriklerde özel zaman aralıkları, proxy'ler, bölgeler, ortamlar ve diğer filtreleri belirtmek için API'ye uygulayabileceğiniz filtreler bulunur. Örneğin, tüm ortamlar için önceki saate ait saniye başına işlem (tps) metriğini 10 dakikada bir görüntülemek istiyorsanız:

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 değerini, OAuth 2.0 erişim jetonu edinme bölümünde açıklandığı gibi OAuth 2.0 erişim jetonunuza ayarlayın.

Bu çağrı, aşağıdaki biçimde sonuçlar 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 mülkü, önceki 10 dakikalık aralık için 10 dakikada bir hesaplanan tps değerini 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 boyunca hesaplanır ve 10 dakikada bir sonuçlara yazılır.

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

Tarih biçimi şu şekilde 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"

Dilerseniz from ve to sorgu parametrelerini kullanarak göreli bir zaman aralığı (ör. son bir saat) belirtebilirsiniz:

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 saniye başına işlem sayısını (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 dilimdeki toplam yanıt gecikmesi değerini döndürür.
  • windowsize bir dakika olarak sabitlenmiştir.

Örneğin, 1 dakikalık bir pencerede 90. yüzdelik dilimdeki toplam gecikmeye ilişkin metrikleri 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"

Diğer seçenekler için Metrikler API'si başlıklı makaleyi inceleyin.

Uyarılarla ilgili metrikleri yakalama

Metrics API, tüm uyarılar, belirli bir uyarı veya uyarı özeti için metrikler döndürür. Örneğin, bir kuruluşun son bir saat içindeki 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 değerini, OAuth 2.0 erişim jetonu edinme bölümünde açıklandığı gibi OAuth 2.0 erişim jetonunuza ayarlayın.

Bu API çağrısı aşağıdaki 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"
 },
 
]

Ardından, döndürülen dizideki id öğesini kullanarak belirli bir uyarı hakkında bilgi edinebilirsiniz:

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

Diğer seçenekler için Metrics API'ye bakın.