- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Supported OS
EMQX is a highly scalable, open-source MQTT broker designed for IoT (Internet of Things). MQTT stands for Message Queuing Telemetry Transport, which is a lightweight, publish-subscribe network protocol that transports messages between devices.
Key features of EMQX:
The integration of EMQX with Datadog enriches monitoring capabilities, providing valuable insights into the performance and health of MQTT brokers. This is especially beneficial in IoT applications where efficient, reliable, and real-time data transmission is critical.
Types of data sent to Datadog:
Metrics: This includes performance metrics like message throughput (messages sent/received per second), number of connected clients and more.
Node performance: Monitoring individual node performance in a cluster, such as latency, load, and operational metrics.
Operational health: Data about the health of the MQTT broker, including, error rates, and other critical indicators.
Manually install the EMQX check (note that instructions may change based on your environment):
Run datadog-agent integration install -t datadog-emqx==1.1.0
.
Edit the emqx/conf.yaml
file, located in the conf.d/
folder at the root of your Agent’s configuration directory, to start collecting your EMQX performance data.
Run the Agent’s status subcommand and look for emqx
under the Checks section.
emqx.connections.count (gauge) | Number of connection |
emqx.live.connections.count (gauge) | Number of live connection |
emqx.sessions.count (gauge) | Number of session |
emqx.topics.count (gauge) | Number of topic |
emqx.suboptions.count (gauge) | Number of subcribe options |
emqx.subscribers.count (gauge) | Number of subscriptions |
emqx.subscriptions.count (gauge) | Number of subsctriptions |
emqx.subscriptions.shared.count (gauge) | Number of shared subscriptions |
emqx.retained.count (gauge) | Number of retainer message |
emqx.delayed.count (gauge) | Number of Delayed message |
emqx.vm.cpu.use (gauge) | The CPU utilized by the virtual machine. |
emqx.vm.cpu.idle (gauge) | The CPU idle by the virtual machine. |
emqx.vm.run_queue (gauge) | The total length of all normal and dirty CPU run queues. |
emqx.vm.process.messages_in_queues (gauge) | The total Number of all client message queue. |
emqx.vm.total_memory (gauge) | The total amount of memory available to the Erlang emulator, allocated and free. May or may not be equal to the amount of memory configured in the system. Shown as byte |
emqx.vm.used_memory (gauge) | The current size of the memory being used. Shown as byte |
emqx.cluster.nodes_running (gauge) | The number of nodes currently running in the cluster. |
emqx.cluster.nodes_stopped (gauge) | The number of nodes currently stopped in the cluster. |
emqx.bytes.received.count (count) | The traffic bytes received. Shown as byte |
emqx.bytes.sent.count (count) | The traffic bytes sent Shown as byte |
emqx.packets.received.count (count) | The number of data packets transmitted |
emqx.packets.sent.count (count) | The number of data packets received |
emqx.packets.connack.sent.count (count) | The number of connack packets sent |
emqx.packets.connect.count (count) | The number of connect packets received |
emqx.packets.connack.error.count (count) | The number of connack error packets sent |
emqx.packets.connack.auth_error.count (count) | The number of connack auth_error packets sent |
emqx.packets.publish.received.count (count) | The number of publish packets received |
emqx.packets.publish.sent.count (count) | The number of publish packets sent |
emqx.packets.publish.inuse.count (count) | The number of publish packets with packetidentifterin_use error |
emqx.packets.publish.error.count (count) | The number of publish packets error |
emqx.packets.publish.auth_error.count (count) | The number of publish packets auth error |
emqx.packets.publish.dropped.count (count) | The number of publish packets dropped |
emqx.packets.puback.received.count (count) | The number of puback receive packets |
emqx.packets.puback.sent.count (count) | The number of puback sent packets |
emqx.packets.puback.inuse.count (count) | The number of puback infuse error packets |
emqx.packets.puback.missed.count (count) | The number of puback missed error packets |
emqx.packets.pubrec.received.count (count) | The number of pubrec packets received |
emqx.packets.pubrec.sent.count (count) | The number of pubrec packets sent |
emqx.packets.pubrec.inuse.count (count) | The number of pubrec packets infuse error |
emqx.packets.pubrec.missed.count (count) | The number of pubrec packets missed error |
emqx.packets.pubrel.received.count (count) | The number of pubrel packets received |
emqx.packets.pubrel.sent.count (count) | The number of pubrel packets sent |
emqx.packets.pubrel.missed.count (count) | The number of pubrel packets missed |
emqx.packets.pubcomp.received.count (count) | The number of pubcomp packets received |
emqx.packets.pubcomp.sent.count (count) | The number of pubcomp packets sent |
emqx.packets.pubcomp.inuse.count (count) | The number of pubcomp packets infuse error |
emqx.packets.pubcomp.missed.count (count) | The number of pubcomp packets missed |
emqx.packets.subscribe.received.count (count) | The number of subscribe packets received |
emqx.packets.subscribe.error.count (count) | The number of error subscribe packets |
emqx.packets.subscribe.auth_error.count (count) | The number of auth error subscribe packets |
emqx.packets.suback.sent.count (count) | The number of suback packets sent |
emqx.packets.unsuback.sent.count (count) | The number of unsuback packets sent |
emqx.packets.unsubscribe.received.count (count) | The number of unsubscribe packets received |
emqx.packets.unsubscribe.error.count (count) | The number of error unsubscribe packets |
emqx.packets.pingreq.received.count (count) | The number of pingreq packets received |
emqx.packets.pingresp.sent.count (count) | The number of pingresp packets sent |
emqx.packets.disconnect.received.count (count) | The number of disconnect packets received |
emqx.packets.disconnect.sent.count (count) | The number of disconnect packets sent |
emqx.packets.auth.received.count (count) | The number of auth packets received |
emqx.packets.auth.sent.count (count) | The number of auth packets sent |
emqx.messages.received.count (count) | The number of messages received |
emqx.messages.sent.count (count) | The number of messages sent |
emqx.messages.qos0.received.count (count) | The number of qos0 messages received |
emqx.messages.qos0.sent.count (count) | The number of qos0 messages sent |
emqx.messages.qos1.received.count (count) | The number of qos1 messages received |
emqx.messages.qos1.sent.count (count) | The number of qos1 messages sent |
emqx.messages.qos2.received.count (count) | The number of qos2 messages received |
emqx.messages.qos2.sent.count (count) | The number of qos2 messages sent |
emqx.messages.publish.count (count) | The number of messages published |
emqx.messages.dropped.count (count) | The number of messages dropped |
emqx.messages.dropped.expired.count (count) | The number of expired messages dropped |
emqx.messages.dropped.no_subscribers.count (count) | The number of no_subscribers messages dropped |
emqx.messages.forward.count (count) | The number of forward messages |
emqx.messages.retained.count (count) | The number of retained messages sent |
emqx.messages.delayed.count (count) | The number of delayed messages sent |
emqx.messages.delivered.count (count) | The number of messages delivered |
emqx.messages.acked.count (count) | The number of acked messages |
emqx.delivery.dropped.count (count) | The number of total dropped messages |
emqx.delivery.dropped.no_local.count (count) | The number of no_local delivery messages dropped |
emqx.delivery.dropped.too_large.count (count) | The number of too_large delivery messages dropped |
emqx.delivery.dropped.qos0.msg.count (count) | The number of qos0 delivery messages dropped |
emqx.delivery.dropped.queue_full.count (count) | The number of queue_full delivery messages dropped |
emqx.delivery.dropped.expired.count (count) | The number of expired delivery messages dropped |
emqx.client.connect.count (count) | The number of the client_connect hook has been executed |
emqx.client.connack.count (count) | The number of the client_connack hook has been executed |
emqx.client.connected.count (count) | The number of the client_connected hook has been executed |
emqx.client.authenticate.count (count) | The number of the client_authenticated hook has been executed |
emqx.client.auth_anonymous.count (count) | The number of clients who connected in anonymously |
emqx.client.authorize.count (count) | The number of the client_authorize hook has been executed |
emqx.client.subscribe.count (count) | The number of the client_subscribe hook has been executed |
emqx.client.unsubscribe.count (count) | The number of the client_unsubscribe hook has been executed |
emqx.client.disconnected.count (count) | The number of the client_disconnected hook has been executed |
emqx.session.created.count (count) | The number of the session_created hook has been executed |
emqx.session.resumed.count (count) | The number of the session_resumed hook has been executed |
emqx.session.takenover.count (count) | The number of the session_takenover hook has been executed |
emqx.session.discarded.count (count) | The number of the session_discarded hook has been executed |
emqx.session.terminated.count (count) | The number of the session_terminated hook has been executed |
emqx.authorization.allow.count (count) | The number of successful(allow) authorizations |
emqx.authorization.deny.count (count) | The number of failed(deny) authorizations |
emqx.authorization.cache_hit.count (count) | The number of authorizations with cache |
emqx.authorization.superuser.count (count) | The number of authorizations with superuser |
emqx.authorization.nomatch.count (count) | The number of failed authorizations with no match |
emqx.authorization.matched_allow.count (count) | The number of match allow authorizations |
emqx.authorization.matched_deny.count (count) | The number of match deny authorizations |
emqx.authentication.success.count (count) | The number of success authorizations |
emqx.authentication.success_anonymous.count (count) | The number of success authorizations with anonymous |
emqx.authentication.failure.count (count) | The number of failed authentication |
emqx.mria.last_intercepted_trans (gauge) | The number of latest intercepted transaction on core node |
emqx.mria.weight (gauge) | The weight of mria's traffic in cluster |
emqx.mria.replicants (gauge) | The number of replicants report by mria in cluster |
emqx.mria.server.mql (gauge) | The messages that have not yet been processed in the mria shard. |
EMQX does not include any events.
Need help? Contact EMQX support.