Features

Prometheus Integration

Kpow's Prometheus egress endpoints follow the OpenMetrics standard.

This allows you to integrate Kpow to your favourite observability tools such as Prometheus, New Relic or Grafana for long-term reporting dashboards and alerting.

Configuration

Prometheus Endpoints are not secure, do not configure if Kpow is publicly accessible.

To enable Prometheus endpoints set the following environment variable.

PROMETHEUS_EGRESS=true

Security

To secure all metric endpoints you can configure basic authentication:

PROMETHEUS_USERNAME=foo
PROMETHEUS_PASSWORD=bar

Getting Started

See our how-to blogpost on alerting and monitoring with Kpow, Prometheus, and AlertManager.

Endpoints

Kpow provides Prometheus endpoints for all metrics, offsets, and streams.

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']
Previous
Data Produce