AWS API Gateway Monitoring


AWS API Gateway - An Overview

Amazon API Gateway is a fully managed service that enables developers to create, publish, maintain, monitor, and secure REST, HTTP, and WebSocket APIs at any scale. It acts as a front door for applications to access backend services like AWS Lambda, EC2, or other AWS resources. Additionally, it supports key features such as authentication, authorization, and throttling.

AWS API Gateway supports three types of services: HTTP API, REST API and WebSocket API.

  • HTTP API helps developers build and deploy HTTP-based APIs with low latency and at a lower cost compared to REST APIs.
  • REST API enables developers to create, publish, maintain, monitor, and secure RESTful APIs at any scale.
  • WebSocket API allows developers to build real-time, two-way communication APIs between clients and servers using the WebSocket protocol.

Creating a new AWS HTTP API/REST API/WebSocket API monitor

To learn how to create a new AWS HTTP API/REST API/WebSocket API monitor, refer here.

Monitored Parameters

Go to the Monitors Category View by clicking the Monitors tab. Click on HTTP API or REST API or WebSocket API from the 'Child Monitors' under the Cloud Apps table. Displayed is the bulk configuration view distributed into three tabs:

  • Availability tab gives the Availability history for the past 24 hours or 30 days.
  • Performance tab gives the Health Status and events for the past 24 hours or 30 days.
  • List view enables you to perform bulk admin configurations.

Click on the monitor name to see all the Amazon API Gateway (HTTP API) metrics listed under the following tabs:

Click on the monitor name to see all the Amazon API Gateway (REST API) metrics listed under the following tabs:

Click on the monitor name to see all the Amazon API Gateway (WebSocket API) metrics listed under the following tabs:

Amazon API Gateway (HTTP API) Metrics

HTTP API - Performance Overview

ParameterDescription
REQUESTS
Request Rate The total number of API requests served per minute by the API resource between the poll interval (in requests/min).
Total Requests The total number of API requests served by the HTTP API resource between the poll interval.
DATA PROCESSED
Rate of Data Processed The rate of data processed per second between the poll interval (in MB/s).
Data Processed The total amount of data processed between the poll interval (in MB).
OVERALL LATENCY
Overall Latency The average time between when API Gateway receives a request from a client and when it returns a response to the client, between the poll interval (in ms). The latency includes the integration latency and other API Gateway overhead.
INTEGRATION LATENCY
Integration Latency The average time between when API Gateway relays a request to the backend and when it receives a response from the backend, between the poll interval (in ms).
CLIENT ERRORS
4xx Errors The total number of client-side errors captured between the poll interval.
SERVER ERRORS
5xx Errors The total number of server-side errors captured between the poll interval.
API ERROR RATE
4xx Error Rate The percentage of total API requests that resulted in client-side errors (4xx status codes) between the poll interval (in %).
5xx Error Rate The percentage of total API requests that resulted in server-side errors (5xx status codes) between the poll interval (in %).

HTTP API - Configuration

ParameterDescription
CONFIGURATION
HTTP API Name Name of the HTTP API resource.
API Endpoint The URI of the HTTP API.
Execute API Endpoint Specifies whether clients can invoke your API by using the default execute-api endpoint. Possible values: Enabled/Disabled.
API Key Selection Expression This expression is evaluated when the service determines the given request should proceed only if the client provides a valid API key. Possible values: $request.header.x-api-key/$context.authorizer.usageIdentifierKey.
Route Selection Expression The route selection expression for the API.
Creation Time The timestamp when the HTTP API resource was created.

Amazon API Gateway (REST API) Metrics

REST API - Performance Overview

ParameterDescription
REQUESTS
Request Rate The total number of API requests served per minute by the API resource between the poll interval (in requests/min).
Total Requests The total number of API requests served by the API resource between the poll interval.
OVERALL LATENCY
Overall Latency The average time between when API Gateway receives a response from the client and returns a response to the client, between the poll interval (in ms).
INTEGRATION LATENCY
Integration Latency The average time between when the API Gateway relays a request to the backend and receives a response from the backend, between the poll interval (in ms).
CLIENT ERRORS
4xx Errors The total number of client-side errors captured between the poll interval.
SERVER ERRORS
5xx Errors The total number of server-side errors captured between the poll interval.
CACHE HITS
Cache Hits The total number of requests served from the API cache between the poll interval.
CACHE MISSES
Cache Misses The total number of requests served from the backend between the poll interval.
API ERROR RATE
4xx Error Rate The percentage of total API requests that resulted in client-side errors (4xx status codes) between the poll interval (in %).
5xx Error Rate The percentage of total API requests that resulted in server-side errors (5xx status codes) between the poll interval (in %).
CACHE PERFORMANCE
Cache Hit Rate The percentage of total API requests that were successfully served from the API Gateway cache between the poll interval (in %).
Cache Miss Rate The percentage of total API requests that were not served from the cache and required a backend request between the poll interval (in %).

REST API - Configuration

ParameterDescription
CONFIGURATION
REST API Name Name of the REST API resource.
Endpoint Configuration Type Defines the endpoint configuration type of the REST API. Possible values: REGIONAL, EDGE, PRIVATE.
API Key Source The source of the API key for metering requests according to a usage plan. Possible values: HEADER/AUTHORIZER.
Execute API Endpoint Specifies whether clients can invoke the REST API by using the default execute-api endpoint. Possible values: Enabled/Disabled.
IP Address Type The type of IP address of the REST API resource.
IPV6 Enabled Specifies whether IPv6 is enabled in the REST API resource. Possible values: Yes/No.
Root Resource ID The root resource ID of the REST API resource.
Creation Time The timestamp when the REST API resource was created.

Amazon API Gateway (WebSocket API) Metrics

WebSocket API - Performance Overview

ParameterDescription
CONNECT REQUESTS
Connect Request Rate The total number of messages sent per minute to the $connect route integration between the poll interval (in messages/min).
Total Connect Requests The total number of messages sent to the $connect route integration between the poll interval.
MESSAGES
Message Rate The total number of messages sent per minute to the WebSocket API, either from or to the client between the poll interval (in messages/min).
Total Messages The total number of messages sent to the WebSocket API, either from or to the client, between the poll interval.
INTEGRATION LATENCY
Integration Latency The average time difference between API Gateway sending the request to the integration and API Gateway receiving the response from the integration between the poll interval (in ms). Suppressed for callbacks and mock integrations.
INTEGRATION ERRORS
Integration Errors The total number of requests that return a 4XX/5XX response from the integration between the poll interval.
CLIENT ERRORS
Client Errors The total number of requests that have a 4XX response returned by API Gateway before the integration is invoked between the poll interval.
EXECUTION ERRORS
Execution Errors The total errors that occurred when calling the integration between the poll interval.

WebSocket API - Configuration

ParameterDescription
CONFIGURATION
WebSocket API Name Name of the WebSocket API resource.
API Endpoint The URI of the WebSocket API.
Execute API Endpoint Specifies whether clients can invoke your API by using the default execute-api endpoint. Possible values: Enabled/Disabled.
API Key Selection Expression This expression is evaluated when the service determines the given request should proceed only if the client provides a valid API key. Possible values: $request.header.x-api-key/$context.authorizer.usageIdentifierKey.
Route Selection Expression The route selection expression for the API.
Creation Time The timestamp when the WebSocket API resource was created.