Documentation forServer & Application Monitor
Monitoring your applications and environment is a key capability of Hybrid Cloud Observability and is also available in a standalone module, Server & Application Monitor (SAM). Hybrid Cloud Observability and SAM are built on the self-hosted SolarWinds Platform.

Microsoft Azure IOT Hub API poller template

Use this SAM API poller template to monitor Microsoft Azure IOT Hub performance and statistic counters, including ingress and egress telemetry.

Links and screenshots herein are attributed to © 2021 Microsoft Corp., available at docs.microsoft.com.

Prerequisites

  • Use the following parameters to specify the API endpoint in the request URL:

    • ${SUBSCRIPTION_ID}
    • ${USERGROUP_ID}
    • ${IOT_HUB_ID}

    Use the following example to help locate values in Azure:

  • Configure OAuth 2.0 Azure credentials with the following values:

    • Scope: https://management.azure.com/.default
    • Access Token URL: https://login.microsoftonline.com/{TENANTID}/oauth2/v2.0/token

    Although "(optional)" appears next to the Scope field in the UI, this value is required for API pollers based on this template.

  • The IOT Hub has access control to the Application with at least the Reader role.

Notes

  • Default thresholds are not set for this template.
  • Here is a request example: https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${USERGROUP_ID}/providers/Microsoft.Devices/IotHubs/${IOT_HUB_ID}/providers/microsoft.insights/metrics?interval=PT1H&metricnames=d2c.telemetry.ingress.allProtocol,d2c.telemetry.ingress.success,c2d.commands.egress.complete.success,c2d.commands.egress.abandon.success,c2d.commands.egress.reject.success,d2c.telemetry.egress.dropped,d2c.telemetry.egress.fallback,d2c.endpoints.latency.eventHubs,d2c.endpoints.latency.serviceBusQueues,d2c.endpoints.latency.serviceBusTopics,d2c.endpoints.latency.builtIn.events,d2c.endpoints.latency.storage,d2c.twin.read.failure,d2c.twin.update.failure,c2d.methods.failure,c2d.twin.read.failure,c2d.twin.update.failure,deviceDataUsage,totalDeviceCount,connectedDeviceCount&aggregation=Average,Total&api-version=2018-01-01
  • For reference, see Microsoft.Devices/IotHubs (© 2020, Microsoft Corp., available at docs.microsoft.com).
  • You can add the following metrics:
    • C2DMessagesExpired,
    • devices.totalDevices,
    • devices.connectedDevices.allProtocol,
    • d2c.telemetry.egress.success,
    • d2c.telemetry.egress.orphaned,
    • d2c.telemetry.egress.invalid,
    • d2c.endpoints.egress.eventHubs,
    • d2c.endpoints.egress.serviceBusQueues,
    • d2c.endpoints.egress.serviceBusTopics,
    • d2c.endpoints.egress.builtIn.events,
    • d2c.endpoints.egress.storage,
    • d2c.endpoints.egress.storage.bytes,
    • d2c.endpoints.egress.storage.blobs,
    • EventGridDeliveries,
    • EventGridLatency,
    • RoutingDeliveries,
    • RoutingDeliveryLatency,
    • d2c.twin.read.success,
    • d2c.twin.read.size,
    • d2c.twin.update.success,
    • d2c.twin.update.size,
    • c2d.methods.success,
    • c2d.methods.requestSize,
    • c2d.methods.responseSize,
    • c2d.twin.read.success,
    • c2d.twin.read.size,
    • c2d.twin.update.success,
    • c2d.twin.update.size,
    • twinQueries.success,
    • twinQueries.resultSize,
    • twinQueries.failure,
    • jobs.createTwinUpdateJob.failure,
    • jobs.createDirectMethodJob.failure,
    • jobs.listJobs.failure,
    • jobs.createTwinUpdateJob.success,
    • jobs.createDirectMethodJob.success,
    • jobs.listJobs.success,
    • jobs.cancelJob.success,
    • jobs.cancelJob.failure,
    • jobs.queryJobs.success,
    • jobs.queryJobs.failure,
    • jobs.completed,
    • jobs.failed,
    • d2c.telemetry.ingress.sendThrottle,
    • dailyMessageQuotaUsed,
    • deviceDataUsageV2,
    • configurations

Available metrics

Telemetry message send attempts (total)

The number of device-to-cloud telemetry messages attempted to be sent to your IoT hub.

Unit: Count

Telemetry messages sent (total)

The number of device-to-cloud telemetry messages sent successfully to your IoT hub.

Unit: Count

C2D message deliveries completed (total)

The number of cloud-to-device message deliveries completed successfully by the device.

Unit: Count

C2D messages abandoned (total)

The number of cloud-to-device messages abandoned by the device.

Unit: Count

C2D messages rejected (total)

The number of cloud-to-device messages rejected by the device.

Unit: Count

Routing: telemetry messages dropped (total)

The number of times messages were dropped by IoT Hub routing due to dead endpoints. This value does not count messages delivered to fallback route as dropped messages are not delivered there.

Unit: Count

Routing: messages delivered to fallback (total)

The number of times IoT Hub routing delivered messages to the endpoint associated with the fallback route.

Unit: Count

Routing: message latency for Event Hub (avg)

The average latency, in milliseconds (ms), between message ingress to IoT Hub and message ingress into an Event Hub endpoint.

Unit: ms

Routing: message latency for Service Bus Queue (avg)

The average latency between message ingress to IoT Hub and telemetry message ingress into a Service Bus queue endpoint.

Unit: ms

Routing: message latency for Service Bus Topic (avg)

The average latency between message ingress to IoT Hub and telemetry message ingress into a Service Bus topic endpoint.

Unit: ms

Routing: message latency for messages/events (avg)

The average latency between message ingress to IoT Hub and telemetry message ingress into the built-in endpoint (messages/events).

Unit: ms

Routing: message latency for storage (avg)

The average latency between message ingress to IoT Hub and telemetry message ingress into a storage endpoint.

Unit: ms

Failed twin reads from devices (total)

The count of all failed device-initiated twin reads.

Unit: Count

Failed twin updates from devices (total)

The count of all failed device-initiated twin updates.

Unit: Count

Failed direct method invocations (total)

The count of all failed direct method calls.

Unit: Count

Failed twin reads from back end (total)

The count of all failed back-end-initiated twin reads.

Unit: Count

Failed twin updates from back end (total)

The count of all failed back-end-initiated twin updates.

Unit: Count

Total device data usage (total)

Bytes transferred to and from any devices connected to an IOT hub.

Unit: Bytes

Total devices (avg)

Number of devices registered to an IOT hub.

Unit: Count

Connected devices (avg).

Number of devices connected to an IOT hub.

Unit: Count