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.
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.
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
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.
global.metrics.serviceMonitor.additionalLabels.release parameter must match the Helm release name
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.