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.
\uD83D\uDCD8 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
alertmanager: ## If false, alertmanager 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:prometheus.yml: ... scrape_configs: ... ... - job_name: 'hivemq' scrape_interval: 5s metrics_path: '/metrics' static_configs: - targets: [ 'hivemq:9399' ]
Deploy Prometheus in your Kubernetes cluster using the updated configuration file:
helm upgrade 'prometheus' \ --install 'prometheus-community/prometheus' \ --values 'prometheus-values.yaml' \ --namespace 'hivemq-namespace'
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:kubectl port-forward svc/prometheus-server 80:80
To expose the metrics endpoint for Prometheus, update your HiveMQ deployment with
monitoring.enabled
=true:helm upgrade 'hivemq' --install 'hivemq/hivemq-operator' \ --values 'hivemq-values.yaml' \ --set 'monitoring.enabled=true' \ --namespace 'hivemq-namespace'
If the HiveMQ log is set at the DEBUG level, Prometheus’s activity can be verified:
DEBUG - Received HTTP-Get-Request from Prometheus to scrape metrics from HiveMQ: Request(GET http://10.244.5.7:9399/metrics)@557cfc7a
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.