使用 API 查看記錄

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

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

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

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

如要進一步瞭解 Log API,請參閱「記錄 API」。

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

下載機構和環境的記錄檔

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

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

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

根據預設,API 會傳回過去 1 小時的最新 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"

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

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

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

  • 主機別名 = 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 相關聯,且基本路徑為 /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 存取權杖。

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