Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
API izleme 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 gecikmeyle ilgili metrikleri yakalama
- Uyarılarla ilgili metrikleri yakalama
Metrik API hakkında daha fazla bilgi için Metrik API bölümüne bakın.
Bu örneklerde kullanılan cURL seçenekleri hakkında bilgi edinmek için cURL'ü kullanma başlıklı makaleyi inceleyin.
Metrik API'leri
Metrik 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 gibi filtreleri belirleyin. |
/latency
|
İstekler için gecikme metriklerini alma
ve arka uç hedeflerine yönlendirir. Proxy adı, aralık, hedef, durum kodu gibi filtreleri belirtebilirsiniz. |
/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 birlikte alın. |
Arıza bilgisi alma
/fault* kaynakları, 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 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.
Yanıt şu şekilde gösterilir:
{
"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 kodu 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'ye bakın.
Trafik ve gecikmeyle ilgili metrikleri yakalama
Metrics API'de, hesaplanmış metriklere ö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 son bir saatteki saniyede 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 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 ç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, son 10 dakikalık aralık için her 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, son 10 dakika içinde hesaplanır ve sonuçlara 10 dakikada bir yazılır.
ISO biçimli 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 şu şekilde olabilir:
yyyy-mm-ddThh:mm:ssZyyyy-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, göreli bir zaman aralığı belirtmek için from ve to sorgu parametrelerini kullanın. Örneğin, son bir saat için:
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şlem sayısını (tps) göstermek ü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ı kriterlerin çoğunu belirtin. Ancak /latency kaynağı için:
percentilesorgu parametresini50,90,95veya99olarak belirtmeniz gerekir. Örneğin,90değerini belirtirseniz API, toplam yanıt gecikmesi değerini 90. yüzdelik dilimde döndürür.windowsizebir dakika olarak ayarlanmıştır.
Örneğin, 1 dakikalık bir pencerede toplam gecikmeyle ilgili metrikleri 90. yüzdelik dilimde 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 Metrics API'ye bakın.
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 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 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 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"
},
…
]
Döndürülen dizideki id 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"
Ek seçenekler için Metrics API'ye bakın.