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

ISO 形式の時間範囲を指定するには、from および to クエリ パラメータを使用します。日付形式は次のいずれかを使用できます。

  • 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 クエリ パラメータを設定します。最大値として 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 をご覧ください。

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

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