Export HiveMQ Metrics from either Prometheus or a Grafana Datasource

It is recommended to install and monitor HiveMQ broker with Prometheus and Grafana. Metrics collected in this fashion can be batch exported with the HiveMQ grafana-metrics-exporter tool.

Prerequisite

  • Java 11+ running on your machine

  • Download the Grafana Exporter tool

 Instructions

  1. Request from the HiveMQ Support Team to provide you with the HiveMQ grafana-metrics-exporter tool. The tool is provided as a JAR file named hivemq-metrics-exporter.jar

  2. Run the exporter.

    You can run the exporter with (Java 11+):

    java -jar hivemq-metrics-exporter.jar <options>

    You can run a quick test if the parameters are correct by adding the --test param, then only the first metric is exported. Debug output can be enabled with -v

Exporting from Grafana

  1. Find the Grafana Datasource Id.
    To export the metrics from a Grafana Datasource first find the Datasource Id. To find the ID for the desired Grafana Datasource, first, log in to Grafana and next go to Menu→Configuration→Data Sources* and click on the desired Datasource, then the ID is part of the URL

    Example URL: https://my.grafana-url.com:port/datasources/edit/1/.

    In the Example URL, the ID for the Datasource is 1.

    1. Note: If you cannot reach the Menu→Configuration→Data Sources, it indicates that you do not have necessary access rights to the Grafana. In this case, you need to contact the admin of Grafana and get the necessary access rights.

    2. In case the ID is alphanumeric(e.g. AB123BC), please find the numerical ID via Find Grafana Datasource Id by its Name

  2. Run the exporter. A full command should look like the following

    1. In case you are using localhost via port-forwarding

      1. please use --url "http://localhost:port" , where port is the target port of Grafana service

      2. username: admin, password: prom-operator

    2. Time is in UTC and ends with letter Z

java -jar hivemq-metrics-exporter.jar \ --url "https://my.grafana-url.com:port/grafana" \ -u "myusername" \ -p "mypassword" \ -ds 1 \ -f "tag1=\"mytagvalue1\",tag2=\"mytagvalue2\"" \ --from "2021-08-01T10:00:00Z" \ --to "2021-08-01T19:00:00Z" \ --step 15s

The result is a ZIP file that contains a JSON for each HiveMQ metric.

Exporting from Prometheus

Sometimes, Prometheus is installed but Grafana is not.

To export directly from Prometheus use the option “--direct“.

A full command looks like this:

java -jar hivemq-metrics-exporter.jar \ --url "https://my.prometheus-url.com:port" \ -u "myusername" \ -p "mypassword" \ --direct \