使用 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 管理記錄:

如要進一步瞭解記錄檔 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"

$ACCESS_TOKEN 設為 OAuth 2.0 存取憑證,如取得 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 Router 上的虛擬主機可讓您指定網域名稱、通訊協定 (例如 HTTP/HTTPS) 和通訊埠號碼。舉例來說,您可以在 Edge Router 上定義虛擬主機,並使用下列設定:

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

根據這些設定,對與此虛擬主機相關聯的 API 代理程式提出要求時,會使用以下格式:

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

在此情況下:

  • proxy-base-path 是在建立 API Proxy 時定義,且每個 API Proxy 的值皆不相同。
  • resource-path 是可透過 API Proxy 存取的資源路徑。

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

Logs API 的下列資源發出 GET 要求,即可下載與特定虛擬主機和 base path 相關聯的 API Proxy 清單:

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

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

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

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 設為 OAuth 2.0 存取憑證,如取得 OAuth 2.0 存取憑證一文所述。

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