Azure

Azure integrations

Azure Monitor across every resource type AWS Monitor exposes — VMs, App Service, AKS, Storage, SQL DB, Cosmos, Service Bus, Event Hub, Key Vault, Redis — via Workload Identity Federation.

Marketing overview & wizard walkthrough →

Auth model

Workload Identity Federation. The cloud surface hosts an OIDC issuer at /.well-known/openid-configuration; cloud-poller mints RS256 client assertions and exchanges them at Azure AD via ClientAssertionCredential. Audience = api://pulseboard; subject = pulseboard:workspace/<slug>:account/<id>.

Config schema

{
  "resourceIds": ["/subscriptions/.../resourceGroups/.../..."],
  "metrics": {
    "Microsoft.Compute/virtualMachines": ["Percentage CPU", "Available Memory Bytes"]
  },
  "aggregation": "Average",
  "granularitySec": 60,
  "maxResources": 50
}

Default metric plan

Keyed by resource type prefix: VMs, App Service, Storage, SQL DB, AKS, Cosmos, Service Bus, Event Hub, Key Vault, Redis. Drop your own resource IDs and metric names to extend it.

Series shape

azure_monitor_<snake(metric)>{ResourceType,ResourceName,Aggregation,SubscriptionId,…}

Onboarding script

./onboarding.sh \
  --app-name pulseboard-monitor \
  --subscription <sub-id> \
  --workspace-slug acme \
  --account-id <portal-account-id> \
  --issuer https://cloud.pulseboard.dev

Creates the App Registration, Service Principal, Federated Identity Credential, and assigns the Monitoring Reader role at subscription scope. Idempotent on --app-name.