Skip to content

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

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.

  1. Create a namespace

    kubectl create ns monitoring
    

  2. 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.