APM Tips

Glossary

Availability test

A synthetic check that Azure Monitor runs against a URL from several Azure locations on a schedule, recording each run in the availabilityResults table.

Updated

Availability tests answer the question telemetry from inside the app can’t: can users reach it at all? A standard test sends an HTTP request on a schedule from up to 16 locations, and Microsoft recommends at least five. Beyond the response, a standard test can check the TLS certificate’s validity and remaining lifetime, use any HTTP verb, and send custom headers and a request body. A resource can hold up to 100 tests.

Each run becomes a row in availabilityResults (AppAvailabilityResults in a workspace), with the test name, location, duration and whether it succeeded:

availabilityResults
| where timestamp > ago(1d)
| summarize runs = sum(itemCount), failed = sumif(itemCount, success in~ ("false", "0")) by name, location
| order by failed desc

Standard tests are billed per run, $0.0005 in East US. A test every 5 minutes from 5 locations runs 1,440 times a day, about 43,200 times a month, which comes to $21.60. The older URL ping tests cost nothing; Microsoft extended their retirement by 24 months, to September 30, 2028. Custom tests sent from code with TrackAvailability() now sit in the archived Classic API guidance.

Sources, checked

  1. Application Insights availability testslearn.microsoft.com · checked
  2. Azure Retail Prices API, Standard Web Test Execution in East USprices.azure.com · checked

All glossary terms