Azure

To provide visibility and insight into Azure based cloud environments, Instana automatically discovers and monitors your Azure services. Our agent can be easily installed inside or outside your Azure infrastructure. Please download the agent from the portal and install it on any (virtual) machine which has access to Azure.

Azure Remote Services monitoring will:

  • Provide real time insights into metadata, configuration, metrics
  • Watch the health of each service and alert on issues
  • Enable service discovery leveraging service information (see Service Configuration)
  • Place this insight within the context of the rest of your infrastructure/services

Agent Installation & Configuration

Currently, you will have to install the agent on a (virtual) machine inside or outside your Azure environment. One agent can monitor remote services of one subscription, so you will need multiple agents to monitor multiple Azure subscriptions.

To enable monitoring for remote-services, you have to do 2 steps:

  1. Create a service-principal account with read-access to your resources in Azure Portal
  2. Set environment-variables on the monitoring box to enable the sensors.

The environment-variables you need to set are as follows:

INSTANA_AZURE_SUBSCRIPTION = [Your-Subscription-Id]
INSTANA_AZURE_TENANT_ID = [Your-Tenant-Id]
INSTANA_AZURE_SPID = [Your-Service-Principal-Account-Id]
INSTANA_AZURE_SPSECRET = [Your-Base64-encoded-Service-Principal-Secret]

Once you set these environment-variables and start the agent, it will automatically start discovery for the supported remote-services on the specified subscription.

Multiple Service principals

Azure Monitoring API comes with a limitation of 12 000 request per Service principal which puts a limit to our sensor on the number of services we can monitor. However, there is a simple solution to this limitation, and it is to create multiple service principals.

Once you have configured multiple Service principals for your Azure subscription, update the configuration.yaml file to look like this:

com.instana.plugin.azure:
  enabled: true
  subscription: ""
  tenant: ""
  principals:
    - id: ""
      secret: ""
    - id: ""
      secret: ""

configuration.yaml file has an advantage over ENV variables when configuring the sensor, so regardless of having the ENV variables set or not, information from configuration.yaml file will be read first. If none configuration information was found in configuration.yaml file, we will try to load them from environment variables.

Filtering and tagging

Azure services discovery can be filtered by tags and resource groups. It is possible to configure those filters for complete Azure subscription via agent configuration in <agentinstall_dir>/etc/instana/configuration.yaml by: Available options in the configuration file are:

com.instana.plugin.azure:
    # 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: 

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 folowing configuration:

com.instana.plugin.azure:
    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 folowing configuration:

com.instana.plugin.azure:
    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 folowing configuration:

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

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

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

Discovery filtering can be configured on the service level also. In that case, the default configuration would be overridden. For more details about discovery filtering by specific service please visit specified service documentation.

Services

We are constantly adding new monitoring capabilities. Watch out for changes to this page to find out about new services being supported by our agent.

API Management

Read more about visibility into your Azure API Management service on our Azure API Management Docs.

App Service

Read more about visibility into your App-Services Web-Apps instances on our Azure App Service Docs.

CosmosDB

Read more about visibility into your Azure CosmosDB instances on our Azure CosmosDB Docs.

Redis Cache

Read more about visibility into your Azure Redis environment on our Azure Redis Cache Docs.

SQL Database

Read more about visibility into your Azure SQL Database service on our Azure SQL Database Docs.

SQL Elastic Pool

Read more about visibility into your Azure SQL Elastic Pool service on our Azure SQL Elastic Pool Docs.

SQL Server

Read more about visibility into your Azure SQL Server service on our Azure SQL Server Docs.

Storage

Read more about visibility into your Azure Storage service on our Azure Storage Docs.