API Gatewayは、さまざまな機能についてSimple Log Serviceとシームレスに統合されます。 たとえば、ログの照会、ログのダウンロード、ログの多次元統計分析をリアルタイムで実行できます。 ログをObject Storage Service (OSS) またはMaxComputeに送信することもできます。
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ポイント。
|
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 カスタムクエリレポートの設定
ビジネス要件に基づいてカスタムクエリレポートを設定できます。 詳細については、「データベースの作成」をご参照ください。