Azure API Management
Introduction
Azure API Management (APIM) is a fully managed service provided by Microsoft Azure that enables organizations to create, publish, secure, and monitor APIs (Application Programming Interfaces). It is designed to facilitate the development, scaling, and management of APIs, helping to ensure the smooth interaction between different services, systems, and clients.
Getting Started
Compatibility
The Azure API Management O11ySource supports Azure API Management Services within standard lifecycle support.
Data Collection Method
vuSmartMaps collects Azure API Management metrics through a data collector deployed within the vuSmartMaps platform, which uses azure_monitor to retrieve performance and health metrics.
Prerequisites
Dependent Configuration
To configure this O11ySource, create a 'credential' of type 'azure' under the 'Definition' tab.
Inputs for Configuring Data Source
- Resource Name: Enter the Resource Name of API
- Resource ID: A unique identifier for the Azure resource.
- Credential: Client ID, Client Secret, Subscription ID and Tenant ID associated to the credential.
- Period (in seconds): Time interval for polling data from the Azure Event Hub. Period should be between 60 seconds – 3000 seconds.
Applications
Firewall Requirement
To collect data from this O11ySource, ensure the following ports are opened:
| Source IP | Destination IP | Destination Port | Protocol | Direction |
|---|---|---|---|---|
| vuSmartMaps Collection/Ingress node IP | Service URL | 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 Azure API Management Services are collected through Azure Monitor service. Thus, Azure Monitor must be enabled in your Azure account. Azure API Management Services should have available instances for which monitoring is enabled.
An IAM role or user with the following permissions to access Azure API Management metrics through Azure Monitor:
- Grant the Azure AD application, for which you've obtained the Client ID and Client Secret, the "Reader" role or a custom role specifically assigned with the Microsoft.Insights/metrics/read permission.
Configuration Steps
Metrics Collected
| Name | Description | Data Type |
|---|---|---|
| @timestamp | Original timestamp of the agent in string format | String |
| timestamp | Precise timestamp of the agent with milliseconds | DateTime64(3) |
| resource_group | Resource group in Azure | String |
| subscription_id | Azure subscription identifier | String |
| resource_name | Name of the Azure resource (Azure Management API) | String |
| name | Metric name of the Azure resource(e.g., capacity, requests etc.) | String |
| minimum | Minimum value of the metric over the period | Float64 |
| maximum | Maximum value of the metric over the period | Float64 |
| total | Total value of the metric over the period | Float64 |
| average | Average value of the metric over the period | Float64 |
| namespace | logical container that organizes and manages related resources | String |
