Skip to main content
Version: NG-2.16

OCI API Gateway

Introduction

OCI API Gateway is a fully managed, scalable, and secure service that allows you to expose, manage, and monitor APIs in Oracle Cloud Infrastructure (OCI). It enables routing, authentication, authorization, rate limiting, and logging for APIs, making it easier to integrate services and applications.

Getting Started

Compatibility

vuSmartMaps supports the monitoring of OCI API Gateway for availability, request rate, error rates, and response latency.

Data Collection Method

vuSmartMaps collects OCI API Gateway metrics 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 'oci' under the 'Definition' tab.

Inputs for Configuring Data Source

  • Compartment ID: The unique identifier (OCID) of the compartment in which your API Gateway resources are located.
  • Region: The OCI region where your resources are located.
  • Credential: The tenancy, user, and PEM file required for authentication with OCI.
  • Interval (in minutes): Time interval for polling data from the OCI Gateway. Period should be between 5m – 60m.
  • Rate Limit: The Maximum requests per second. Note that the global default OCI rate limit is 5 reqs/sec.

Firewall Requirement

To collect data from this O11ySource, ensure the following ports are opened:

Source IPDestination IPDestination PortProtocolDirection
vuSmartMaps IPOCI API Gateway ListMetrics and SummarizeMetricsData API443*TCPOutbound

*Before providing the firewall requirements, please update the port based on the customer environment.

Configuring the Target

The User account provided in the configuration must have the minimum permissions listed below to collect metrics for all OCI API Gateway:


Allow group <group name> to inspect metrics in compartment <compartment name>



Allow group <group name> to read metrics in compartment <compartment name>


See also: Permissions Required for Each API Operation Note: Because the configuration requires the Compartment ID & Region, a new endpoint or monitoring configuration will need to be created to monitor a new region or compartment.

Refer to Oracle documentation for details on how to set up the monitoring endpoint access: OCI API concepts API signing key handling Required Keys and OCIDs

Configuration Steps

  • Before configuring OCI API Gateway O11ysource, you must create a 'credential' of type 'OCI' under 'Definition' tab:
  • *Name: The name of the credentials.
  • *Tenancy: The OCID of your OCI tenancy, which acts as the root container for all your OCI resources.
  • *User: The OCID of the user that will be used for authentication in API requests.
  • *Fingerprint: A unique identifier for the public key associated with the API signing key of the user.
  • *Private Key File: RSA key pair in string format. You can use the following command to convert the PEM format file into a single line string.

awk 'NF {sub(/\r/, """"); printf ""%s\\n"",$0;}' <path to API Key>

  • Enable the O11ySource.
  • Select the sources tab and press the + button to add a new instance that has to be monitored.
  • Provide the required configurations:
  • *Compartment ID
  • *Region
  • *Credential
  • *Interval (in minutes)
  • *Rate Limit (Change only if required)
  • Click Save to close the data source window.

Metrics Collected

NameDescriptionData Type
Backend ResponsesThe total number of HTTP responses returned by the back-end services.UInt32
Bytes ReceivedThe total number of bytes received by the API gateway from API clients.UInt64
Bytes SentThe total number of bytes sent by the API gateway to API clients.UInt64
API RequestsThe total number of incoming API client requests to the API gateway.UInt32
API ResponsesThe total number of HTTP responses that the API gateway has sent back.UInt32
Backend LatencyThe average time taken for the integration layer to process requests.Float32
Internal LatencyThe average time taken for internal processing within the API gateway.Float32
Gateway LatencyThe average total time taken to process requests, from receipt to response.Float32
NameThe name of the metric namespace, typically "oci_apigateway" for API Gateway metrics.String
Backend HTTP Status CategoryThe category of the HTTP response status code received from the back end (e.g., "5xx" for server errors).String
Backend HTTP Status CodeThe specific HTTP response status code received from the back end (e.g., "500" for Internal Server Error).String
Backend TypeThe type of back end to which an API gateway routes requests (e.g., "http").String
Compartment IdThe Oracle Cloud Identifier (OCID) of the compartment containing the resource.String
Deployment IdThe OCID of the API deployment.String
Deployment NameThe name of the API deployment.String
Http Method TypeThe HTTP method of incoming connections accepted by the back-end service (e.g., GET, POST).String
Http Status CategoryThe category of the HTTP response status code received from the API gateway (e.g., "5xx" for server errors).String
Http Status CodeThe specific HTTP response status code received from the API gateway (e.g., "500" for Internal Server Error).String
RegionThe Oracle Cloud Infrastructure region where the resource is located (e.g., "ap-sydney-1").String
Resource IdThe OCID of the API gateway resource.String
Resource NameThe name of the API gateway resource.String
Resource Tenant IDThe OCID of the tenancy (root compartment) that owns the resource.String
RouteThe route path for API calls to the back-end service (e.g., "/data").String
TimestampThe timestamp in ISO 8601 format.DateTime64