API を使用してログを表示する

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

API Monitoring のログをダウンロードして、API Monitoring ダッシュボードに表示される指標の計算に使用される元データを表示します。カスタム期間、特定のプロキシ、特定のステータス コード、その他の多くの変数のログはダウンロードできます。

注: デフォルトでは、Logs API の呼び出しは、ステータス コード 4xx および 5xx の結果のみを返します。コード 2xx の結果は返しません。ほとんどの結果のステータス コードは 2xx であるため、これは結果の数を制限するために行われます。 ステータス コード 2xx の結果を取得するには、リクエストに status=2xx を追加します。例: https://apimonitoring.enterprise.apigee.com/logs?status=2xx

以降のセクションでは、API を使用してログを管理する方法について説明します。

Logs API の詳細については、Logs API をご覧ください。

この例で使用されている cURL オプションについては、cURL を使用するをご覧ください。

組織と環境のログをダウンロードする

Logs API を使用して、特定の組織と環境のログをダウンロードします。

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

org クエリ パラメータと env クエリ パラメータを使用して、組織と環境の名前を渡す必要があります。

デフォルトでは、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"
  },
  …
]

from および to クエリ パラメータを使用して、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 には、オプションのクエリ パラメータが多数用意されています。たとえば、HTTP 404 レスポンスを生成する myAPI という名前のプロキシのログを表示するには、次のようにします。

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 クエリ パラメータを設定します。最大値は 1,000 に設定できます。

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 をご覧ください。

仮想ホストとベースパスに関連付けられているプロキシを一覧表示します。

Edge Router の仮想ホストでは、ドメイン名、HTTP/HTTPS などのプロトコル、ポート番号を指定できます。たとえば、次の設定を使用して Edge Router 上の仮想ホストを定義します。

  • ホスト エイリアス = apis.acme.com
  • ポート = 443
  • TLS が有効

これらの設定に基づいて、この仮想ホストに関連付けられている API プロキシへのリクエストでは、次の形式が使用されます。

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

ここで

  • proxy-base-path は、API プロキシの作成時に定義され、API プロキシごとに一意です。
  • resource-path は、API プロキシを介してアクセスできるリソースへのパスです。

仮想ホストの詳細については、仮想ホストについてをご覧ください。

特定の仮想ホストとベースパスに関連付けられている API プロキシのリストをダウンロードするには、Logs API の次のリソースに GET リクエストを発行します。

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

org クエリ パラメータと env クエリ パラメータ、仮想ホストとベースパスに関連付けられた URI を使用して、組織と環境の名前を渡す必要があります。

たとえば、次の API 呼び出しは、仮想ホスト http://apis.acme.com/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" 

OAuth 2.0 アクセス トークンの取得の説明に従って、$ACCESS_TOKEN を OAuth 2.0 アクセス トークンに設定します。

その他のオプションについては、Logs API をご覧ください。