Monitor data reference for Azure Event Grid’s MQTT broker feature (Preview)
This article provides a reference of log and metric data collected to analyze the performance and availability of MQTT broker.
Metrics
Metric | Display name | Unit | Aggregation | Description | Dimensions |
---|---|---|---|---|---|
MQTT.RequestCount | MQTT: RequestCount | Count | Total | The number of MQTT requests. | OperationType, Protocol, Result, Error |
MQTT.Throughput | MQTT: Throughput | Count | Total | The total bytes published to or delivered by the namespace. This metric includes all the MQTT packets that your MQTT clients send to the MQTT broker, regardless of their success. | Direction |
MQTT.ThrottlingEnforcements | MQTT: Throttling Enforcements | Count | Total | The number of times that any request got throttled in the namespace. | ThrottleType |
MQTT.SuccessfulPublishedMessages | MQTT: Successful Published Messages | Count | Total | The number of MQTT messages that were published successfully into the namespace. | Protocol, QoS |
MQTT.FailedPublishedMessages | MQTT: Failed Published Messages | Count | Total | The number of MQTT messages that failed to be published into the namespace. | Protocol, QoS, Error |
MQTT.SuccessfulDeliveredMessages | MQTT: Successful Delivered Messages | Count | Total | The number of messages delivered by the namespace, regardless of the acknowledgments from MQTT clients. There are no failures for this operation. | Protocol, QoS |
MQTT.SuccessfulSubscriptionOperations | MQTT: Successful Subscription Operations | Count | Total | The number of successful subscription operations (Subscribe, Unsubscribe). This metric is incremented for every topic filter within your subscription request that gets accepted by MQTT broker. | OperationType, Protocol |
MQTT.FailedSubscriptionOperations | MQTT: Failed Subscription Operations | Count | Total | The number of failed subscription operations (Subscribe, Unsubscribe). This metric is incremented for every topic filter within your subscription request that gets rejected by MQTT broker. | OperationType, Protocol, Error |
Mqtt.SuccessfulRoutedMessages | MQTT: Successful Routed Messages | Count | Total | The number of MQTT messages that were routed successfully from the namespace. | |
Mqtt.FailedRoutedMessages | MQTT: Failed Routed Messages | Count | Total | The number of MQTT messages that failed to be routed from the namespace. | Error |
MQTT.Connections | MQTT: Active Connections | Count | Total | The number of active connections in the namespace. The value for this metric is a point-in-time value. Connections that were active immediately after that point-in-time might not be reflected in the metric. | Protocol |
Mqtt.DroppedSessions | MQTT: Dropped Sessions | Count | Total | The number of dropped sessions in the namespace. The value for this metric is a point-in-time value. Sessions that were dropped immediately after that point-in-time might not be reflected in the metric. | DropReason |
Note
Each subscription request increments the MQTT.RequestCount metric, while each topic filter within the subscription request increments the subscription operation metrics. For example, consider a subscription request that is sent with five different topic filters. Three of these topic filters were succeessfully processed while two of the topic filters failed to be processed. The following list represent the resulting increments to the metrics:
- MQTT.RequestCount:1
- MQTT.SuccessfulSubscriptionOperations:3
- MQTT.FailedSubscriptionOperations:2
Metric dimensions
Dimension | Values |
---|---|
OperationType | The type of the operation. The available values include: - Publish: PUBLISH requests sent from MQTT clients to Event Grid. - Deliver: PUBLISH requests sent from Event Grid to MQTT clients. - Subscribe: SUBSCRIBE requests by MQTT clients. - Unsubscribe: UNSUBSCRIBE requests by MQTT clients. - Connect: CONNECT requests by MQTT clients. |
Protocol | The protocol used in the operation. The available values include: - MQTT3: MQTT v3.1.1 - MQTT5: MQTT v5 - MQTT3-WS: MQTT v3.1.1 over WebSocket - MQTT5-WS: MQTT v5 over WebSocket |
Result | Result of the operation. The available values include: - Success - ClientError - ServiceError |
Error | Error occurred during the operation. The available values for MQTT: RequestCount, MQTT: Failed Published Messages, MQTT: Failed Subscription Operations metrics include: -QuotaExceeded: the client exceeded one or more of the throttling limits that resulted in a failure - AuthenticationError: a failure because of any authentication reasons. - AuthorizationError: a failure because of any authorization reasons. - ClientError: the client sent a bad request or used one of the unsupported features that resulted in a failure. - ServiceError: a failure because of an unexpected server error or for a server's operational reason. Learn more about how the supported MQTT features. The available values for MQTT: Failed Routed Messages metric include: -AuthenticationError: the EventGrid Data Sender role for the custom topic configured as the destination for MQTT routed messages was deleted. -TopicNotFoundError: The custom topic that is configured to receive all the MQTT routed messages was deleted. -TooManyRequests: the number of MQTT routed messages per second exceeds the limit of the destination (namespace topic or custom topic) for MQTT routed messages. - ServiceError: a failure because of an unexpected server error or for a server's operational reason. Learn more about how the MQTT broker handles each of these routing errors. |
ThrottleType | The type of throttle limit that got exceeded in the namespace. The available values include: - InboundBandwidthPerNamespace - InboundBandwidthPerConnection - IncomingPublishPacketsPerNamespace - IncomingPublishPacketsPerConnection - OutboundPublishPacketsPerNamespace - OutboundPublishPacketsPerConnection - OutboundBandwidthPerNamespace - OutboundBandwidthPerConnection - SubscribeOperationsPerNamespace - SubscribeOperationsPerConnection - ConnectPacketsPerNamespace Learn more about the limits. |
QoS | Quality of service level. The available values are: 0, 1. |
Direction | The direction of the operation. The available values are: - Inbound: inbound throughput to Event Grid. - Outbound: outbound throughput from Event Grid. |
DropReason | The reason a session was dropped. The available values include: - SessionExpiry: a persistent session has expired. - TransientSession: a non-persistent session has expired. - SessionOverflow: a client didn't connect during the lifespan of the session to receive queued QOS1 messages until the queue reached its maximum limit. - AuthorizationError: a session drop because of any authorization reasons. |
Next steps
See the following articles:
Feedback
Submit and view feedback for