API'yi kullanarak günlükleri görüntüleme

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

API Monitoring kontrol panellerinde gösterilen metrikleri hesaplamak amacıyla kullanılan ham verileri görüntülemek için API Monitoring günlüklerini indirin. Özel zaman aralıkları, belirli proxy'ler, belirli durum kodları ve daha birçok değişken için günlükleri indirebilirsiniz.

Not: Varsayılan olarak Logs API'ye yapılan çağrılar yalnızca 4xx ve 5xx durum kodlarına sahip sonuçları döndürür, ancak 2xx koduyla döndürmez. Çoğu sonuç 2xx durum koduna sahip olduğundan bu işlem, sonuç sayısını sınırlandırmak için yapılır. 2xx durum koduyla sonuçlar almak için isteğe status=2xx ekleyin. Örneğin: https://apimonitoring.enterprise.apigee.com/logs?status=2xx.

Aşağıdaki bölümlerde, API'yi kullanarak günlükleri nasıl yönetebileceğiniz açıklanmaktadır:

Günlükler API'si hakkında daha fazla bilgi için Logs API.

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

Kuruluş ve ortam için günlükleri indirme

Logs API'yi kullanarak belirli bir kuruluş ve ortamla ilgili günlükleri indirin:

https://apimonitoring.enterprise.apigee.com/logs

Kuruluş ve ortamın adını, org ve env sorgu parametrelerini kullanarak iletmeniz gerekir.

Varsayılan olarak API, önceki bir saat için en son 10 günlük girişini döndürür. Örneğin:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod" \
-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 formdaki bir günlük girişleri dizisidir:

[   
  {
"request":"GET /v1/o/myorg/z HTTP/1.1",
    "request_length":1349,
    "request_message_id":"rrt-0623eb157b650315c-c-ne-7785-16029140-1",
    "virtual_host":"api.enterprise.apigee.com",
    "response_size":144,
    "response_time":0.551,
    "response_status":"404",
    "timestamp":"2018-08-14T17:31:07Z",
    "fault_code":"messaging.adaptors.http.flow.ErrorResponseCode",
    "fault_flow":"-",
    "fault_policy":"null/null",
    "fault_proxy":
        "/organizations/myorg/environments/prod/apiproxies/myAPI/revisions/50",
    "fault_source":"target"
  },
  …
]

ISO biçiminde bir zaman aralığı belirtmek için from ve to sorgu parametrelerini kullanın. 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/logs?org=myorg&env=prod&from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

API'de isteğe bağlı birçok sorgu parametresi bulunur. Örneğin, HTTP 404 yanıtları oluşturan myAPI adlı bir proxy'nin günlüklerini görmek için:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&proxy=myAPI&status=404" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

10'dan fazla günlük girişi döndürmek için limit sorgu parametresini ayarlayın. Bu değeri maksimum 1.000 olarak ayarlayabilirsiniz:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&proxy=myAPI&status=404&limit=200" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

Ek seçenekler için Logs API'ye göz atın.

Sanal ana makine ve temel yolla ilişkilendirilmiş proxy'leri listeleme

Uç Yönlendirici'deki sanal ana makine; alan adı, HTTP/HTTPS gibi bir protokol ve bağlantı noktası numarası belirtmenize olanak tanır. Örneğin, aşağıdaki ayarlarla Edge Yönlendirici'de bir sanal ana makine tanımlarsınız:

  • ana makine takma adı = apis.acme.com
  • bağlantı noktası = 443
  • TLS etkin

Bu ayarlara göre, bu sanal ana makineyle ilişkili bir API proxy'sine yapılan istek şu formu kullanır:

https://apis.acme.com/proxy-base-path/resource-path

Burada:

  • proxy-base-path, API proxy'si oluşturduğunuzda tanımlanır ve her API proxy'si için benzersizdir.
  • resource-path API proxy'si üzerinden erişilebilen bir kaynağın yoludur.

Sanal ana makineler hakkında daha fazla bilgi için Sanal ana makineler hakkında başlıklı makaleyi inceleyin.

Logs API'nin aşağıdaki kaynağına GET isteği göndererek belirli bir sanal ana makine ve temel yolla ilişkili API proxy'lerinin listesini indirin:

https://apimonitoring.enterprise.apigee.com/logs/apiproxies

Kuruluş ve ortam adını, org ve env sorgu parametrelerinin yanı sıra sanal ana makine ve temel yolla ilişkilendirilen URI'yi kullanarak iletmeniz gerekir.

Örneğin, aşağıdaki API çağrısı, http://apis.acme.com sanal ana makinesi ve temel yolu /v1/perf ile ilişkili proxy'leri döndürür:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs/apiproxies?org=myorg&env=prod&select=http://apis.acme.com/v1/perf" \
-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.

Ek seçenekler için Logs API'ye göz atın.