Prometheus Integration

kPow Exposes Prometheus Endpoints for Alerting and Reporting

kPow's metrics egress endpoints follow the OpenMetrics standard. This allows for kPow to integrate with your favourite observability tools such as Prometheus, New Relic or Grafana

Use your favourite enterprise monitoring platform for alerting and to retain long-term Kafka telemetry.

Configuration

To enable Prometheus endpoints set the following environment variable.

PROMETHEUS_EGRESS=true

Getting Started

This blog post covers an introduction to alerting and monitoring with kPow + Prometheus + AlertManager.

Endpoints

kPow provides Prometheus endpoints all metrics, all offsets, and the same by resource.

kPow logs the path to each Prometheus endpoint on startup

* GET /metrics/v1 - all metrics
* GET /offsets/v1 - all topic offsets
* GET /offsets/v1/topic/[topic-name] - all topic offsets for specific topic, all clusters
* GET /metrics/v1/cluster/v-EEfIOXRqCDS6JpK0X0Pw - metrics for cluster Trade Book (Staging)
* GET /offsets/v1/cluster/v-EEfIOXRqCDS6JpK0X0Pw - offsets for cluster Trade Book (Staging)
* GET /metrics/v1/cluster/lkc-lo0o9 - metrics for cluster Outbound Payments (Staging)
* GET /offsets/v1/cluster/lkc-lo0o9 - offsets for cluster Outbound Payments (Staging)
* GET /metrics/v1/schema/a2f06a916672d71d675f - metrics for schema registry

Sample Scraper Configuration

Sample Prometheus scraper configuration that we use to test kPow:

scrape_configs:
- job_name: 'operatr'
metrics_path: '/metrics/v1'
static_configs:
- targets: ['host.docker.internal:3000']
- job_name: 'operatr_streams'
metrics_path: '/streams/v1'
static_configs:
- targets: ['host.docker.internal:3000']
- job_name: 'operatr_offsets'
metrics_path: '/offsets/v1'
static_configs:
- targets: ['host.docker.internal:3000']