すべてのプロダクト
Search
ドキュメントセンター

API Gateway:Simple Log Serviceを使用したAPI呼び出しのログ管理

最終更新日:Jul 31, 2024

API Gatewayは、さまざまな機能についてSimple Log Serviceとシームレスに統合されます。 たとえば、ログの照会、ログのダウンロード、ログの多次元統計分析をリアルタイムで実行できます。 ログをObject Storage Service (OSS) またはMaxComputeに送信することもできます。

image

  • Simple Log Serviceでは、毎月500 MBのログデータを無料で生成できます。 この制限を超えるログデータを生成すると、超過分が課金されます。 詳細は、「料金」をご参照ください。

1. 概要

1.1 オンラインログクエリ

キーワードを使用してログを照会できます。 完全一致とファジー一致の両方がサポートされています。 ログクエリは、トラブルシューティングまたは統計クエリに使用できます。

1.2 API呼び出しの詳細なログ

次の表に、ログのフィールドを示します。 これらのフィールドでログを照会できます。 requestQueryString、requestHeaders、requestBody、responseHeaders、およびresponseBodyフィールドは、仮想プライベートクラウド (VPC) に接続された専用インスタンスでのみサポートされ、グループの詳細ページで設定する必要があります。

フィールド

説明

apiGroupUid

APIが属するグループのID。

apiGroupName

APIが属するグループの名前。

apiUid

API ID。

apiName

API 名。

apiStageUid

APIが呼び出された環境のID。

apiStageName

環境名。

httpMethod

APIリクエストで使用されたHTTPメソッド。

パス

APIのリクエストパス。

domain

API呼び出しに使用されたドメイン名。

statusCode

HttpStatusCode

errorMessage

返されたエラーメッセージ。

appId

APIの呼び出しに使用されたアプリケーションのID。

appName

APIの呼び出しに使用されたアプリケーションの名前。

clientIp

API呼び出しを開始したクライアントのIPアドレス。

例外

APIのバックエンドサービスによって返された特定のエラーメッセージ。

exchangeTimestamp

リクエストリンクのI/Oポイント。

  • FrontRequestStart: API Gatewayがクライアントからのリクエストの受信を開始した時点。

  • FrontRequestEnd: API Gatewayがクライアントからのリクエストの受信を完了した時点。

  • BackendRequestStart: API Gatewayがバックエンドサービスへのリクエストの転送を開始した時点。

  • BackendRequestEnd: API Gatewayがバックエンドサービスへのリクエストの転送を完了した時点。

  • BackendResponseStart: API Gatewayがバックエンドサービスから応答を受信し始めた時点。

  • BackendResponseEnd: API Gatewayがバックエンドサービスからの応答の受信を完了した時点。

  • FrontResponseStart: API Gatewayがクライアントに応答を送信し始めた時点。

  • FrontResponseEnd: API Gatewayがクライアントへの応答の送信を完了した時点。

providerAliUid

APIを提供するアカウントのID。

region

APIが存在するリージョン。たとえば、cn-hangzhouは、中国 (杭州) リージョンを示します。

requestHandleTime

APIリクエストがAPI Gatewayによって受信されたUTCの時点。

requestId

リクエスト ID。 IDはグローバルに一意です。

requestSize

リクエストサイズ 単位:バイト

responseSize

応答サイズ。 単位:バイト

serviceLatency

バックエンドリソースへのアクセスに費やされた合計時間。 合計時間には、リソースへの接続を要求するために消費された時間、接続を確立するために消費された時間、およびバックエンドサービスを呼び出すために消費された時間が含まれます。 単位:ミリ秒。

errorCode

X500ERなどのエラーコード。

requestProtocol

クライアントが要求を送信するために使用するプロトコル。 有効な値: HTTP、HTTPS、およびWS。

instanceId

APIが属するAPI GatewayインスタンスのID。

initialRequestId

APIが別のAPIを呼び出す場合 (たとえば、API-2を呼び出すAPI-1) 、initialRequestIdを使用して、API-1のリクエストIDをAPI-2のログに記録します。

clientNonce

クライアントから開始されたリクエストのX-Ca-Nonceヘッダー。

requestQueryString

クライアントから開始されたリクエストのqueryString。 このフィールドは専用インスタンス専用です。

requestHeaders

クライアントから開始されたリクエストのヘッダーの内容。 このフィールドは専用インスタンス専用です。

requestBody

クライアントから送信されたリクエストの本文。 ボディの長さは最大1,024バイトです。 このフィールドは専用インスタンス専用です。

responseHeaders

APIレスポンスのヘッダーの内容。 このフィールドは専用インスタンス専用です。

responseBody

応答の内容。 応答は、1,024バイトまでの長さを含むことができる。 このフィールドは専用インスタンス専用です。

consumerAppKey

リクエストで使用されたAppKey。

totalLatency

APIリクエストの合計レイテンシ。 単位:ミリ秒。

customTraceId

エンドツーエンドログのtraceId。

jwtClaims

JSON webトークン (JWT) クレーム。 クレームはグループレベルで設定できます。

plugin

リクエストと関連するコンテキストによってヒットしたプラグイン。

2. API Gatewayのログサービスの設定

2.1 ログサービスの設定

API Gatewayのログサービスは、2つの方法で設定できます。 最初の方法では、Simple log serviceコンソールのログ監査サービスを使用してログを同期します。 その後、すべてのリージョンからのログが設定されたプロジェクトに集約され、API Gatewayで追加の設定は必要ありません。 2番目の方法では、各リージョンの設定を同期してAPI GatewayデータをSimple Log Serviceに接続します。 このセクションでは、2つの方法について説明します。

Alibaba Gov CloudとAlibaba Finance Cloudでログを同期するための最初の方法のみがサポートされています。

2.1.1 ログ監査の設定

1. Simple Log Serviceコンソールの [ログ監査サービス] ページに移動し、中央プロジェクトのリージョンを選択します。 その後、すべてのAPI Gatewayログがこのリージョンに配信されます。

次の指示により、2つの方法のいずれかで認証を実行します。 この例では、手動認証が使用されます。

承認が完了したら、中央プロジェクトのapigateway_logでAPI Gatewayの呼び出しログを表示します。

2.1.1 API Gatewayコンソールでのログサービスの設定

1. Simple Log Serviceが有効化されていることを確認してください。 次に、Simple Log Serviceコンソールで対応するリージョンを選択し、プロジェクトとLogstoreを作成します。 この例では、中国 (杭州) リージョンが使用されています。

2. データソースとしてAPI Gatewayを選択します。

設定が完了するまで [次へ] をクリックします。

2.2 API呼び出しのログの表示

Simple log Serviceコンソールにログインして、クエリ構文に基づいてオンラインでログを表示したり、通話ログを取得したりできます。

2.3 カスタムクエリレポートの設定

ビジネス要件に基づいてカスタムクエリレポートを設定できます。 詳細については、「データベースの作成」をご参照ください。