After run the demo, for Grafana, go to http://localhost:3000 and then login with admin/password
- JMX Exporter 1.1.0
- Prometheus version: 2.47.2
- Grafana version 10.2.0
Note
JMX Exporter 1.x Dashboards
Grafana dashboards are supported for JMX Exporter version 1.x.
If you still use JMX Exporter version < 1.x (example 0.20), you would need to use the dashboards from this folder: grafana-dashboards-exporter-pre-1.x
List of provided dashboards:
- Confluent Platform overview (cp-demo,dev-toolkit)
- Zookeeper cluster (cp-demo)
- Kafka cluster (cp-demo,dev-toolkit)
- Kafka topics (cp-demo,dev-toolkit)
- Kafka clients (cp-demo,dev-toolkit)
- Kafka quotas (cp-demo,dev-toolkit)
- Kafka lag exporter (cp-demo,dev-toolkit)
- Kafka transaction coordinator (cp-demo,dev-toolkit)
- Schema Registry cluster (cp-demo,dev-toolkit)
- Kafka Connect cluster (cp-demo,dev-toolkit)
- ksqlDB cluster (cp-demo,dev-toolkit)
- Kafka streams (cp-demo)
- Kafka streams RocksDB (cp-demo)
- Librdkafka based client (cp-demo)
- Oracle CDC source Connector
- Debezium source Connectors
- Mongo source and sink Connectors
- Cluster Linking (dev-toolkit)
- Rest Proxy (cp-demo)
- KRaft overview (dev-toolkit)
- Confluent RBAC (cp-demo)
- Confluent Replicator (dev-toolkit)
- Confluent Tiered Storage (dev-toolkit)
- Confluent Audit (cp-demo)
- Flink Cluster
Note
Consumer Group Lag
Starting with CP 7.5, brokers expose JMX tenant-metrics for consumer lags, see the documentation.
Consequently, you can either go with the kafka-lag-exporter or with the broker built-in tenant metrics.
For the later one, you need to enable it by setting confluent.consumer.lag.emitter.enabled = true
in the broker configuration, see the documentation.
This repository contains both options:
- Dedicated Kafka lag exporter dashboard
- Consumer lag visualizations within the consumer dashboard
[Experimental]
You can test JMX metrics using the UI and see if they are matching against a Prometheus ruleset file.
To run the UI:
- ensure you have Python 3.x install
- install python dependencies:
pip install Flask
- run the UI and then connect to localhost:5000
python shared-assets/jmx-exporter-matching-ui/app.py
- play with the UI
As an alternative, it is also available a definition file to collect only metrics with value at 99th percentile.
As an alternative, it is also available a definition file to collect only a limited number of metrics for clients clients - reduced.
For Kafka to output quota metrics, at least one quota configuration is necessary.
A quota can be configured from the cp-demo folder using docker-compose:
docker-compose exec kafka1 kafka-configs --bootstrap-server kafka1:12091 --alter --add-config 'producer_byte_rate=10000,consumer_byte_rate=30000,request_percentage=0.2' --entity-type users --entity-name unknown --entity-type clients --entity-name unknown
Demo is based on https://github.com/vdesabou/kafka-docker-playground/tree/master/connect/connect-cdc-oracle19-source
To test:
- From the repo, run playground example using option --enable-jmx-grafana
To test use dev-toolkit with clusterlinking profile:
- Start dev-toolkit with
$ cd dev-toolkit
$ start.sh --profile clusterlinking
To test use dev-toolkit with default profile:
- Start dev-toolkit with
$ cd dev-toolkit
$ start.sh
To test follow the next steps:
- Start dev-toolkit with replicator profile
$ cd dev-toolkit
$ start.sh --profile replicator
To test follow the next steps:
- Start dev-toolkit with tieredstorage profile
$ cd dev-toolkit
$ start.sh --profile tieredstorage
To test follow instructions exsisting at: flink folder