Monitoring Azure API Management Service

The Azure API Management Service sensor is automatically deployed and installed after you install the Instana agent.

Learn about the other supported Azure services with our Azure documentation.

Configuration

Azure API Management sensor can be disabled and it can be filtered by tags and resource groups. It is possible to configure Azure API Management sensor via agent configuration in <agentinstall_dir>/etc/instana/configuration.yaml by:

com.instana.plugin.azure.apimanagement:
  # Valid values: true, false
  enabled: false # enabled (true) by default
  # Comma separated list of tags in key:value format
  include_tags:
  # Comma separated list of tags in key:value format
  exclude_tags:
  # Comma separated list of resource groups
  include_resource_groups:
  # Comma separated list of resource groups
  exclude_resource_groups:

Azure API Management sensor can be disabled. To disable monitoring of the Azure API Management services use the following configuration:

com.instana.plugin.azure.apimanagement:
  enabled: false

Multiple tags and resource groups can be defined, separated by a comma. Tags should be provided as a key-value pair separated by :. In order to make configuration easier, it is possible to define which tags and resource groups you want to include in discovery or exclude from discovery. In case of defining tag or resource group in both lists (include and exclude), exclude list has higher priority. If there is no need for services filtering, the configuration should not be defined. It's not mandatory to define all values in order to enable filtering.

To include services by tags into discovery use following configuration:

com.instana.plugin.azure.apimanagement:
  include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)

To exclude services by tags from discovery use following configuration:

com.instana.plugin.azure.apimanagement:
  exclude_tags: # Comma separated list of tags in key:value format (e.g. env:dev,env:test)

To include services by resource groups into discovery use following configuration:

com.instana.plugin.azure.apimanagement:
  include_resource_groups: # Comma separated list of resource groups (e.g. rg_prod,rg_staging)

To exclude services by resource groups from discovery use following configuration:

com.instana.plugin.azure.apimanagement:
  exclude_resource_groups: # Comma separated list of resource groups (e.g. rg_dev,rg_test)

Discovery filtering can be configured on the global level for all Azure services. In case of defining filters for Azure API Management service, global filters will be overridden. For more details about global Azure service discovery filtering visit Azure Configuration.

Metrics collection

To view the metrics, select Infrastructure in the sidebar of the Instana User interface, click a specific monitored host, and then you can see a host dashboard with all the collected metrics and monitored processes.

Metrics are pulled every minute, which is the resolution Azure provides for monitoring of these services.

Configuration data

API Management Service Details Description
Name The name of the API Management service
Resource Group The resource group of the API Management service
Location The region where the API Management instance is located
Subscription Id The subscription ID of the API Management service
Publisher Name Publisher name
Provisioning State API Management service provisioning state
Gateway URL Gateway URL of the API Management service
Portal URL Publisher portal endpoint Url of the API Management service
SKU SKU (Pricing tier) of the API Management

Service Metrics

Service Metric Description
Capacity
Capacity Utilization metric for API Management service
Gateway Requests
Total Requests Number of gateway requests
Successful Requests Number of successful gateway requests
Unauthorized Requests Number of unauthorized gateway requests
Failed Requests Number of failures in gateway requests
Other Requests Number of other gateway requests
Duration (Latency) Overall duration of gateway requests in milliseconds
Event Hub Events
Successful Events Number of successful Event Hub events
TotalFailed Events Number of failed Event Hub events
Rejected Events Number of rejected Event Hub events (wrong configuration or unauthorized)
Throttled Events Number of throttled Event Hub events
Timedout Events Number of timed out Event Hub events
Dropped Events Number of events skipped because of queue size limit reached
Total Bytes Sent Total size of Event Hub events in bytes

API and Operation Metric

Metric Description
Bandwidth
Bandwidth Bandwidth consumed
Call Count
Blocked Calls Number of calls blocked due to invalid credentials. This includes calls returning HttpStatusCode.Unauthorize and HttpStatusCode.Forbidden and HttpStatusCode.TooManyRequests
Failed Calls Number of calls failed due to proxy or backend errors. This includes calls returning HttpStatusCode.BadRequest(400) and any Code between HttpStatusCode.InternalServerError (500) and 600
Other Calls Number of other calls
Successful Calls Number of successful calls. This includes calls returning HttpStatusCode <= 301 and HttpStatusCode.NotModified and HttpStatusCode.TemporaryRedirect
Total Calls Total number of calls
Cache Hits/Misses
Cache Hits Number of times when content was served from cache policy
Cache Misses Number of times content was fetched from backend
API Response Time
Average API Response Time Average time it took to process request
Maximum API Response Time Maximum time it took to process request
Minimum API Response Time Minimum time it took to process request
Service Response Time
Average Service Response Time Average time it took to process request on backend
Maximum Service Response Time Maximum time it took to process request on backend
Minimum Service Response Time Minimum time it took to process request on backend

Health signatures

For each sensor, there is a curated knowledgebase of health signatures that are evaluated continuously against the incoming metrics and are used to raise issues or incidents depending on user impact.

Built-in events trigger issues or incidents based on failing health signatures on entities, and custom events trigger issues or incidents based on the thresholds of an individual metric of any given entity.

For information about built-events for Azure API Management Service, see the Built-in events reference.