How to Enable Data Collection for Azure Monitors in Non-Default Resource States

How to Enable Data Collection for Azure Monitors in 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 (e.g., provisioning state, power state, service status & so on). By default, data collection is performed only when the resource is in the 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

Behavior Details
When state matches the configured value(s) Data collection proceeds normally ✅
When state does not match the configured value(s) Monitor availability is set to 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 pattern: 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 customize the states for data collection. Then look up the corresponding Global Config key from the table below.

Example: 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 GlobalConfig WHERE key = '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 GlobalConfig (key, 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 GlobalConfig SET value = 'Succeeded,Updating' WHERE key = 'am.azuredatafactory.up.status.list';

Step 4 — Restart the Build

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

Alert
Important: Always include Succeeded in the value along with any additional states you want to allow. If you set the value to only the new state (e.g., Updating), data collection will not run when the resource returns to Succeeded state.

Example Scenario

Problem: An Azure Data Factory resource is in Updating state. 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 GlobalConfig WHERE key = 'am.azuredatafactory.up.status.list';
  3. If the key does not exist, insert it:
  4. Quote
    INSERT INTO GlobalConfig (key, value) VALUES ('am.azuredatafactory.up.status.list', 'Succeeded,Updating');
  5. If the key already exists, update it:
  6. Quote
    UPDATE GlobalConfig SET value = 'Succeeded,Updating' WHERE key = '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 for the default state), either update the key value back to the default state or remove the key from the table, then restart the Applications Manager build.

Option 1 — Update the key value back to the default state:
Quote
UPDATE GlobalConfig SET value = 'Succeeded' WHERE key = 'am.azuredatafactory.up.status.list';
Option 2 — Remove the key from the table:
Quote
DELETE FROM GlobalConfig WHERE key = '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: Data collection for Azure Storage Account, Azure Premium Storage Account, and Azure DNS Zone monitors is not based on resource state. These monitors always collect data regardless of the resource's state, and no Global Config key is applicable for them.
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 ...
                    • Azure Virtual Machine - FAQ

                      1. How is data collection happening for Azure Virtual Machine monitors? Microsoft Azure monitor discovery modes in AppManager: AD Application mode Organizational Account mode OAuth mode Azure VM monitor - Data collection methods: Azure Monitor Azure ...
                    • Microsoft Azure - FAQ

                      1. What happens to the Azure monitor in Applications Manager when you delete any of the supported services from the Azure portal? When a resource is deleted in Azure portal, the monitor status depends on the 'Action on Deleted Resources' option. ...
                    • 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 ...
                    • 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 ...