Setting up Prometheus for HiveMQ Monitoring in Kubernetes
This article is outdated. For the latest version please refer to https://docs.hivemq.com/hivemq-platform-operator/observability.html#monitoring
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
Add the Prometheus repository to Helm:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update
Get default values and save to the
prometheus-values.yaml
file:helm show values prometheus-community/prometheus > prometheus-values.yaml
Open the
prometheus-values.yaml
file and disable unnecessary sub-charts by settingprometheus-pushgateway.enabled
andalertmanager.enabled
tofalse
.prometheus-pushgateway: ## If false, pushgateway will not be installed ## enabled: false
Add a scrape job for HiveMQ: In the
prometheus-values.yaml
file, locate theprometheus.yml
section, and add a new scraping job for HiveMQ:Deploy Prometheus in your Kubernetes cluster using the updated configuration file:
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:To expose the metrics endpoint for Prometheus, update your HiveMQ deployment with
monitoring.enabled
=true: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