Amazon API Gateway
開発者ガイド

CloudWatch を使用した WebSocket API 実行のモニタリング

Amazon CloudWatch メトリクスとログを使用して、WebSocket API の実行をモニタリングできます。この設定は、REST API に使用される設定と似ています。

CloudWatch アクセスおよび実行のログ記録の設定方法については、「API Gateway コンソールを使用して API ログ作成をセットアップする」を参照してください。

[ログの形式] を指定する際に、記録するコンテキスト変数を選択できます。WebSocket API のコンテキスト変数のリスト (JSON 形式) の例を以下に示します。

{ "apiId" : "$context.apiId", "routeKey" : "$context.routeKey", "authorizer" : "$context.authorizer", "messageId" : "$context.messageId", "integrationLatency" : "$context.integrationLatency", "eventType" : "$context.eventType", "error" : "$context.error", "extendedRequestId" : "$context.extendedRequestId", "requestTime" : "$context.requestTime", "stage" : "$context.stage", "connectedAt" : "$context.connectedAt", "requestTimeEpoch" : "$context.requestTimeEpoch", "requestId" : "$context.requestId", "connectionId" : "$context.connectionId" }

WebSocket 固有のコンテキスト変数は、「API Gateway WebSocket API のマッピングテンプレートリファレンス」に記載されています。

WebSocket API では、次のメトリクスがサポートされています。

Metric 説明
ConnectCount $connect ルート統合に送信されるメッセージの数。
MessageCount クライアントとの間で送受信される、WebSocket API に送信されるメッセージの数。
IntegrationError 統合から 4XX/5XX レスポンスを返すリクエストの数。
ClientError 統合が呼び出される前に API Gateway によって返された 4XX レスポンスを持つリクエストの数。
ExecutionError 統合を呼び出す際に発生したエラー。
IntegrationLatency API Gateway による統合へのリクエストの送信から、API Gateway による統合からのレスポンスの受信までの時間の差。コールバックと Mock 統合では除外されます。

API Gateway のメトリクスをフィルタするには、次の表のディメンションを使用できます。

ディメンション 説明
ApiId 指定された API ID で、API に対する API Gateway メトリクスがフィルタリングされます。
ApiId、ステージ 指定された API ID とステージ ID で、API ステージに対する API Gateway メトリクスがフィルタリングされます。
ApiId、ステージ、ルート

指定された API ID、ステージ ID、ルート ID で、API メソッドに対する API Gateway メトリクスがフィルタリングされます。

API Gateway は、明示的に詳細な CloudWatch メトリクスを有効にしていない場合、そのようなメトリクスを送信しません。これを行うには、API Gateway V2 REST API の UpdateStage アクションを呼び出して、metricsEnabled プロパティを true に更新します。このようなメトリクスを有効にすることで、アカウントに追加料金が発生します。料金の詳細については、「Amazon CloudWatch の料金」を参照してください。