Monitoring HiveMQ broker is crucial in cluster environments.
HiveMQ Prometheus Monitoring Extension – exposes an endpoint for Prometheus scraping data from every HiveMQ pod.
Prometheus – is scraping the metrics data from the monitoring targets.
Grafana – visualises metrics from the Prometheus Datasource.
This article explains how to install enable monitoring tools along with HiveMQ Operator.
\uD83D\uDCD8 Instructions
HiveMQ Kubernetes Operator supports flexible options for Prometheus.
Option 1: Enable HiveMQ to expose an endpoint for scraping metrics by Prometheus.
Edit the values.yaml file of the HiveMQ operator and enable the deployment of the HiveMQ Prometheus Monitoring Extension along with the deployment of the HiveMQ operator.
When themonitoring.enabled
key in thevalues.yaml
then each HiveMQ pod will have the HiveMQ Monitoring Extension installed, and enabled. The operator with also create ahivemq-...-metrics
service and expose its endpoint by default on port 9399. This makes HiveMQ broker metrics ready for scraping by the Prometheus application.Code Block language yaml monitoring: # Deploy ServiceMonitor for Prometheus Operator and enable Prometheus enabled: true # Deploy a dedicated instance of the prometheus operator, including grafana, as sub-chart dedicated: false
Install HiveMQ with the release name
hivemq-mine
from the Helm charthivemq-operator
to the namespacehivemq
and use parameter values from the filevalues.yaml
Code Block language bash helm upgrade hivemq \ --install hivemq/hivemq-operator \ --namespace hivemq \ --values values.yaml
This should create, alongside HiveMQ cluster, a Kubernetes Service
hivemq-metrics
:Code Block language bash kubectl get services | head -n 1 && kubectl get services | grep 'metrics'
Code Block language text NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hivemq-hivemq-metrics ClusterIP 10.96.207.165 <none> 9399/TCP 2m31s
Install Prometheus on your own and configure it to scrape from the
hivemq:9399/metrics
.Install Grafana on your own and configure it to use the Prometheus datasource and the HiveMQ Cluster Dashboard.
Option 2: Install Prometheus and Grafana alongside HiveMQ.
Edit the values.yaml of the HiveMQ operator and set the parameter monitoring.dedicated to
true
. This will make the HiveMQ Operator install Prometheus and Grafana applications along with the installation of the HiveMQ. This will also add a HiveMQ Cluster dashboard to Grafana.
Both Prometheus and Grafana are installed from the kube-prometheus-stack Helm chart.Code Block language yaml monitoring: # Deploy ServiceMonitor for Prometheus Operator and enable Prometheus enabled: true # Deploy a dedicated instance of the prometheus operator, including grafana, as sub-chart dedicated: true
Install HiveMQ with the release name
hivemq-mine
from the Helm charthivemq-operator
to the namespacehivemq
and use parameter values from the filevalues.yaml
Code Block language bash helm upgrade hivemq-mine \ --install hivemq/hivemq-operator \ --namespace hivemq \ --values values.yaml
Alternatively, specify the installation parameter values in the command line of the
helm upgrade
commandCode Block language yaml helm upgrade hivemq-mine \ --install hivemq/hivemq-operator \ --namespace hivemq \ --values values.yaml \ --set monitoring.enabled=true \ --set monitoring.dedicated=true
Info |
---|
If an error arises while using the parameter value The kube-prometheus-stack Helm chart version might be incompatible with Kubernetes 1.25 To be sure, where the installation failure originates from: hivemq-operator or kube-prometheus-stack, you need to think: |
\uD83D\uDCCB Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|