Override alert thresholds
OverviewHow this feature worksMetrics alertsLog-search alertsWhich tag do customers need to create
The Alert Threshold Override feature, introduced in the 2024-09-05 release, enables both Greenfield and Brownfield customers to customize alert thresholds for specific resources during or after the deployment of AMBA-ALZ. This feature allows the use of a tag with a specific name and value to override the default alert threshold for designated resources. The new threshold value will apply exclusively to the tagged resources, replacing the global threshold specified in the parameter file.
This feature is applicable exclusively to metrics and log-search alerts, as Activity Log-based alerts do not utilize thresholds and therefore cannot benefit from this enhancement. To use this feature, customers must create a resource tag with a specific name and assign it a desired value. After deploying this release, tags can be created either before or after the remediation task execution. However, the feature’s behavior varies between Metric and Log-search alerts.
If tags are configured before the remediation tasks execution, metric alerts will be created with the specified thresholds for the tagged resources, ensuring that each resource type has the appropriate alert thresholds applied.
If the tags are configured after the remediation tasks have completed, the resource will be marked as non-compliant due to the tag being part of the compliance criteria. Customers will need to remediate the corresponding policy initiative(s) as documented in Remediate Policies to reconfigure existing alerts with the new threshold.
Considering the nature of log-search alerts, where resource information is retrieved at query runtime, it does not matter if the tags are configured before or after the remediation task execution. The log-search alert query is created with a placeholder containing the threshold specified in the parameter file and includes logic to check for the resource-specific override tag. This is made possible by the ability to correlate data in Azure Data Explorer and Azure Resource Graph with data in a Log Analytics workspace. If the specific override tag is present, the query will use the tag value as the new threshold; otherwise, it will use the default threshold from the parameter file.
For a comprehensive list of resource type friendly names, resource provider namespaces, and recommended abbreviations, refer to Abbreviation recommendations for Azure resources.
To ensure proper functionality, this feature requires specific tag names. Flexibility in tag naming is not supported in this case. The tag names must adhere to the following naming convention:
***_amba-<metricName/counterName>-threshold-Override_***
In scenarios where the same metric is used multiple times for the same resource, a differentiator value is implemented immediately after the metric name. This ensures the naming convention follows the format:
***_amba-<metricName/counterName>-<differentiator>-threshold-Override_***
The following tables provide a mapping between alert names and the corresponding tag name that need to be created. They contain information about the value type (number, string) and examples of the format:
The sample values in the tables are not meant to serve as recommendations for the override value!
Resource Type | Alert Name | Alert Type | Override Tag name | Tag value type | Example |
---|---|---|---|---|---|
Machine - Azure Arc | subscription().displayName -HybridVMHighDataDiskReadLatencyAlert | Log search | _amba-ReadLatencyMs-Data-threshold-Override_ | Number | 35 |
Machine - Azure Arc | subscription().displayName -HybridVMLowDataDiskSpaceAlert | Log search | _amba-FreeSpacePercentage-Data-threshold-Override_ | Number | 8 |
Machine - Azure Arc | subscription().displayName -HybridVMHighDataDiskWriteLatencyAlert | Log search | _amba-WriteLatencyMs-Data-threshold-Override_ | Number | 35 |
Machine - Azure Arc | subscription().displayName -HybridVMDisconnectedAlert | Log search | _amba-Disconnected-threshold-Override_ | Timespan | 5m, 10d, 2h |
Machine - Azure Arc | subscription().displayName -HybridVMHeartBeatAlert | Log search | _amba-Heartbeat-threshold-Override_ | Number | 5 |
Machine - Azure Arc | subscription().displayName -HybridVMHighNetworkInAlert | Log search | _amba-ReadBytesPerSecond-threshold-Override_ | Number | 20000000 |
Machine - Azure Arc | subscription().displayName -HybridVMHighNetworkOutAlert | Log search | _amba-WriteBytesPerSecond-threshold-Override_ | Number | 20000000 |
Machine - Azure Arc | subscription().displayName -HybridVMHighOSDiskReadLatencyAlert | Log search | _amba-ReadLatencyMs-OS-threshold-Override_ | Number | 35 |
Machine - Azure Arc | subscription().displayName -HybridVMLowOSDiskSpaceAlert | Log search | _amba-FreeSpacePercentage-OS-threshold-Override_ | Number | 8 |
Machine - Azure Arc | subscription().displayName -HybridVMHighOSDiskWriteLatencyAlert | Log search | _amba-WriteLatencyMs-OS-threshold-Override_ | Number | 35 |
Machine - Azure Arc | subscription().displayName -HybridVMHighCPUAlert | Log search | _amba-UtilizationPercentage-threshold-Override_ | Number | 90 |
Machine - Azure Arc | subscription().displayName -HybridVMLowMemoryAlert | Log search | _amba-AvailableMemoryPercentage-threshold-Override_ | Number | 8 |
Virtual machine | subscription().displayName -VMHighDataDiskReadLatencyAlert | Log search | _amba-ReadLatencyMs-Data-threshold-Override_ | Number | 35 |
Virtual machine | subscription().displayName -VMLowDataDiskSpaceAlert | Log search | _amba-FreeSpacePercentage-Data-threshold-Override_ | Number | 8 |
Virtual machine | subscription().displayName -VMHighDataDiskWriteLatencyAlert | Log search | _amba-WriteLatencyMs-Data-threshold-Override_ | Number | 35 |
Virtual machine | subscription().displayName -VMHeartBeatAlert | Log search | _amba-Heartbeat-threshold-Override_ | Number | 5 |
Virtual machine | subscription().displayName -VMHighNetworkInAlert | Log search | _amba-ReadBytesPerSecond-threshold-Override_ | Number | 20000000 |
Virtual machine | subscription().displayName -VMHighNetworkOutAlert | Log search | _amba-WriteBytesPerSecond-threshold-Override_ | Number | 20000000 |
Virtual machine | subscription().displayName -VMHighOSDiskReadLatencyAlert | Log search | _amba-ReadLatencyMs-OS-threshold-Override_ | Number | 35 |
Virtual machine | subscription().displayName -VMLowOSDiskSpaceAlert | Log search | _amba-FreeSpacePercentage-OS-threshold-Override_ | Number | 8 |
Virtual machine | subscription().displayName -VMHighOSDiskWriteLatencyAlert | Log search | _amba-WriteLatencyMs-OS-threshold-Override_ | Number | 35 |
Virtual machine | subscription().displayName -VMHighCPUAlert | Log search | _amba-UtilizationPercentage-threshold-Override_ | Number | 90 |
Virtual machine | subscription().displayName -VMLowMemoryAlert | Log search | _amba-AvailableMemoryPercentage-threshold-Override_ | Number | 8 |
Log Analytics workspace | resourceName -DailyCapLimitReachedAlert | Log search | Not available as threshold will always be 0 | Not applicable | N/A |
Application Insights | resourceName -ApplicationInsightsThrottlingLimitReachedAlert | Log search | _amba-Throttling-threshold-override_ | Number | 64000 |
Resource Type | Alert Name | Alert Type | Override Tag name | Tag value type | Example |
---|---|---|---|---|---|
Automation Account | resourceName -TotalJob | Metrics | _amba-TotalJob-threshold-Override_ | Number | 10 |
Front Door CDN profiles | resourceName -OriginHealthPercentage | Metrics | _amba-OriginHealthPercentage-threshold-Override_ | Number | 35 |
Front Door CDN profiles | resourceName -OriginLatencyAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Front Door CDN profiles | resourceName -Percentage4XXAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Front Door CDN profiles | resourceName -Percentage5XXAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Key vault | resourceName -Availability | Metrics | _amba-Availability-threshold-Override_ | Number | 80 |
Key vault | resourceName -CapacityAlert | Metrics | _amba-SaturationShoebox-threshold-Override_ | Number | 90 |
Key vault | resourceName -LatencyAlert | Metrics | _amba-ServiceApiLatency-threshold-Override_ | Number | 900 |
Key vault | resourceName -RequestsAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Azure Key Vault Managed HSM | resourceName -Availability | Metrics | _amba-Availability-threshold-Override_ | Number | 80 |
Azure Key Vault Managed HSM | resourceName -LatencyAlert | Metrics | _amba-ServiceApiLatency-threshold-Override_ | Number | 900 |
Application gateway | resourceName -agApplicationGatewayTotalTime | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Application gateway | resourceName -agBackendLastByteResponseTime | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Application gateway | resourceName -agCapacityUnits | Metrics | _amba-CapacityUnits-threshold-Override_ | Number | 90 |
Application gateway | resourceName -agComputeUnits | Metrics | _amba-ComputeUnits-threshold-Override_ | Number | 90 |
Application gateway | resourceName -agCpuUtilization | Metrics | _amba-CpuUtilization-threshold-Override_ | Number | 75 |
Application gateway | resourceName -agFailedRequests | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Application gateway | resourceName -agResponseStatus | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Application gateway | resourceName -agUnhealthyHostCount | Metrics | _amba-UnhealthyHostCount-threshold-Override_ | Number | 25 |
Firewall | resourceName -FirewallHealth | Metrics | _amba-FirewallHealth-threshold-Override_ | Number | 75 |
Firewall | resourceName -SNATPortUtilization | Metrics | _amba-SNATPortUtilization-threshold-Override_ | Number | 90 |
ExpressRoute circuit | resourceName -ArpAvailability | Metrics | _amba-ArpAvailability-threshold-Override_ | Number | 85 |
ExpressRoute circuit | resourceName -BgpAvailability | Metrics | _amba-BgpAvailability-threshold-Override_ | Number | 85 |
ExpressRoute circuit | resourceName -QosDropBitsInPerSecond | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
ExpressRoute circuit | resourceName -QosDropBitsOutPerSecond | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
ExpressRoute gateway | resourceName -GatewayERBitsInAlert | Metrics | _amba-ERGatewayConnectionBitsInPerSecond-threshold-Override_ | Number | 10 |
ExpressRoute gateway | resourceName -GatewayERBitsOutAlert | Metrics | _amba-ERGatewayConnectionBitsOutPerSecond-threshold-Override_ | Number | 10 |
ExpressRoute gateway | resourceName -GatewayERCPUAlert | Metrics | _amba-ExpressRouteGatewayCpuUtilization-threshold-Override_ | Number | 85 |
ExpressRoute port | resourceName -DirectERBitsInAlert | Metrics | _amba-PortBitsInPerSecond-threshold-Override_ | Number | 10 |
ExpressRoute port | resourceName -DirectERBitsOutAlert | Metrics | _amba-PortBitsOutPerSecond-threshold-Override_ | Number | 10 |
ExpressRoute port | resourceName -DirectERLineProtocolAlert | Metrics | _amba-LineProtocol-threshold-Override_ | Number | 0.5 |
ExpressRoute port | resourceName -DirectERRxLightLevelHighAlert | Metrics | _amba-RxLightLevel-High-threshold-Override_ | Number | 4 |
ExpressRoute port | resourceName -DirectERRxLightLevelLowAlert | Metrics | _amba-RxLightLevel-Low-threshold-Override_ | Number | 4 |
ExpressRoute port | resourceName -DirectERTxLightLevelHighAlert | Metrics | _amba-TxLightLevel-High-threshold-Override_ | Number | 4 |
ExpressRoute port | resourceName -DirectERTxLightLevelLowAlert | Metrics | _amba-TxLightLevel-Low-threshold-Override_ | Number | 4 |
Front Door | resourceName -BackendHealthPercentage | Metrics | _amba-BackendHealthPercentage-threshold-Override_ | Number | 85 |
Front Door | resourceName -BackendRequestLatencyAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Load balancer | resourceName -ALBDataPathAvailability | Metrics | _amba-VipAvailability-threshold-Override_ | Number | 85 |
Load balancer | resourceName -ALBGlobalBackendAvailability | Metrics | _amba-GlobalBackendAvailability-threshold-Override_ | Number | 85 |
Load balancer | resourceName -ALBHealthProbeStatus | Metrics | _amba-DipAvailability-threshold-Override_ | Number | 85 |
Load balancer | resourceName -ALBUsedSNATPorts | Metrics | _amba-UsedSNATPorts-threshold-Override_ | Number | 800 |
Private DNS zone | resourceName -CapacityUtilizationAlert | Metrics | _amba-VirtualNetworkLinkCapacityUtilization-threshold-Override_ | Number | 75 |
Private DNS zone | resourceName -QueryVolumeAlert | Metrics | _amba-QueryVolume-threshold-Override_ | Number | 400 |
Private DNS zone | resourceName -RecordSet_Capacity_Utilization | Metrics | _amba-RecordSetCapacityUtilization-threshold-Override_ | Number | 75 |
Private DNS zone | resourceName -RequestsAlert | Metrics | _amba-VirtualNetworkWithRegistrationCapacityUtilization-threshold-Override_ | Number | 75 |
Public IP address | resourceName -BytesInDDOSAlert | Metrics | _amba-bytesinddos-threshold-Override_ | Number | 7500000 |
Public IP address | resourceName -DDOS_Attack | Metrics | _amba-ifunderddosattack-threshold-Override_ | Number | 5 |
Public IP address | resourceName -PacketsInDDosAlert | Metrics | _amba-PacketsInDDoS-threshold-Override_ | Number | 35000 |
Public IP address | resourceName -VIPAvailabityAlert | Metrics | _amba-VipAvailability-threshold-Override_ | Number | 80 |
Traffic Manager | resourceName -EndpointHealthAlert | Metrics | _amba-EndpointHealth-threshold-Override_ | Number | 0.7 |
Virtual network gateway | resourceName -TunnelBandwidthAlert | Metrics | _amba-TunnelAverageBandwidth-threshold-Override_ | Number | 2 |
Virtual network gateway | resourceName -TunnelEgressAlert | Metrics | _amba-TunnelEgressBytes-threshold-Override_ | Number | 2 |
Virtual network gateway | resourceName -TunnelEgressPacketDropCountAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Virtual network gateway | resourceName -TunnelEgressPacketDropTSMismatchAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Virtual network gateway | resourceName -GatewayERBitsAlert | Metrics | _amba-ExpressRouteGatewayBitsPerSecond-threshold-Override_ | Number | 2 |
Virtual network gateway | resourceName -GatewayERCPUAlert | Metrics | _amba-ExpressRouteGatewayCpuUtilization-threshold-Override_ | Number | 75 |
Virtual network gateway | resourceName -TunnelIngressAlert | Metrics | _amba-TunnelIngressBytes-threshold-Override_ | Number | 2 |
Virtual network gateway | resourceName -TunnelIngressPacketDropCountAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Virtual network gateway | resourceName -TunnelIngressPacketDropTSMismatchAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Virtual network | resourceName -DDOSAttackAlert | Metrics | _amba-ifunderddosattack-threshold-Override_ | Number | 1 |
VPN Gateway | resourceName -GatewayBandwidthAlert | Metrics | _amba-tunnelaveragebandwidth-threshold-Override_ | Number | 2 |
VPN Gateway | resourceName -BGPPeerStatusAlert | Metrics | _amba-bgppeerstatus-threshold-Override_ | Number | 2 |
VPN Gateway | resourceName -TunnelEgressAlert | Metrics | _amba-tunnelegressbytes-threshold-Override_ | Number | 2 |
VPN Gateway | resourceName -TunnelEgressPacketDropCountAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
VPN Gateway | resourceName -TunnelEgressPacketDropTSMismatchAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
VPN Gateway | resourceName -TunnelIngressAlert | Metrics | _amba-tunnelingressbytes-threshold-Override_ | Number | 2 |
VPN Gateway | resourceName -TunnelIngressPacketDropCount | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
VPN Gateway | resourceName -TunnelIngressPacketDropTSMismatchAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
Storage account | resourceName -AvailabilityAlert | Metrics | _amba-Availability-threshold-Override_ | Number | 90 |
App Service plan | resourceName -CpuPercentage | Metrics | _amba-CpuPercentage-threshold-Override_ | Number | 75 |
App Service plan | resourceName -DiskQueueLengthAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
App Service plan | resourceName -HttpQueueLengthAlert | Metrics | Not available since it uses dynamic thresholds | Not applicable | N/A |
App Service plan | resourceName -MemoryPercentage | Metrics | _amba-MemoryPercentage-threshold-Override_ | Number | 75 |
Resource Type | Alert Name | Alert Type | Override Tag name | Tag value type | Example |
---|---|---|---|---|---|
Key vault | ActivityKeyVaultDelete | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Azure Key Vault Managed HSM | ActivityManagedHSMDelete | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Firewall | ActivityAzureFirewallDelete | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Route table | ActivityUDRUpdate | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
VPN Gateway | ActivityVPNGatewayDelete | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Log Analytics workspace | ActivityLAWorkspaceDelete | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Log Analytics workspace | ActivityLAWorkspaceRegenKey | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Subscription | ResourceHealthUnhealthyAlert | Resource health | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Subscription | ServiceHealthHealth | Service health | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Subscription | ServiceHealthIncident | Service health | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Subscription | ServiceHealthMaintenance | Service health | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Subscription | ServiceSecurityIncident | Service health | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Storage account | ActivitySADelete | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Application Insights | ActivityAppInsightsDelete | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Route Tables | ActivityUDRDelete | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |
Route Tables - Routes | ActivityUDRRoutesDelete | Activity Log | Not available since Activity Log based alerts do not have thresholds | Not applicable | N/A |