Azure Monitors: Enabling Data Collection for Non-Default Resource States

Azure Monitors: Enabling Data Collection for Non-Default Resource States

Azure Monitors – Status-Based Data Collection

Overview

For Azure monitors in Applications Manager, performance data collection is controlled by the resource's operational state (for example, provisioning state, power state, or service status). By default, data collection is performed only when the resource is in its expected healthy state.

If the resource is in any other state, the monitor will be marked as DOWN, and data collection will be skipped. This article explains the default states for each monitor type and how to customize the states so that data collection continues for additional states.

Default Behavior

Resource stateBehavior
Matches configured state(s)Data collection proceeds normally. ✅
Does not match configured state(s)Monitor availability is marked as DOWN, and data collection is skipped. ❌

How to Enable Data Collection for Additional States

Follow the steps below to allow data collection to continue when the resource is in configured states.
  1. Global Config Key Format: The key follows the format am.<monitortype_in_lowercase>.up.status.list.
Notes
Note: The monitor type portion of the key must always be in lowercase. Refer to the Applicable Monitor Types table below for the exact key for each monitor.

Step 1 — Identify the Monitor Type and Key

Identify the Azure Monitor type for which you want to allow data collection in additional resource states. Next, look up the corresponding Global Config key from the table below.

InfoExample: For Azure Data Factory, the key is am.azuredatafactory.up.status.list.

Step 2 — Check if the Key Already Exists

Run the following query to check whether the key already exists in the Global Config table:

Quote
SELECT * FROM AM_GLOBALCONFIG WHERE NAME = 'am.azuredatafactory.up.status.list';

Step 3a — If Key Does NOT Exist: Insert a New Entry

If the SELECT query returns no results, insert the key with the desired comma-separated states:

Quote
INSERT INTO AM_GLOBALCONFIG (NAME, VALUE) VALUES ('am.azuredatafactory.up.status.list', 'Succeeded,Updating');

Step 3b — If Key Already Exists: Update the Existing Entry.

If the SELECT query returns a result, update the existing entry with the desired comma-separated states:

Quote
UPDATE AM_GLOBALCONFIG SET VALUE = 'Succeeded,Updating' WHERE NAME = 'am.azuredatafactory.up.status.list';

Step 4 — Restart Applications Manager

After updating the Global Config table, restart your build for the changes to take effect.

Alert
Important: Always include the default healthy state (Succeeded) along with any additional states.
For example: Succeeded, Updating
If only Updating is configured, data collection will stop when the resource returns to the Succeeded state.

Example Scenario

Problem: An Azure Data Factory resource is updating. The monitor shows the error:

"Unable to perform data collection as the AzureDataFactory Provisioning State is in Updating state."

Solution: Allow data collection for both Succeeded and Updating states:

  1. Check if the key exists:
  2. Quote
    SELECT * FROM AM_GLOBALCONFIG WHERE NAME = 'am.azuredatafactory.up.status.list';
  3. If the key does not exist, insert it:
  4. Quote
    INSERT INTO AM_GLOBALCONFIG (NAME, VALUE) VALUES ('am.azuredatafactory.up.status.list', 'Succeeded,Updating');
  5. If the key already exists, update it:
  6. Quote
    UPDATE AM_GLOBALCONFIG SET VALUE = 'Succeeded,Updating' WHERE NAME = 'am.azuredatafactory.up.status.list';
  7. Restart the Applications Manager build. The monitor will now collect data in both Succeeded and Updating states.

To Revert to Default Behavior

To restore the default behavior (data collection only when the resource is in its default healthy state), use one of the following methods:
Option 1 — Update the key value back to the default state:
Quote
UPDATE AM_GLOBALCONFIG SET VALUE = 'Succeeded' WHERE NAME = 'am.azuredatafactory.up.status.list';
Option 2 — Remove the key from the table:
Quote
DELETE FROM AM_GLOBALCONFIG WHERE NAME = 'am.azuredatafactory.up.status.list';
Notes
Note: If the key is removed, the default state defined for that monitor type will be automatically used.

Default States and Global Config Keys per Monitor Type

Each Azure monitor type has its own default state and Global Config key. The table below lists all supported monitors:
Notes
Note: Azure Storage Account, Azure Premium Storage Account, and Azure DNS Zone monitors do not use resource state to determine availability. Data collection continues regardless of the resource state, and therefore no Global Config key is applicable to these monitor types.
Monitors with a Single State Key
The following monitors use one Global Config key to control allowed states:
Monitor TypeGlobal Config KeyState CheckedDefault State
Azure App Planam.azureappplan.up.status.listProvisioning StateSucceeded
Azure App Serviceam.azureappservice.up.status.listWeb App StateRunning
Azure Application Gatewayam.azureapplicationgateway.up.status.listProvisioning StateSucceeded
Azure Backup Vaultam.azurebackupvault.up.status.listProvisioning StateSucceeded
Azure Bastionam.azurebastion.up.status.listProvisioning StateSucceeded
Azure Connectionam.azureconnection.up.status.listProvisioning StateSucceeded
Azure Container Appam.azurecontainerapp.up.status.listProvisioning StateSucceeded
Azure Container Instanceam.azurecontainerinstance.up.status.listProvisioning StateSucceeded
Azure Container Registryam.azurecontainerregistry.up.status.listProvisioning StateSucceeded
Azure Cosmos DBam.azurecosmosdb.up.status.listProvisioning StateSucceeded
Azure Data Factoryam.azuredatafactory.up.status.listProvisioning StateSucceeded
Azure DNS Zoneam.azurednszone.up.status.listProvisioning StateSucceeded
Azure Event Hub Clusteram.azureeventhubcluster.up.status.listProvisioning StateSucceeded
Azure Event Hub Namespaceam.azureeventhubnamespace.up.status.listProvisioning StateSucceeded
Azure Express Route Circuitam.azureexpressroutecircuit.up.status.listCircuit Provisioning StateEnabled
Azure Firewallam.azurefirewall.up.status.listProvisioning StateSucceeded
Azure Front Door and CDN Profileam.azurefrontdoorandcdnprofile.up.status.listProvisioning StateSucceeded
Azure Front Door Classicam.azurefrontdoorclassic.up.status.listProvisioning StateSucceeded
Azure Functionsam.azurefunctions.up.status.listFunction App StateRunning
Azure Key Vault Managed HSMam.azurekeyvaultmanagedhsm.up.status.listProvisioning StateSucceeded
Azure Key Vaultsam.azurekeyvaults.up.status.listProvisioning StateSucceeded
Azure Load Balanceram.azureloadbalancer.up.status.listProvisioning StateSucceeded
Azure Logic App Consumptionam.azurelogicappconsumption.up.status.listProvisioning StateSucceeded
Azure Logic App Standardam.azurelogicappstandard.up.status.listProvisioning StateSucceeded
Azure MariaDB Serveram.azuremariadbserver.up.status.listStateReady
Azure MySQL Serveram.azuremysqlserver.up.status.listStateReady,Starting,Updating
Azure Network Interfaceam.azurenetworkinterface.up.status.listProvisioning StateSucceeded
Azure Network Watcher Connectionam.azurenetworkwatcherconnection.up.status.listProvisioning StateSucceeded
Azure PostgreSQL Serveram.azurepostgresqlserver.up.status.listStateReady
Azure PostgreSQL Server Singleam.azurepostgresqlserversingle.up.status.listStateReady
Azure Private DNS Zoneam.azureprivatednszone.up.status.listProvisioning StateSucceeded
Azure Private Endpointam.azureprivateendpoint.up.status.listProvisioning StateSucceeded
Azure Private Link Serviceam.azureprivatelinkservice.up.status.listProvisioning StateSucceeded
Azure Public IP Addressam.azurepublicipaddress.up.status.listProvisioning StateSucceeded
Azure Recovery Service Vaultam.azurerecoveryservicevault.up.status.listProvisioning StateSucceeded
Azure Redis Cacheam.azurerediscache.up.status.listProvisioning StateSucceeded
Azure Redis Cache Enterpriseam.azurerediscacheenterprise.up.status.listResource StateRunning
Azure Relayam.azurerelay.up.status.listProvisioning StateSucceeded
Azure Service Busam.azurearmservicebus.up.status.listNamespace StatusActive
Azure SQL Databaseam.azuresqldatabase.up.status.listDatabase StatusOnline
Azure SQL Elastic Poolam.azuresqlelasticpool.up.status.listStateReady
Azure Storage Sync Serviceam.azurestoragesyncservice.up.status.listProvisioning StateSucceeded
Azure Synapse Analyticsam.azuresynapseanalytics.up.status.listProvisioning StateSucceeded
Azure Traffic Manager Profileam.azuretrafficmanagerprofile.up.status.listProfile StatusEnabled
Azure Virtual Machineam.azurevirtualmachine.up.status.listPower StatePowerState/running
Azure Virtual Networkam.azurevirtualnetwork.up.status.listProvisioning StateSucceeded
Azure VM Scale Setsam.azurevmscalesets.up.status.listProvisioning StateSucceeded
Azure VNet Gatewayam.azurevnetgateway.up.status.listProvisioning StateSucceeded
Monitors with Two State Keys
The following monitors check two independent states. Data collection proceeds only when both states match their respective values. Each state has its own Global Config key:

Azure Kubernetes Service
Global Config KeyState CheckedDefault State
am.azurekubernetesservice.up.cluster.status.listCluster StatusRunning
am.azurekubernetesservice.up.provisioning.status.listProvisioning StateSucceeded

Azure SQL Managed Instance
Global Config KeyState CheckedDefault State
am.azuresqlmanagedinstance.up.instance.status.listInstance StateReady
am.azuresqlmanagedinstance.up.provisioning.status.listProvisioning StateSucceeded

                    New to ADSelfService Plus?

                      • Related Articles

                      • Microsoft Azure VM - Enabling Diagnostics extension for Windows & Linux VMs

                        Diagnostic Extension is now considered a legacy approach and it is limited to some server distributions. It is recommended to switch to Azure Monitor Agent (AMA). From Applications Manager v171400, Azure monitor agent is supported. Refer here to know ...
                      • Microsoft Azure VM - Enabling Azure Monitor Agent for Windows & Linux VMs

                        Purpose of Diagnostics Agent and Azure Monitor Agent Additional metrics from Azure Virtual Machine can be fetched via Diagnostic Extensions (DE) or Azure Monitor Agent (AMA). In Diagnostic Extensions, data is pushed to Azure Storage Account to which ...
                      • APMInsight - .NET Agent Data Collection - KB

                        Overview 📌 Note: For any onboarding or agent installation-related issues, please refer to the APM Insight .NET Agent Onboarding KB. This document provides a step-by-step guide to troubleshoot the data collection issue with the APM Insight .NET ...
                      • APM Insight monitor is UP, but monitor page doesn't show any data

                        Possible Causes The APM Insight monitor status corresponds to the respective agent folder pointed Java Application status i.e., as long as the Application server is running, the monitor status will be UP. 1. No Transactions Recorded: It is possible ...
                      • Azure SQL Database - FAQ

                        1. Why have we removed the Diagnostic Settings dependency in Azure SQL Database monitor? Till APM v15240: Azure SQL Database was using Diagnostic Settings to perform data collection. Prerequisites had to be fulfilled to turn on Diagnostic Settings ...