banshee/cloud-collection/cloud/azure/https/
service-health
The active Azure service issues, planned maintenances and advisories that touch an Azure subscription, by Azure Resource Health.
par banshee1 installation2 versions
v2Dernière
Publiée le 28 octobre 2026. One naming convention across collections; documentation completed.
Azure service health of a subscription
Returns how many Azure service issues touching a subscription are active, how many planned maintenances and advisories, and the titles of the issues, read from Azure Resource Health with a service principal that may only read. An outage of Azure itself in a region the subscription uses shows here before the tickets come in. Three watches are offered, each one set on the probe.
Versions
Generic: Azure Resource Health is one service, the same for every subscription. The collector asks for the API version 2025-05-01 of Microsoft.ResourceHealth.
How it works
POST https://login.microsoftonline.com/<azure:tenant>/oauth2/v2.0/token, the formgrant_type=client_credentials&client_id=…&client_secret=…&scope=https://management.azure.com/.default: an access token, kept thirty minutes in the probe's cache, encrypted on the poller. A token Azure no longer takes answers 401, and the collector logs in again, once.GET https://management.azure.com/subscriptions/<azure:subscription>/providers/Microsoft.ResourceHealth/events?api-version=2025-05-01&queryStartTime=<the date 30 days ago>, the token asAuthorization: Bearer, page after page bynextLink.
{"value": [{"name": "BC_1-FXZ", "properties": {"eventType": "ServiceIssue", "status": "Active", "title": "ACTIVE: Virtual machines in West US", "impact": [{"impactedService": "Virtual Machines", "impactedRegions": [{"impactedRegion": "West US", "status": "Active"}]}]}}], "nextLink": "…"} - Only the events whose
statusisActivecount.issuescounts those of typeServiceIssue,maintenancesthose of typePlannedMaintenance,advisoriesthose of typeHealthAdvisoryandSecurityAdvisory; the other types (RCA,EmergingIssues,Billing) are not counted. issue-titlesjoins the titles of the active issues by|, empty when there is none.queryStartTime: without it, Azure lists only the events updated in the last three days, and an issue still active but not updated since would drop out of the list. The collector asks for those updated in the last thirty days, the date writtenmonth/day/yearin UTC from the poller's clock.- A next page is only followed on
https://management.azure.com/, where the token may go; any other address stops the collectorunreachable. - A code 400 or 401 on the login stops the collector
misconfigured(the tenant, the client or its secret refused); a code 403 on the list (the role missing), 400 or 404 (the subscription unknown) too; any other code but 200 stops itunreachable.
The client secret comes from protocol:http:password, a secret variable: it goes in the body of the login only, to https:// only. The token is a secret too, kept in the cache and sent in a header. The events are not secret.
Prerequisites
- A service principal: an app registration in Microsoft Entra ID with a client secret. Its application (client) ID goes in
protocol:http:user, its secret inprotocol:http:password, its tenant in the variableazure:tenant. - The role Reader given to it on the subscription:
*/readand nothing else. With Azure CLI:az role assignment create --assignee <client id> --role Reader --scope /subscriptions/<subscription id>. - The poller reaches
login.microsoftonline.comandmanagement.azure.comin HTTPS. Their certificates are issued by public authorities: the profile "Standard" trusts them.
Variables
| Name | Label | Says | Default |
|---|---|---|---|
azure:tenant | Tenant | the directory (tenant) ID of the service principal, or one of its domains | — |
azure:subscription | Subscription | the ID of the subscription | — |
Outputs
| Name | Label | Unit | Per instance |
|---|---|---|---|
issues | Active service issues | — | no |
maintenances | Active planned maintenances | — | no |
advisories | Active advisories | — | no |
issue-titles | Titles of the active service issues | — | no |
Watches
| Name | Title | Kind | Defaults | Checked by default |
|---|---|---|---|---|
issue | Azure service issue | above a threshold, on issues | warning above 0: an issue of Azure is not always an outage of the services it hosts | yes |
maintenance | Azure planned maintenance | above a threshold, on maintenances | warning above 0 | no |
advisory | Azure advisory | above a threshold, on advisories | warning above 0 | no |
Limits
- The events are those Azure says touch the subscription, in every region and service; the collector does not narrow them to the services the subscription uses in a region.
- An event marked sensitive (
isEventSensitive, a security advisory) keeps its summary and its updates behind another route,fetchEventDetails, which the collector does not call: it is counted, not read. - Not checked against an Azure subscription: the route, parameters and fields are those of the Azure REST API reference (learn.microsoft.com: "Events - List By Subscription Id" in
2025-05-01, the enumerationsEventTypeValuesandEventStatusValues) and of the Microsoft identity platform ("OAuth 2.0 client credentials flow").