Metrics
kdb Insights Enterprise produces metrics in order for you to monitor the system state. It is designed to work with the Prometheus stack but does not ship with it. You must deploy the Prometheus stack and enable the application to integrate with it. This page describes that process.
Prometheus
The most common method of deploying Prometheus is the Prometheus operator.
This can be deployed alongside Grafana for visualizations, and Kubernetes node metrics exporters to gather cluster-wide metrics. One example of this is the kube-prometheus-stack Helm chart. This is what we'll install.
Deploying Prometheus
The kube-prometheus-stack is usually deployed within its own namespace using Helm. Full installation details are provided here.
-
Create a namespace
kubectl create ns monitoring
-
Install using Helm
export RELEASE_NAME=kx-prom helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update helm install $RELEASE_NAME prometheus-community/kube-prometheus-stack -n monitoring
Monitoring release name
Take note of your chosen $RELEASE_NAME
as this is required when configuring kdb Insights Enterprise.
In the example above, this is kx-prom
.
Enable metrics
By default, metrics are disabled for kdb Insights Enterprise. To enable metrics for your deployment, update your Helm values file. This is created as part of the install setup.
The global.metrics.serviceMonitor.additionalLabels.release
parameter must match the Helm release name $RELEASE_NAME
from
the previous section when Prometheus was installed.
global:
metrics:
enabled: true
serviceMonitor:
enabled: true
additionalLabels:
release: kx-prom
Once your values file is updated, run kxi install run --filepath values.yaml
to apply the change.
This deploys Prometheus Service Monitor
resources which scrape kdb Insights Enterprise components and publish metrics to the backend.