Search code examples
azureazure-cliazure-monitoringazure-sdkazure-sdk-python

What is the format of azure monitor metric alert conditions in Azure CLI?


The documentation for az monitor metrics alert create does not explain the format used for --conditon parameter. Seems to me the value ends up being passed as allOf argument to constructor of MetricAlertSingleResourceMultipleMetricCriteria class as seen in the Azure CLI source for metric_alert.py. However this would mean this is a list of MetricCritieria, but the documentation examples are as follows:

--condition "total transactions > 5 where ResponseType includes Success" 
--condition "avg SuccessE2ELatency > 250 where ApiName includes GetBlob or PutBlob"

which doesn't look like a valid format for the list[MetricCritieria]


Solution

  • The detailed format description is given upon calling with the -h flag:

    PS> az monitor metrics alert create -h          
    Command
        az monitor metrics alert create : Create a metric-based alert rule.
    
    Arguments
        --condition         [Required] : The condition which triggers the rule.
            Usage:  --conditon {avg,min,max,total,count} [NAMESPACE.]METRIC {=,!=,>,>=,<,<=} THRESHOLD
                               [where DIMENSION {includes,excludes} VALUE [or VALUE ...]
                               [and   DIMENSION {includes,excludes} VALUE [or VALUE ...] ...]]
    
            Dimensions can be queried by adding the 'where' keyword and multiple dimensions can be
            queried by combining them with the 'and' keyword.
    
            Values for METRIC, DIMENSION and appropriate THRESHOLD values can be obtained from `az
            monitor metrics list-definition` command.
    
            Multiple conditons can be specified by using more than one `--condition` argument.