AWS API Gateway
Introduction
Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. APIs act as the "front door" for applications to access data, business logic, or functionality from backend services.
Getting Started
Compatibility
vuSmartMaps supports monitoring HTTP and REST APIs in your AWS API Gateway
Data Collection Method
vuSmartMaps collects AWS API Gateway data using an internal data collector. This agent collects data based on the source configuration.
Prerequisites
Dependent Configuration
To configure this O11ySource, create a 'credential' of type 'aws' under the 'Definition' tab.
Inputs for Configuring Data Source
- API Gateway Name: The API gateway name to uniquely identify the source.
- AWS Region: AWS Region where the instance of this component is running. For eg: Asia Pacific (Mumbai), the region would be ap-south-1.
- AWS Credential: AWS credential that provides Access key and Secret key to access Cloudwatch.
- Period (in minutes): Specifies the interval in minutes at which data is collected. Data collection occurs once every specified period. The period should be between 1 - 60 minutes.
Firewall Requirement
To collect data from this O11ySource, ensure the following ports are opened:
Source IP | Destination IP | Destination Port | Protocol | Direction |
---|---|---|---|---|
vuSmartMaps IP | AWS CloudWatch IPs | 443* | TCP | Outbound |
*Before providing the firewall requirements, please update the port based on the customer environment.
Configuring the Target
Health and Performance metrics of AWS API Gateway is collected through AWS CloudWatch Service. So AWS CloudWatch services must be enabled in your AWS account. AWS API Gateway should have APIs configured for which monitoring is enabled. Please enable detailed metrics if you want to see resource and method level metrics for HTTP APIs.
An IAM role or user with the following permissions is required to access CloudWatch metrics.
- cloudwatch:GetMetricData
- cloudwatch:ListMetrics
Configuration Steps
Enable
the AWS API Gateway O11ySource.- Select the sources tab and press the
+
button to add a new instance that has to be monitored. - Provide the required configurations:
- *Source Name
- *AWS Region
- *Credential
- *Period
- Click
Save
to close the data source window.
Metrics Collected
Name | Description | Data Type |
---|---|---|
Total Requests | Total number of requests | UInt64 |
Total 4XX Error | Total No of client-side errors for HTTP APIs for the given time period. | UInt64 |
Total 5XX Error | Total number of server-side errors for HTTP APIs | UInt64 |
Total 4XX Error | Total No of client-side errors for REST APIs for the given time period. | UInt64 |
Total 5XX Error | Total number of server-side errors for REST APIs. | UInt64 |
Total cache Hit Count | The total number of requests served from the API cache. This is available for REST APIs. | UInt64 |
Total cache Miss Count | The total number of requests served from the back end. This is available for REST APIs. | UInt64 |
Maximum Integration Latency | The maximum time between when API Gateway relays a request to the back end and when it receives a response from the back end. | Float64 |
Average Integration Latency | The average time between when API Gateway relays a request to the back end and when it receives a response from the back end. | Float64 |
Maximum Latency | The maximum time between when requests are received and when responses are returned. | Float64 |
Average Latency | The time between when API Gateway receives a request from a client and when it returns a response to the client. The latency includes the integration_latency and other API Gateway overhead. | Float64 |
DataProcessed | The total amount of data processed in bytes. This is available for HTTP and Web Socket APIs | UInt64 |
Timestamp | Time the data is generated in the target machine | DateTime64 |
target | Target - Could be API_Id or API_Name | String |
target | Host - Data collection host | String |
Tenant Id | Tenant Id | LowCardinality(String) |
BU Id | BU Id | LowCardinality(String) |
Document Type | Document Type | LowCardinality(String) |
API Name | API Name | String |
API Id | API Id | String |
Region | AWS Region | LowCardinality(String) |
Resource | Resource URI in HTTP API. | String |
HTTP Method | HTTP Method configured for the HTTP API for which request came in. | String |