Most teams put a budget alert on the Azure subscription and stop there. But cost data arrives with a delay, and a budget says nothing when the AI model starts rejecting requests or returning errors. Users get slow or failed answers long before anyone on the team knows.
That's why every project with an AI feature should set alerts on the AI service itself: throttling, failures and token usage.
Note: A 429 response means a deployment hit its rate limit. Azure gives each deployment a number of tokens per minute (TPM). Once that is used up, further requests get a 429 until the counter resets.
| Alert | Watches | Fires when |
|---|---|---|
| Monthly budget | Cost of the subscription | Spend reaches 80% |
❌ Figure: Bad example - Only a cost alert, so nobody is told when the model throttles or fails
| Alert | Metric in Azure Monitor | Fires when |
|---|---|---|
| Throttling | Azure OpenAI Requests, status code 429 | More than 10 in 5 minutes |
| Failures | Azure OpenAI Requests, server errors | More than 5 in 5 minutes |
| Token spike | Processed Prompt Tokens and Generated Completion Tokens | Usage is far above its normal level (dynamic threshold) |
✅ Figure: Good example - Three alerts on the AI service, next to the budget alert
retry-after-ms header, so a short burst never reaches the user