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.
- Metrik API'leri
- Hata bilgisi alma
- Trafik ve gecikme metriklerini yakalama
- Uyarılarla ilgili metrikleri kaydetme
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 parametresini50
,90
,95
veya99
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.