使用 API 查看記錄

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

下載 API 監控記錄,即可查看用於計算 API 監控資訊主頁顯示指標的原始資料。您可以下載自訂時間範圍、特定 Proxy、特定狀態碼的記錄,以及許多其他變數的記錄。

注意:根據預設,呼叫 Logs API 時,只會傳回狀態碼為 4xx 和 5xx 的結果,不會傳回狀態碼為 2xx 的結果。這是為了限制結果數量,因為大多數結果都有狀態碼 2xx。如要取得狀態碼為 2xx 的結果,請在要求中加入 status=2xx。例如: https://apimonitoring.enterprise.apigee.com/logs?status=2xx

以下各節說明如何使用 API 管理記錄:

如要進一步瞭解 Logs API,請參閱這篇文章

如要瞭解這些範例中使用的 cURL 選項,請參閱「使用 cURL」。

下載機構和環境的記錄

使用 Logs API 下載特定機構和環境的記錄:

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

您必須使用 orgenv 查詢參數,傳遞機構和環境的名稱。

根據預設,API 會傳回前一小時的最新 10 筆記錄項目。例如:

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

如「取得 OAuth 2.0 存取權杖」一文所述,將 $ACCESS_TOKEN 設為 OAuth 2.0 存取權杖。

回應是記錄項目陣列,格式如下:

[   
  {
"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"
  },
  …
]

使用 fromto 查詢參數,指定 ISO 格式的時間範圍。日期格式可以是:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

例如:

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 有許多選用查詢參數。 舉例來說,如要查看名為 myAPI 的 Proxy 產生 HTTP 404 回應的記錄:

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 筆記錄項目,請設定 limit 查詢參數。最多可設為 1000:

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"

如需其他選項,請參閱 Logs API

列出與虛擬主機和基本路徑相關聯的 Proxy

Edge 路由器上的虛擬主機可讓您指定網域名稱、通訊協定 (例如 HTTP/HTTPS) 和通訊埠號碼。舉例來說,您可以在 Edge Router 上定義虛擬主機,並使用下列設定:

  • 主機別名 = apis.acme.com
  • port = 443
  • 已啟用 TLS

根據這些設定,與這個虛擬主機相關聯的 API Proxy 要求會使用下列格式:

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

其中:

  • 建立 API Proxy 時會定義 proxy-base-path,且每個 API Proxy 都有專屬路徑。
  • resource-path 是可透過 API Proxy 存取的資源路徑。

如要進一步瞭解虛擬主機,請參閱「關於虛擬主機」。

如要下載與特定虛擬主機和基本路徑相關聯的 API Proxy 清單,請對 Logs API 的下列資源發出 GET 要求:

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

您必須使用 orgenv 查詢參數傳遞機構和環境的名稱,以及與虛擬主機和基本路徑相關聯的 URI。

舉例來說,下列 API 呼叫會傳回與虛擬主機 http://apis.acme.com 相關聯的 Proxy,以及基本路徑為 /v1/perf 的 Proxy:

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" 

如「取得 OAuth 2.0 存取權杖」一文所述,將 $ACCESS_TOKEN 設為 OAuth 2.0 存取權杖。

如需其他選項,請參閱 Logs API