Grafana Dashboards
These ready-to-import Grafana dashboards visualize a Koperator-managed Kafka cluster. They read the metrics produced by the JMX exporter and ServiceMonitors described above, plus a couple of optional, commonly-paired components noted below.
| Dashboard | File | Requires |
|---|---|---|
| Kafka Looking Glass | kafka-looking-glass.json |
JMX exporter metrics, Cruise Control |
| Kafka Topic | kafka-topic.json |
JMX exporter metrics |
| Kafka Consumers | kafka-consumers.json |
KMinion |
All three dashboards share the same Prometheus-datasource variable (data_source) and, where applicable, a kubernetes_namespace / cluster_name variable pair — cluster_name maps to the name of your KafkaCluster custom resource.
Kafka Looking Glass
A cluster-wide health and performance overview: broker/ZooKeeper quorum status, under-replicated and offline partitions, throughput, replication lag, broker CPU/memory/disk/JVM/GC, and Cruise Control rebalance status.
A few rows depend on components that aren’t part of a default Koperator install and can be safely removed if unused:
- Authorization — expects a custom Kafka authorizer plugin exporting
kafka_authorizer_*JMX metrics (Kafka’s built-in ACL authorizer does not emit these). Adjust the metric prefix/labels to match your own authorizer, or delete the row. - Envoy panels (
Envoy Unhealthy Kafka,Envoy Instances,Envoy connections) — only apply if brokers are fronted by an Envoy proxy for external access. - Canary Producer panels (
Canary Producer Throughput,Canary Producer Errors, in the Health row) — expect a synthetic canary producer exportingkafka_canary_producer_*metrics to continuously verify the external listener is reachable. Point these at your own canary tooling, or remove them.
Kafka Topic
Per-topic drill-down: partition count, replication factor, ISR status, retention/cleanup-policy configuration, and throughput for a single topic selected via the kafka_topic variable. Includes an optional Operations By User panel with the same custom-authorizer dependency as the Looking Glass Authorization row.
Kafka Consumers
Consumer-group lag, membership, and consume-vs-produce rate, selected via the kafka_topic and consumer_group variables. Powered entirely by KMinion, an open-source Kafka lag exporter — deploy it alongside Prometheus and point it at your cluster to populate this dashboard.
Importing a dashboard
Grafana UI: Dashboards → New → Import, upload the JSON file, and map the data_source prompt to your Prometheus datasource.
GitOps / sidecar: ship the JSON as a ConfigMap labeled for your Grafana dashboard sidecar (for example, the grafana or kube-prometheus-stack Helm charts’ sidecar.dashboards feature, which watches for the grafana_dashboard label):
apiVersion: v1
kind: ConfigMap
metadata:
name: kafka-looking-glass-dashboard
labels:
grafana_dashboard: "1"
binaryData:
kafka-looking-glass.json: <base64-encoded contents of kafka-looking-glass.json>