Available Information
Every page of the HiveMQ Web UI follows the same makeup. On every site, the top shows the title of the current page. In the top right corner of the page, the username of the currently logged in user is displayed next to the Logout button.
On the left is the menu, clicking on a menu item will take you to one of the following pages:
Tab | Description |
---|---|
Current status of HiveMQ and the whole cluster. |
|
Detailed information on the installed HiveMQ licenses. |
|
List available clients with drill-down on particular clients |
|
List, create and manage trace recordings |
|
Detailed information on dropped messages |
|
Help |
Opens the HiveMQ Web UI User Guide (this page) |
In the lower left corner the version of HiveMQ is displayed. Please keep the version information on hand when contacting our support.
Throughout the pages of the HiveMQ Web UI a click on the ?
icon opens a popup with additional information about the current page.
The popup can be closed by clicking on the X
in the top right corner of the window or by pressing the ESC
key.
Dashboard
The Dashboard shows a quick overview over the current state of HiveMQ and the whole cluster. It gives you a quick insight on the most pressing issues and allows you to check the state of every available cluster node.
On the top simple key metrics show the current usage and throughput in the cluster. These key metrics can be displayed in more detail in the Detail View left below of it.
On the bottom of the page detailed information on the license if given on the left and details on the statistics of the cluster nodes are presented on the right.
Attention Log
The Attention Log displays important alerts. For example if there are dropped messages for clients. An alert does not necessarily mean that something is wrong, but it might be an indication that there is some unwanted behaviour has occurred.
Example of the appearance, when the connection limit is reached.
The appearance when there are no alerts:
When no client is connected. Useful links are displayed instead:
License Information
At the bottom left of the page you can find a panel for information on the active license.
If you have not acquired a license, HiveMQ will automatically use an evaluation license limited to 25 concurrent connections. |
Value | Description |
---|---|
Connections |
The amount of used connections in relation to the maximum amount of connections |
License Type |
The validation status and the type of the license (e.g. commercial) |
Maximum Connections |
The maximum amount of concurrent connections |
Cluster License |
Indicates whether the current license enables to use HiveMQ clusters |
Filename |
The filename of the current license |
License Expiration Date |
Expiration date of the current license |
Support Expiration Date |
Expiration date of your support subscription |
The color of the connection bar will change depending on the relation:
A green bar indicates that there is still much capacity left before the amount of connections reaches the maximum amount
A yellow bar indicates that most ob the maximum amount of connections are used
A red bar warns for a forthcoming reaching of the maximum amount
If no license is present, an evaluation license is automatically used
The evaluation license is limited to 25 connections.
Installed license
The perspective of this site depends on the status of the license. If more than one license is installed all licenses are displayed.
Only the licenses installed on the current node are displayed. |
If no license is installed, an evaluation license will automatically be used. This license is limited to 25 concurrent connections. In Evaluation license is the appearance without a installed license explained. |
The table provides following useful information on the current license:
Aspect | Description |
---|---|
License Warning |
Indication of your license expiring |
Connections |
Number of concurrent clients this license allows |
Cluster License |
Indicates whether the current license enables the use of HiveMQ cluster |
Filename |
The filename of the current license |
Start Date |
The date of the start of this license |
License Expiration Date |
Expiration date of the license |
Support Expiration Date |
The expiration date of your support subscription |
License Owner |
The Owner of this license |
Contact |
Contact information |
Email-Address of the named contact |
Furthermore a warning will be displayed if your license is to expire the next time.
If your license expired, a evaluation license will be used automatically and the old license will be displayed too.
Cluster Node Stats
Next to the license information, statistics of each individual nodes are displayed. Nodes are identified by a randomly generated cluster id. The node, which was used for the HiveMQ Web UI connection, is marked with "*" after the node name.
You can choose the node by clicking on the name:
Metric | Description |
---|---|
|
The amount of the JVM memory heap space used/total |
|
The amount of disk space used/total where the hivemq data folder is located |
|
The startup time of this node |
|
The amount of total inbound publish messages |
|
The amount of total outbound publish messages |
|
The HiveMQ version of this node |
|
The network hostname of this node |
|
The amount of bytes of MQTT messages incoming total |
|
The amount of bytes of MQTT messages outgoing total |
|
The amount of bytes of MQTT messages incoming per second |
|
The amount of bytes of MQTT messages outgoing per second |
Client Information
With millions of connected clients, keeping track of specific clients can become a challenge. The HiveMQ Web UI provides tools to list, view and manage all the MQTT clients known to HiveMQ. Information about subscriptions, connection status, TLS and more offer detailed insights into every client.
Client Overview
HiveMQ uses snapshots to display all available MQTT sessions. As a result you need to create a snapshot before information based on that snapshot can be displayed. This provides a better user experience when sorting, filtering or navigating through the available MQTT sessions. Click the “refresh snapshot” button in order to refresh the snapshot with the current state in the cluster. Depending on the number of MQTT sessions of your cluster, refreshing a snapshot may take a few moments. A table with current clients will be displayed. This table can be ordered by clicking on headlines of the table. Furthermore you can filter the displayed clients by inserting the wished clientID, Username or IP Address or by choosing options from the dropdown menus positioned next to the headers of the "Clean Session" and "Connected" column.
This site will not refresh the snapshots on its own. You need to refresh it manually with the "refresh snapshot" button in the right top corner of the table. |
Column | Description |
---|---|
Client ID |
The Id of the Client |
Clean Session |
Indicates whether a client uses a clean session |
Connection Status |
Indicates whether a client is currently connected |
Username |
The username of the client. A blank field indicates that no username was set |
Ip Address |
The ip address of the client |
The current connection status is illustrated by color. The legend is on the bottom of the site. By clicking on a client a new tab will be opened, showing additional information about the client and enabling actions like disconnecting, subscribing or un-subscribing.
Client Details
This site is displayed after a click on a client identifier in the overview at the Clients tab.
On the left upper corner information in addition to the client identifier, the connection status of the client is displayed.
It is also possible to show more information by clicking on the question mark.
This opens a new window:
Connection
One of the principles of MQTT is the de-coupling of communication partners. This means that each client no matter if it
is sending or receiving clients is always connected to the broker and there is not client to client connection.
An MQTT connection is established by the client sending a CONNECT message to HiveMQ and HiveMQ replying with a CONNACK message.
The protocol used for the connection is TCP.
For more information on connections, please visit the
Client, Broker and Connection Establishment chapter of our MQTT Essentials. For more information on keep alive, please visit the Keep Alive and Client Take-Over chapter of our MQTT Essentials. |
The connection is described in more detail below.
Value | Description |
---|---|
Client IP |
The network IP address of the client. The address can be IPv4 or IPv6 |
Username |
Username of this client |
Password |
Password of this client |
MQTT Version |
The version number of the MQTT protocol used for the connection |
Keep-Alive |
Interval during which the client is required to send control packets. Otherwise the broker will disconnect the client |
Listener |
The type of listener and the address over which the client is connected to the broker |
Connected Node |
The unique identifier of the cluster node to which the client is connected |
TLS
Transport Layer Security (TLS) is a cryptographic protocol which allows a secure and encrypted communication at
transport layer between a client application and a server. If a TLS listener is enabled in HiveMQ, each client connection
for that listener is encrypted and secured by TLS. It is also possible to use X.509 certificate client authentication.
This is an alternative to the username/password authentication.
This section informs you about the most important aspects like the TLS version, the cipher suite and the certificate.
For more information on TLS please visit the TLS chapter in our documentation. |
The following illustration shows the most important attributes of TLS:
Aspect | Description |
---|---|
TLS Version |
The version of the protocol which is used. |
Cipher Suite |
The cipher suite that is used for the encryption of the connection. Cipher suite is a combination of authentication, encryption, message authentication code (MAC) and key exchange algorithms |
X.509 client certificate |
The certificate used by the client |
Right of the cypher suite you have the possibility to display more information on the cipher suite used in the tls by clicking "show more":
It is also possible to show more information on the client certificate by clicking on "show certificate":
The information is divided in two groups, General and Extensions:
Value | Description |
---|---|
Common Name |
The common name of the owner of the certificate |
Organisation |
The organisation of the Subject |
Organisational Unit |
The organisational unit of the subject |
Serial |
The serial number of this certificate |
x.509 Version |
The version of X.509 |
Valid From |
The timestamp from which on the certificate is valid |
Valid Until |
The timestamp until which the certificate is valid |
Country |
The country of the subject |
State |
The State of the subject |
Value | Description |
---|---|
Subject Key Identifier |
Fingerprint of the key |
Last Will
Last will is a feature that is used when a client disconnects ungracefully. The given payload will be published on the last will topic with the given last will Quality of Service.
For more information on the Last Will feature feel free to visit the Last Will and Testament chapter of MQTT Essentials |
Each client can specify its last will message (a normal MQTT message with topic, QoS, retained flag and payload) when connecting to a broker.
Value | Description |
---|---|
Will Topic |
The topic on which the last will payload will be published |
Will QoS |
The Quality of Service level the last will message will be published with |
Will Retained |
Indicates whether the last will message will be a retained message |
Will Payload |
The payload that will be published when last will is triggered |
It is possible to show and download the Last Will payload by clicking "show payload" next to the size of the payload. This opens a new window:
In this window you can choose how the payload is presented by selecting the option in dropdown menu. It is possible to show the payload as a UTF-8 String, hexadecimal and Binary. Below this dropdown menu the payload is presented in the wished format. At the bottom there are buttons to copy the payload to the clipboard and to download it as a .dat file.
Restrictions
To ensure a trouble-free communication process, some restrictions have to be observed.
Value | Description |
---|---|
Maximum Bytes per Second Inbound |
The maximum bytes per second this client may receive from the broker |
Maximum Bytes per Second Outbound |
The maximum bytes per second this client may send to the broker |
Maximum Message Size |
The maximum payload size in bytes for MQTT PUBLISH messages sent by this client |
Maximum Message Queue Size |
The maximum amount of messages the broker will store for this client |
Drop Strategy for Queued Messages |
The strategy used when the queue size limit is reached. Discard: Newly arrived messages will be dropped after the queue size limit has been reached. Discard oldest: The oldest message in the queue will be dropped when a new message arrives after the queue size limit has been reached. |
Proxy Protocol
HiveMQ supports the PROXY protocol for all listener types. The PROXY protocol is a TCP based protocol that allows to transport client details like IP address and port over multiple proxies. This is very useful if you are running your HiveMQ brokers behind a load balancer that proxies the TCP connection. Useful client information like IP address, port and SSL information is lost since the broker only "sees" the TCP connection of the load balancer and not of the original client.
Value | Description |
---|---|
Source IP/Port |
The source (origin) IP address and port of the proxy |
Destination IP/Port |
The destination IP address and port of the proxy |
Additional TLVs |
The Type-length-values (TLVs) are key-value pairs that provide optional information such as the SSL X.509 client certificate Common Names or the TLS version used by a client that connected to the proxy |
For more information on PROXY protocol please visit the PROXY protocol chapter in our documentation. |
Session
When a client connects to a MQTT broker, it needs to create subscriptions for all topics that it is interested in in
order to receive messages from the broker. On a reconnect these topics are lost and the client needs to subscribe again.
This is the normal behavior with no persistent session.
In contrast a persistent session saves all information relevant for the client on the broker.
The session is identified by the clientId provided by the client on connection establishment.
For more details on persistent sessions please visit the Persistent Session and Queuing Messages chapter in our MQTT Essentials. |
The following information is stored in the session:
Aspect | Description |
---|---|
Client ID |
Identifies the MQTT client within a MQTT broker or MQTT broker cluster |
Clean Session |
If set to true, sessions will be stateless and information like unfinished message flow and subscriptions will be lost on disconnect |
Connected/Disconnected Since |
Date and time when the client last established or lost connection with the broker |
Offline Session TTL |
Shows the Time to live (TTL) limit that is set for the client. The TTL timer starts when the client disconnects. If the client does not reconnect within the predefined period, the session is invalidated and the broker deletes all client information including subscriptions and queued messages. The TTL does not apply while the client is connected |
Offline Message Queue Size |
While a client with a persistent session is offline (clean-session = false), this entry shows the current number of QoS 1 and 2 messages that are queued for the client |
Shared Subscriptions
Shared Subscriptions are a unique feature of HiveMQ which allows MQTT clients to share the same subscription on the broker.
When using "standard" MQTT subscriptions, each client receives a copy of the message. If shared subscriptions are used,
all clients which share the same subscription will receive messages in an alternating fashion. This mechanism is
sometimes called "client load balancing".
At the bottom of the site a similar section for shared subscriptions is positioned:
The table will show any shared subscription this client has with information on the topic, the shared group name and the Quality of Service. You can also unsubscribe it by clicking on the x at the right side of each line. Additionally you are able to add new shared subscriptions to this client by inserting the topic, the shared group and the Quality of Service.
For more information on the Shared Subscription feature feel free to visit our MQTT Client Load Balancing with Shared Subscriptions blog post. |