# Metrics

EMQX Broker provides users with metrics monitoring functions, allowing users and operation and maintenance personnel to know the current service status based on these metrics. The metrics monitoring function is forcibly enabled. This function has high performance, and users do not need to worry about affecting system performance in high-throughput scenarios.

EMQX Broker provides users with multiple ways to view metrics and status. Most directly, users can see this data on the Overview page of EMQX Dashboard.

If it is not convenient to access the Dashboard, they can also obtain these data through HTTP API and system topic messages. For specific operations, see HTTP API and $SYS system topic.

TIP

EMQX Broker provides the emqx_statsd (opens new window) plug-in, which is used to output the system's monitoring data to a third-party monitoring system. You can refer to Prometheus Monitoring Alarm for an example.

# Metrics & Stats

EMQX Broker divides metrics into Metrics and Stats. Metrics usually refer to data that will only increase monotonically, such as the number of sent bytes and the number of sent messages. Metrics currently provided by EMQX Broker covers the four dimensions of bytes, packets, messages, and events. Stats usually refers to data that appears in pairs, including current values and historical maximums, such as the current number of subscriptions and the historical maximum number of subscription.

# Metrics

# Byte

Name Data Type Description
bytes.received Integer Number of received bytes
bytes.sent Integer Number of send bytes

# Packet

Name Data Type Description
packets.received Integer Number of received packets
packets.sent Integer Number of sent packets
packets.connect.received Integer Number of received CONNECT packets
packets.connack.auth_error Integer Number of sent CONNACK messages with reason codes 0x86 and 0x87
packets.connack.error Integer Number of sent CONNACK packets where reason code is not 0x00. The value of this indicator is greater than or equal to the value of packets.connack.auth_error
packets.connack.sent Integer Number of sent CONNACK packets
packets.publish.received Integer Number of received PUBLISH packets
packets.publish.sent Integer Number of sent PUBLISH packets
packets.publish.inuse Integer Number of received PUBLISH packets with occupied packet identifiers
packets.publish.auth_error Integer Number of received PUBLISH packets that failed the ACL check
packets.publish.error Integer Number of received PUBLISH packets that cannot be published
packets.publish.dropped Integer Number of PUBLISH packets that were discarded due to the receiving limit
packets.puback.received Integer Number of received PUBACK packets
packets.puback.sent Integer Number of sent PUBACK packets
packets.puback.inuse Integer Number of received PUBACK messages with occupied identifiers
packets.puback.missed Integer Number of received PUBACK packets with unknown identifiers
packets.pubrec.received Integer Number of received PUBREC packets
packets.pubrec.sent Integer Number of sent PUBREC packets
packets.pubrec.inuse Integer Number of received PUBREC messages with occupied identifiers
packets.pubrec.missed Integer Number of received PUBREC packets with unknown identifiers
packets.pubrel.received Integer Number of received PUBREL packets
packets.pubrel.sent Integer Number of sent PUBREL packets
packets.pubrel.missed Integer Number of received PUBREL packets with unknown identifiers
packets.pubcomp.received Integer Number of received PUBCOMP packets
packets.pubcomp.sent Integer Number of sent PUBCOMP packets
packets.pubcomp.inuse Integer Number of received PUBCOMP messages with occupied identifiers
packets.pubcomp.missed Integer Number of missed PUBCOMP packets
packets.subscribe.received Integer Number of received SUBSCRIBE packets
packets.subscribe.error Integer Number of received SUBSCRIBE packets with failed subscriptions
packets.subscribe.auth_error Integer Number of received SUBACK packets that failed the ACL check
packets.suback.sent Integer Number of sent SUBACK packets
packets.unsubscribe.received Integer Number of received UNSUBSCRIBE packets
packets.unsubscribe.error Integer Number of received UNSUBSCRIBE packets with failed unsubscriptions
packets.unsuback.sent Integer Number of sent UNSUBACK packets
packets.pingreq.received Integer Number of received PINGREQ packets
packets.pingresp.sent Integer Number of sent PUBRESP packets
packets.disconnect.received Integer Number of received DISCONNECT packets
packets.disconnect.sent Integer Number of sent DISCONNECT packets
packets.auth.received Integer Number of received AUTH packets
packets.auth.sent Integer Number of sent AUTH packets

# Message (PUBLISH packet)

Name Data Type Description
delivery.dropped.too_large Integer The number of messages that were dropped because the length exceeded the limit when sending
delivery.dropped.queue_full Integer Number of messages with a non-zero QoS that were dropped because the message queue was full when sending
delivery.dropped.qos0_msg Integer Number of messages with QoS of 0 that were dropped because the message queue was full when sending
delivery.dropped.expired Integer Number of messages that were dropped due to message expiration when sending
delivery.dropped.no_local Integer Number of messages that were dropped due to the No Local subscription option when sending
delivery.dropped Integer Total number of messages that were dropped when sent
messages.delayed Integer Number of delay-published messages stored by EMQX Broker
messages.delivered Integer Number of messages forwarded to the subscription process internally by EMQX Broker
messages.dropped Integer Total number of messages dropped by EMQX Broker before forwarding to the subscription process
messages.dropped.expired Integer Number of messages that were dropped due to message expiration when receiving
messages.dropped.no_subscribers Integer Number of messages dropped due to no subscribers
messages.forward Integer Number of messages forwarded to other nodes
messages.publish Integer Number of messages published in addition to system messages
messages.qos0.received Integer Number of QoS 0 messages received from clients
messages.qos2.received Integer Number of QoS 1 messages received from clients
messages.qos1.received Integer Number of QoS 2 messages received from clients
messages.qos0.sent Integer Number of QoS 0 messages sent to clients
messages.qos1.sent Integer Number of QoS 1 messages sent to clients
messages.qos2.sent Integer Number of QoS 2 messages sent to clients
messages.received Integer Number of messages received from the client, which is equal to the sum of messages.qos0.received,messages.qos1.received, and messages.qos2.received
messages.sent Integer The number of messages sent to the client, which is equal to the sum of messages.qos0.sent,messages.qos1.sent, and messages.qos2.sent
messages.retained Integer Number of retained messages stored by EMQX Broker
messages.acked Integer Number of acked messages

# Event

Name Data Type Description
client.auth.anonymous Integer The number of client's final anonymous login
client.connect Integer client.connect hook trigger times
client.authenticate Integer client.authenticate hook trigger times
client.connack Integer client.connack hook trigger times
client.connected Integer client.connected hook trigger times
client.disconnected Integer client.disconnected hook trigger times
client.check_acl Integer client.check_acl hook trigger times
client.subscribe Integer client.subscribe hook trigger times
client.unsubscribe Integer client.unsubscribe hook trigger times
client.auth.success Integer Number of successful client authentications
client.auth.success.anonymous Integer Number of successful anonymous authentication
client.auth.failure Integer Number of client authentication failures
client.acl.allow Integer Number of client ACL verification passes
client.acl.deny Integer Number of client ACL verification failures
client.acl.cache_hit Integer Number of client ACL verification cache hits
session.created Integer session.created hook trigger times
session.discarded Integer session.discarded hook trigger times
session.resumed Integer session.resumed hook trigger times
session.takeovered Integer session.takeovered hook trigger times
session.terminated Integer session.terminated hook trigger times

# Stats

Name Data Type Description
connections.count Integer Current connections
connections.max Integer Historical maximum number of connections
channels.count Integer sessions.count
channels.max Integer session.max
sessions.count Integer Number of current sessions
sessions.max Integer Historical maximum number of sessions
topics.count Integer Number of current topics
topics.max Integer Historical maximum number of topics
suboptions.count Integer subscriptions.count
suboptions.max Integer subscriptions.max
subscribers.count Integer Number of current subscribers
subscribers.max Integer Historical maximum number of subscribers
subscriptions.count Integer Number of current subscriptions, including shared subscriptions
subscriptions.max Integer Historical maximum number of subscriptions
subscriptions.shared.count Integer Number of current shared subscriptions
subscriptions.shared.max Integer Historical maximum number of shared subscriptions
routes.count Integer Number of current routes
routes.max Integer Historical maximum number of routes
retained.count Integer Number of currently retained messages
retained.max Integer Historical maximum number of retained messages
What’s on this page