Mosquitto MQTT Broker Test

Using this test, administrators can determine the uptime of the message broker as well as figure out whether/not the message broker was rebooted. This test also throws light on the count of clients connected/disconnected to the message broker. This way, the test provides near-accurate indicators of the client connection load on the message broker. Also, by reporting the rate at which messages (including PUBLISH messages) and data are processed, the test reveals early to administrators if the message broker is experiencing processing difficulties.

Target of the test : A Mosquitto MQTT

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for the target Mosquitto MQTT Broker being monitored

Configurable parameters for the test
Parameters Description

Test period

How often should the test be executed

Host

The host for which the test is to be configured.

Port

The port at which the configured Host listens; by default, this is 1883.

Username, Password, and Confirm Password

The eG agent connects to the target Mosquitto MQTT, and runs MQTT API commands to pull metrics of interest. By default, the Username parameter is set to none implying that the eG agent can automatically connect to the target Mosquitto MQTT and collect the required metrics. However, in some highly secure environments, administrators may have restricted the access to the target Mosquitto MQTT and would have provided access only to a specific user. In such environments, to monitor the target Mosquitto MQTT and run the API commands, the eG agent requires the credentials of that specific user. Configure this test with the Username and Password of that user. Finally, confirm the password by retyping it in the Confirm Password text box.

SSL

By default, this flag is set to No, as the target message broker is not SSL-enabled by default. If the message broker is SSL-enabled, then set this flag to Yes.

CA File

This measure is applicable only if the target Mosquitto MQTT message broker is SSL-enabled i.e., the SSL flag is set to Yes. Specify the full path to the CA Certificate file available in the target Mosquitto MQTT message broker. For example, if the name of the CA Certificate file is m2mqtt_ca.crt and if it is available in the cert folder of the target Mosquitto MQTT host, then, the location of the file should be mentioned as: C:\Program Files\mosquitto\cert\m2mqtt_ca.crt. To know how to create a CA Certificate File, refer to Creating a self-signed Certificate Authority File.

Client Cert File

This measure is applicable only if the target Mosquitto MQTT message broker is SSL-enabled i.e., the SSL flag is set to Yes.

Specify the full path to the Client Certificate file available in the target Mosquitto MQTT message broker. For example, if the name of the Client Certificate is client.crt and if it is available in the cert folder of the target Mosquitto MQTT host, then, the location of the file should be mentioned as C:\Program Files\mosquitto\cert\client.crt. To know how to create a Client Certificate File, refer to Creating a Client Certificate File.

Client Key File

This measure is applicable only if the target Mosquitto MQTT message broker is SSL-enabled i.e., the SSL flag is set to Yes.

Specify the full path to the Client Key Pair available in the target Mosquitto MQTT message broker. For example, if the name of the Client Key Pair is client.key and if it is available in the cert folder of the target Mosquitto MQTT host, then, the location of the file should be mentioned as C:\Program Files\mosquitto\cert\client.key. To know how to generate the Client Key pair, refer to Creating a Client Certificate File.

Key File Password

This measure is applicable only if the target Mosquitto MQTT message broker is SSL-enabled i.e., the SSL flag is set to Yes.

Specify the password corresponding to the Client Key Pair here.

Confirm Password

This measure is applicable only if the target Mosquitto MQTT message broker is SSL-enabled i.e., the SSL flag is set to Yes. Confirm the Key File Password by retyping it here.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Uptime

Indicates the time period that the message broker has been up since the last time this test ran.

Secs

If the message broker has not been rebooted during the last measurement period and the agent has been running continuously, this value will be equal to the measurement period. If the message broker was rebooted during the last measurement period, this value will be less than the measurement period of the test. For example, if the measurement period is 300 secs, and if the system was rebooted 120 secs back, this metric will report a value of 120 seconds. The accuracy of this metric is dependent on the measurement period - the smaller the measurement period, greater the accuracy.

Is rebooted ?

Indicates whether the message broker has been rebooted during the last measurement period or not.

 

If this measure shows 1, it means that the system was rebooted during the last measurement period. By checking the time periods when this metric changes from 0 to 1, an administrator can determine the times when this message broker was rebooted.

Total clients

Indicates the total number of clients currently registered on the message broker during the last measurement period.

Number

 

Clients connected

Indicates the number of clients currently connected to the message broker during the last measurement period.

Number

This measure is a good indicator of client connection load on the message broker.

Clients disconnected

Indicates the number of clients disconnected from the message broker during the last measurement period.

Number

 

Clients expired

Indicates the number of disconnected persistent clients that expired and were removed during the last measurement period.

Number

 

Maximum clients

Indicates the maximum number of clients connected to the message broker during the last measurement period.

Number

This measure is a good indicator of client connection load on the message broker.

Total subscriptions

Indicates the total number of subscriptions on the message broker during the last measurement period.

Number

 

Data sent

Indicates the rate at which data was sent from the message broker during the last measurement period.

MB/sec

 

Data received

Indicates the rate at which data was received by the message broker during the last measurement period.

MB/sec

 

Published messages sent

Indicates the total number of PUBLISH messages sent from the message broker during the last measurement period.

Number

 

Published messages sent rate

Indicates the rate at which PUBLISH messages were sent from the message broker during the last measurement period.

MB/sec

 

Published messages received

Indicates the total number of PUBLISH messages received by the message broker during the last measurement period.

Number

 

Published messages received rate

Indicates the rate at which PUBLISH messages were received by the message broker during the last measurement period.

MB/sec

 

Messages dropped

Indicates the number of PUBLISH messages that were dropped due to inflight/queuing limits during the last measurement period.

Number

Ideally, the value of this measure should be zero.

Messages dropped rate

Indicates the rate at which PUBLISH messages were dropped due to inflight/queuing limits during the last measurement period.

MB/sec

A low value is desired for this measure.

A sudden/gradual increase in the value of this measure indicates that the message broker is experiencing processing difficulties.

Published data sent

Indicates the rate at which data was sent for PUBLISH messages during the last measurement period.

MB/sec

 

Published data received

Indicates the rate at which data was received from PUBLISH messages during the last measurement period.

MB/sec

 

Messages sent

Indicates the total number of messages sent by the broker during the last measurement period.

Number

 

Messages sent rate

Indicates the rate at which messages were sent from the message broker during the last measurement period.

MB/sec

 

Messages received

Indicates the total number of messages received by the broker during the last measurement period.

Number

 

Messages received rate

Indicates the rate at which messages were received by the message broker during the last measurement period.

MB/sec

 

Retained messages

Indicates the total number of messages set with the retained messages flag on the message broker during the last measurement period.

Number

A retained message is a normal MQTT message with the retained flag set to true. The broker stores the last retained message and the corresponding QoS for that topic. Each client that subscribes to a topic pattern that matches the topic of the retained message receives the retained message immediately after they subscribe. The broker stores only one retained message per topic.

Retained messages help newly-subscribed clients get a status update immediately after they subscribe to a topic. The retained message eliminates the wait for the publishing clients to send the next update.

Retained messages rate

Indicates the rate at which messages were set with the retained messages flag on the message broker during the last measurement period.

MB/sec