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.
- Metrik API'leri
- Hata bilgilerini alma
- Trafik ve gecikme metriklerini yakalama
- Uyarılar için metrikler yakalama
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 parametresini50
,90
,95
veya99
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.