Note |
---|
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.
...
Add the Prometheus repository to Helm:
Code Block language bash 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:Code Block language bash 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
.Code Block language yaml prometheus-pushgateway: ## If false, pushgateway will not be installed ## enabled: false
Code Block language yaml 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:Code Block language yaml 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:
Code Block language bash 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:Code Block language bash kubectl port-forward svc/prometheus-server 80:80
To expose the metrics endpoint for Prometheus, update your HiveMQ deployment with
monitoring.enabled
=true:Code Block language bash 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:
Code Block 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.
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
\uD83D\uDCCB Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|