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

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

以降のセクションでは、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 クエリ パラメータを設定します。最大値として 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 をご覧ください。