HiveMQ

Supported OS Linux Windows Mac OS

Integration version2.1.0

Overview

HiveMQ is a MQTT based messaging platform designed for the fast, efficient and reliable movement of data to and from connected IoT devices. It is a MQTT 3.1, 3.1.1, and 5.0 compliant broker.

Setup

Installation

The HiveMQ check is included in the Datadog Agent package. No additional installation is needed on your server.

Configuration

Host

To configure this check for an Agent running on a host:

Metric collection
  1. Edit the hivemq.d/conf.yaml file, in the conf.d/ folder at the root of your Agent’s configuration directory to start collecting your HiveMQ performance data. See the sample hivemq.d/conf.yaml for all available configuration options.

    This check has a limit of 350 metrics per instance. The number of returned metrics is indicated in the status page. You can specify the metrics you are interested in by editing the configuration below. To learn how to customize the metrics to collect see the JMX Checks documentation for more detailed instructions. If you need to monitor more metrics, contact Datadog support.

  2. Restart the Agent

Log collection
  1. Collecting logs is disabled by default in the Datadog Agent, enable it in your datadog.yaml file:

    logs_enabled: true
    
  2. Add the following configuration block to your hivemq.d/conf.yaml file. Change the path and service parameter values based on your environment. See the sample hivemq.d/conf.yaml for all available configuration options.

    logs:
      - type: file
        path: /var/log/hivemq.log
        source: hivemq
        service: <SERVICE>
        log_processing_rules:
          - type: multi_line
            name: log_start_with_date
            pattern: \d{4}\.\d{2}\.\d{2}
    
  3. Restart the Agent.

Containerized

Metric collection

For containerized environments, see the Autodiscovery with JMX guide.

Log collection

Collecting logs is disabled by default in the Datadog Agent. To enable it, see Docker log collection.

ParameterValue
<LOG_CONFIG>{"source": "hivemq", "service": "<SERVICE_NAME>"}

Validation

Run the Agent’s status subcommand and look for hivemq under the JMXFetch section:

========
JMXFetch
========
  Initialized checks
  ==================
    hivemq
      instance_name : hivemq-localhost-9999
      message :
      metric_count : 46
      service_check_count : 0
      status : OK

Data Collected

Metrics

hivemq.cache.payload_persistence.average_load_penalty
(gauge)
Cache statistic capturing the average load penalty of the payload persistence cache
hivemq.cache.payload_persistence.eviction_count
(gauge)
Cache statistic capturing the eviction count of the payload persistence cache
hivemq.cache.payload_persistence.hit_count
(gauge)
Cache statistic capturing the hit count of the payload persistence cache
Shown as hit
hivemq.cache.payload_persistence.hit_rate
(gauge)
Cache statistic capturing the hit rate of the payload persistence cache
hivemq.cache.payload_persistence.load_count
(gauge)
Cache statistic capturing the load count of the payload persistence cache
hivemq.cache.payload_persistence.load_exception_count
(gauge)
Cache statistic capturing the load exception count of the payload persistence cache
hivemq.cache.payload_persistence.load_exception_rate
(gauge)
Cache statistic capturing the load exception rate of the payload persistence cache
hivemq.cache.payload_persistence.load_success_count
(gauge)
Cache statistic capturing the load success count of the payload persistence cache
hivemq.cache.payload_persistence.miss_count
(gauge)
Cache statistic capturing the miss count of the payload persistence cache
hivemq.cache.payload_persistence.miss_rate
(gauge)
Cache statistic capturing the miss rate of the payload persistence cache
hivemq.cache.payload_persistence.request_count
(gauge)
Cache statistic capturing the request count of the payload persistence cache
hivemq.cache.payload_persistence.total_load_time
(gauge)
Cache statistic capturing the total load time of the payload persistence cache
hivemq.cache.shared_subscription.average_load_penalty
(gauge)
Cache statistic capturing the average load penalty of the shared subscription cache
hivemq.cache.shared_subscription.eviction_count
(gauge)
Cache statistic capturing the eviction count of the shared subscription cache
hivemq.cache.shared_subscription.hit_count
(gauge)
Cache statistic capturing the hit count of the shared subscription cache
hivemq.cache.shared_subscription.hit_rate
(gauge)
Cache statistic capturing the hit rate of the shared subscription cache
hivemq.cache.shared_subscription.load_count
(gauge)
Cache statistic capturing the load count of the shared subscription cache
hivemq.cache.shared_subscription.load_exception_count
(gauge)
Cache statistic capturing the load exception count of the shared subscription cache
hivemq.cache.shared_subscription.load_exception_rate
(gauge)
Cache statistic capturing the load exception rate of the shared subscription cache
hivemq.cache.shared_subscription.load_success_count
(gauge)
Cache statistic capturing the load success count of the shared subscription cache
hivemq.cache.shared_subscription.miss_count
(gauge)
Cache statistic capturing the miss count of the shared subscription cache
hivemq.cache.shared_subscription.miss_rate
(gauge)
Cache statistic capturing the miss rate of the shared subscription cache
hivemq.cache.shared_subscription.request_count
(gauge)
Cache statistic capturing the request count of the shared subscription cache
hivemq.cache.shared_subscription.total_load_time
(gauge)
Cache statistic capturing the total load time of the shared subscription cache
hivemq.cluster.name_request.retry.count
(count)
Counts the amount of retry until a name for a node via it's address is resolved
hivemq.cpu_cores.licensed
(gauge)
Holds the maximum amount of cpu cores allowed by license
hivemq.cpu_cores.used
(gauge)
Holds the current amount of cpu cores used
hivemq.extension.managed_executor.running
(count)
Measures the current count of running jobs in the ManagedExtensionExecutor
hivemq.extension.managed_executor.scheduled.overrun
(count)
Measures the current count of jobs in the ManagedExtensionExecutor that are overrun
hivemq.extension.managed_executor.scheduled.percent_of_period.50th_percentile
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.75th_percentile
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.95th_percentile
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.98th_percentile
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.999th_percentile
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.99th_percentile
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.count
(count)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.max
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.mean
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.min
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.snapshot_size
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.managed_executor.scheduled.percent_of_period.std_dev
(gauge)
Measures how many percent of the scheduled period the ManagedExtensionExecutorService jobs lasted
hivemq.extension.services.publish_service_publishes
(count)
Counts the amount of publish messages sent by the publish service.
hivemq.extension.services.publish_service_publishes_to_client
(count)
Counts the amount of publish messages sent by the publish service to a specific client.
hivemq.extension.services.rate_limit_exceeded.count
(count)
Counts the amount of times that the extension service rate limit was exceeded.
hivemq.keep_alive.disconnect.count
(count)
Counts every closed connection that was closed because the client missed sending PINGREQ message during the keep-alive interval
hivemq.messages.dropped.count
(count)
Counts every dropped message.
hivemq.messages.dropped.internal_error.count
(count)
Counts PUBLISH messages that have been dropped, because of an internal error.
hivemq.messages.dropped.message_too_large.count
(count)
Counts PUBLISH messages that have been dropped, because the message size was too large for the client
hivemq.messages.dropped.mqtt_packet_too_large.count
(count)
Counts MQTT messages (except PUBLISH) that have been dropped, because the message size was too large for the client.
hivemq.messages.dropped.not_writable.count
(count)
Counts PUBLISH messages that have been dropped, because the socket for the client was not writable (only QoS 0).
hivemq.messages.dropped.publish_inbound_intercepted.count
(count)
Counts PUBLISH messages that have been dropped, because a Publish Inbound Interceptor prevented onward delivery.
hivemq.messages.dropped.qos_0_memory_exceeded.count
(count)
Counts PUBLISH messages that have been dropped, because the global memory limit for QoS 0 messages has been exceeded.
hivemq.messages.dropped.queue_full.count
(count)
Counts PUBLISH messages that have been dropped, because the message queue for a disconnected persistent session client was full.
hivemq.messages.expired_messages
(count)
Counts every expired message
hivemq.messages.incoming.auth.count
(count)
Counts every incoming MQTT AUTH message
hivemq.messages.incoming.connect.count
(count)
Counts every incoming MQTT CONNECT message
hivemq.messages.incoming.connect.mqtt3.count
(count)
Counts every incoming MQTT 3 CONNECT message
hivemq.messages.incoming.connect.mqtt5.count
(count)
Counts every incoming MQTT 5 CONNECT message
hivemq.messages.incoming.disconnect.count
(count)
Counts every incoming MQTT DISCONNECT message
hivemq.messages.incoming.pingreq.count
(count)
Counts every incoming MQTT PINGREQ message
hivemq.messages.incoming.puback.count
(count)
Counts every incoming MQTT PUBACK message
hivemq.messages.incoming.pubcomp.count
(count)
Counts every incoming MQTT PUBCOMP message
hivemq.messages.incoming.publish.bytes.50th_percentile
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.75th_percentile
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.95th_percentile
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.98th_percentile
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.999th_percentile
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.99th_percentile
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.count
(count)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.max
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.mean
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.min
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.snapshot_size
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.bytes.std_dev
(gauge)
Measures the distribution of incoming MQTT message size (including MQTT packet headers)
hivemq.messages.incoming.publish.count
(count)
Counts every incoming MQTT PUBLISH message
hivemq.messages.incoming.pubrec.count
(count)
Counts every incoming MQTT PUBREC message
hivemq.messages.incoming.pubrel.count
(count)
Counts every incoming MQTT PUBREL message
hivemq.messages.incoming.subscribe.count
(count)
Counts every incoming MQTT SUBSCRIBE message
hivemq.messages.incoming.total.bytes.50th_percentile
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.75th_percentile
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.95th_percentile
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.98th_percentile
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.999th_percentile
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.99th_percentile
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.count
(count)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.max
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.mean
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.min
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.snapshot_size
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.bytes.std_dev
(gauge)
Measures the size distribution of incoming MQTT messages (including MQTT packet headers)
hivemq.messages.incoming.total.count
(count)
Counts every incoming MQTT message
hivemq.messages.incoming.unsubscribe.count
(count)
Counts every incoming MQTT UNSUBSCRIBE message
hivemq.messages.outgoing.auth.count
(count)
Counts every outgoing MQTT AUTH message
hivemq.messages.outgoing.connack.count
(count)
Counts every outgoing MQTT CONNACK message
hivemq.messages.outgoing.disconnect.count
(count)
Counts every outgoing MQTT DISCONNECT message
hivemq.messages.outgoing.pingresp.count
(count)
Counts every outgoing MQTT PINGRESP message
hivemq.messages.outgoing.puback.count
(count)
Counts every outgoing MQTT PUBACK message
hivemq.messages.outgoing.pubcomp.count
(count)
Counts every outgoing MQTT PUBCOMP message
hivemq.messages.outgoing.publish.bytes.50th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.75th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.95th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.98th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.999th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.99th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.count
(count)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.max
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.mean
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.min
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.snapshot_size
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.bytes.std_dev
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.publish.count
(count)
Counts every outgoing MQTT PUBLISH message
hivemq.messages.outgoing.pubrec.count
(count)
Counts every outgoing MQTT PUBREC message
hivemq.messages.outgoing.pubrel.count
(count)
Counts every outgoing MQTT PUBREL message
hivemq.messages.outgoing.suback.count
(count)
Counts every outgoing MQTT SUBACK message
hivemq.messages.outgoing.total.bytes.50th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.75th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.95th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.98th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.999th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.99th_percentile
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.count
(count)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.max
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.mean
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.min
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.snapshot_size
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.bytes.std_dev
(gauge)
Measures the size distribution of outgoing MQTT messages (including MQTT packet headers)
hivemq.messages.outgoing.total.count
(count)
Counts every outgoing MQTT message
hivemq.messages.outgoing.unsuback.count
(count)
Counts every outgoing MQTT UNSUBACK message
hivemq.messages.pending.qos_0.count
(gauge)
The current number of pending qos 0 messages
hivemq.messages.pending.total.count
(gauge)
The current number of pending messages total
hivemq.messages.queued.count
(gauge)
The current number of queued messages
hivemq.messages.retained.current
(gauge)
The current amount of retained messages
hivemq.messages.retained.mean.50th_percentile
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.75th_percentile
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.95th_percentile
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.98th_percentile
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.999th_percentile
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.99th_percentile
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.count
(count)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.max
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.mean
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.min
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.snapshot_size
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.mean.std_dev
(gauge)
Metrics about the mean payload-size of retained messages in bytes
hivemq.messages.retained.pending.total.count
(gauge)
The current number of pending retained messages total
hivemq.messages.retained.queued.count
(gauge)
The current number of queued retained messages
hivemq.networking.bytes.read.current
(gauge)
The current (last 5 seconds) amount of read bytes
hivemq.networking.bytes.read.total
(gauge)
The total amount of read bytes
hivemq.networking.bytes.write.current
(gauge)
The current (last 5 seconds) amount of written bytes
hivemq.networking.bytes.write.total
(gauge)
Total amount of written bytes
hivemq.networking.connections.current
(gauge)
The current total number of active MQTT connections
hivemq.networking.connections.mean.50th_percentile
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.75th_percentile
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.95th_percentile
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.98th_percentile
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.999th_percentile
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.99th_percentile
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.count
(count)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.max
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.mean
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.min
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.snapshot_size
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections.mean.std_dev
(gauge)
The mean total number of active MQTT connections
hivemq.networking.connections_closed.graceful.count
(count)
Counts clients which disconnected after sending a DISCONNECT Message
hivemq.networking.connections_closed.total.count
(count)
Counts all clients which disconnected from HiveMQ (= graceful + ungraceful)
hivemq.networking.connections_closed.ungraceful.count
(count)
Counts clients which disconnected without sending a DISCONNECT Message
hivemq.overload_protection.clients.average_credits
(gauge)
Holds the average amount of available credits between all clients
hivemq.overload_protection.clients.backpressure_active
(gauge)
Holds the current amount of clients for which backpressure is applied by overload protection
hivemq.overload_protection.clients.using_credits
(gauge)
Holds the current amount of clients having less than the full amount of credits
hivemq.overload_protection.credits.per_tick
(gauge)
Holds the current amount of credits a client receives per tick
hivemq.overload_protection.level
(gauge)
Holds the current level of overload protection
hivemq.payload_persistence.cleanup_executor.running
(count)
Counts tasks that are currently running in the scheduler in charge of the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.overrun
(count)
Counts the periodic tasks which ran longer then their time frame allowed in the scheduler in charge of the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.50th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.75th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.95th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.98th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.999th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.99th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.count
(count)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.max
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.mean
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.min
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.snapshot_size
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.payload_persistence.cleanup_executor.scheduled.percent_of_period.std_dev
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used while running the cleanup of the persistence payload
hivemq.persistence.executor.client_session.tasks
(gauge)
Current amount of disk I/O tasks that are enqueued by the client session persistence
hivemq.persistence.executor.noempty_queues
(gauge)
Current amount of single writer task queues that are not empty
hivemq.persistence.executor.outgoing_message_flow.tasks
(gauge)
Current amount of disk I/O tasks that are enqueued by the outgoing message flow persistence
hivemq.persistence.executor.queue_misses
(count)
Current count of loops that all single writer threads have done without executing a task
hivemq.persistence.executor.queued_messages.tasks
(gauge)
Current amount of disk I/O tasks that are enqueued by the queued messages persistence
hivemq.persistence.executor.request_event_bus.tasks
(gauge)
Current amount of tasks that are enqueued by the request event bus
hivemq.persistence.executor.retained_messages.tasks
(gauge)
Current amount of disk I/O tasks that are enqueued by the retained message persistence
hivemq.persistence.executor.running.threads
(gauge)
Current amount of threads that are executing disk I/O tasks
hivemq.persistence.executor.subscription.tasks
(gauge)
Current amount of disk I/O tasks that are enqueued by the subscription persistence
hivemq.persistence.executor.total.tasks
(gauge)
Current amount of disk I/O tasks that are enqueued by all persistence executors
hivemq.persistence.payload_entries.count
(gauge)
Holds the current amount of payloads stored in the payload persistence
hivemq.persistence.removable_entries.count
(gauge)
Holds the current amount of payloads stored in the payload persistence, that can be removed by the cleanup
hivemq.persistence_executor.running
(count)
Counts tasks that are currently running in the persistence executor
hivemq.persistence_scheduled_executor.running
(count)
Counts tasks that are currently running in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.overrun
(count)
Counts the periodic tasks which ran longer then their time frame allowed in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.50th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.75th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.95th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.98th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.999th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.99th_percentile
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.count
(count)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.max
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.mean
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.min
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.snapshot_size
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.persistence_scheduled_executor.scheduled.percent_of_period.std_dev
(gauge)
Metrics about how much percent of their allowed time frame periodic tasks used in the scheduler responsible for persistence
hivemq.publish.without_matching_subscribers
(count)
Counts the amount of publish messages received, without any matching subscribers
hivemq.qos_0_memory.exceeded.per_client
(gauge)
Holds the current amount of clients that exceeded their QoS 0 message memory
hivemq.qos_0_memory.max
(gauge)
Holds the maximum amount of bytes QoS 0 messages may use in memory
hivemq.qos_0_memory.used
(gauge)
Holds the current amount of bytes QoS 0 messages use in memory
hivemq.sessions.overall.current
(gauge)
Measures the current count of stored sessions. These sessions include all sessions, including online and offline clients
hivemq.sessions.persistent.active
(count)
Measures the current count of active persistent sessions (= Online MQTT clients which are connected with cleanSession=false).
hivemq.single_writer_executor.running
(count)
Counts tasks that are currently running in the scheduler responsible for single-writer
hivemq.subscriptions.overall.current
(count)
Measures the current count of subscriptions on the broker
hivemq.system.max_file_descriptor
(gauge)
Maximum allowed amount of file descriptors as seen by the JVM
hivemq.system.open_file_descriptor
(gauge)
Amount of open file descriptors as seen by the JVM
hivemq.system.os.file_descriptors.max
(gauge)
Maximum allowed amount of file descriptors
hivemq.system.os.file_descriptors.open
(gauge)
Amount of currently open file descriptors
hivemq.system.os.global.memory.available
(gauge)
The amount of physical memory currently available, in bytes
hivemq.system.os.global.memory.swap.total
(gauge)
The current size of the paging/swap file(s), in bytes
hivemq.system.os.global.memory.swap.used
(gauge)
The current memory committed to the paging/swap file(s), in bytes
hivemq.system.os.global.memory.total
(gauge)
The amount of actual physical memory, in bytes
hivemq.system.os.global.uptime
(gauge)
OS Uptime in seconds
hivemq.system.os.process.disk.bytes_read
(gauge)
Number of bytes the HiveMQ process has read from disk
hivemq.system.os.process.disk.bytes_written
(gauge)
Number of bytes the HiveMQ process has written to disk
hivemq.system.os.process.memory.resident_set_size
(gauge)
Resident Set Size (RSS) in bytes. It is used to show how much memory is allocated to the HiveMQ process and is in RAM. It does not include memory that is swapped out. It does include memory from shared libraries as long as the pages from those libraries are actually in memory. It does include all stack and heap memory
hivemq.system.os.process.memory.virtual
(gauge)
Virtual Memory Size (VSZ) in bytes. It includes all memory that the HiveMQ process can access, including memory that is swapped out and memory that is from shared libraries
hivemq.system.os.process.threads.count
(gauge)
Number of threads of the HiveMQ process as seen by the OS
hivemq.system.os.process.time_spent.kernel
(gauge)
Amount of milliseconds the HiveMQ process has executed in kernel/system mode as seen by the OS
hivemq.system.os.process.time_spent.user
(gauge)
Amount of milliseconds the the HiveMQ process has executed in user mode as seen by the OS
hivemq.system.physical_memory.free
(gauge)
Current amount of free physical memory in bytes
hivemq.system.physical_memory.total
(gauge)
Total amount of physical memory (bytes) available
hivemq.system.process_cpu.load
(gauge)
Current CPU usage for the JVM process (0.0 idle - 1.0 full CPU usage)
hivemq.system.process_cpu.time
(gauge)
Total amount of CPU time the JVM process has used to this point(in nanoseconds)
hivemq.system.swap_space.free
(gauge)
Current amount of free swap space in bytes
hivemq.system.swap_space.total
(gauge)
Total amount of swap space available in bytes
hivemq.system.system_cpu.load
(gauge)
Current CPU usage for the whole system (0.0 idle - 1.0 full CPU usage)
hivemq.topic_alias.count.total
(gauge)
Holds the current amount of topic aliases
hivemq.topic_alias.memory.usage
(gauge)
Holds the current amount of bytes topic aliases use in memory

Service Checks

hivemq.can_connect
Returns CRITICAL if the Agent is unable to connect to HiveMQ, WARNING if no metrics are collected, and OK otherwise.
Statuses: ok, critical, warning

Troubleshooting

Need help? Contact Datadog support.

Further Reading

Additional helpful documentation, links, and articles:

PREVIEWING: piotr_wolski/update-dsm-docs