Setting up Prometheus for HiveMQ Monitoring in Kubernetes

This article will guide you through the process of installing a Prometheus server in your Kubernetes cluster to monitor HiveMQ. We'll walk you through the steps to configure Prometheus to scrape metrics from HiveMQ, ensuring smooth and efficient monitoring.

 Instructions

  1. Add the Prometheus repository to Helm:

    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update
  2. Get default values and save to the prometheus-values.yaml file:

    helm show values prometheus-community/prometheus > prometheus-values.yaml
  3. Open the prometheus-values.yaml file and disable unnecessary sub-charts by setting prometheus-pushgateway.enabled and alertmanager.enabled to false.

    prometheus-pushgateway: ## If false, pushgateway will not be installed ## enabled: false
  4. Add a scrape job for HiveMQ: In the prometheus-values.yaml file, locate the prometheus.yml section, and add a new scraping job for HiveMQ:

  5. Deploy Prometheus in your Kubernetes cluster using the updated configuration file:

  6. You can access the Prometheus server within your cluster via port 80 using the following DNS name: prometheus-server.hivemq.svc.cluster.local
    To forward the port to the localhost:80, use the following command:

  7. To expose the metrics endpoint for Prometheus, update your HiveMQ deployment with monitoring.enabled=true:

  8. If the HiveMQ log is set at the DEBUG level, Prometheus’s activity can be verified:

     

In this article, we've outlined the steps to set up Prometheus in your Kubernetes cluster for monitoring HiveMQ. You've learned how to configure Prometheus, enable scraping for HiveMQ, and access the Prometheus server for effective monitoring of your HiveMQ deployment.

Tested with versions:

grafana/grafana 6.59.4 10.1.1

prometheus-community/prometheus 24.4.0 v2.47.0

hivemq/hivemq-operator 0.11.25 4.19.0