= Kafka Monitoring Stack for Docker Compose (Prometheus / Grafana)
image:https://img.shields.io/badge/License-Apache%202.0-blue.svg[https://github.com/streamthoughts/kafka-monitoring-stack-docker-compose/blob/master/LICENSE] image:https://img.shields.io/github/issues-raw/streamthoughts/kafka-monitoring-stack-docker-compose[GitHub issues] image:https://img.shields.io/github/stars/streamthoughts/kafka-monitoring-stack-docker-compose?style=social[GitHub Repo stars]
:toc: :toc-placement!:
This repository demonstrates how to use Prometheus and Grafana for monitoring an Apache Kafka cluster.
toc::[]
== Stack
== Usage
$ ./up -h
____ __ _____ __ _
/ __ \____ _/ /_____ _ / ___// /_________ ____ _____ ___ (_)___ ____ _
/ / / / __ `/ __/ __ `/ \__ \/ __/ ___/ _ \/ __ `/ __ `__ \/ / __ \/ __ `/
/ // / // / // // / / / // / / / // / / / / / / / / / / // / //_,/_/_,/ //_// _/_,// // //// //\, / /____/
Powered by Apache Kafka!
Usage: ./up [options] -n <[NAME]> : Name of the stack to deploy (required) -s <[SERVICE]> : Service names to deploy (run all services if empty) -h : Print this Help.
The table below lists the available docker-compose stacks:
=== Examples
== Getting Started
1. Clone the Kafka Monitoring Suite repository.
2. Start Confluent/Kafka cluster.
Deploy one of the provided docker-compose stack:
Note: Depending on your network speed, this may take few minutes to download all images.
=== Single Zookeeper/Kafka with Prometheus/Grafana
Start/Stop with:
$ ./zk-kafka-single-node-stack-start.sh $ ./zk-kafka-single-node-stack-stop.sh
=== Single Zookeeper / Multiple Kafka with Prometheus/Grafana
=== Single Zookeeper/Kafka with Prometheus/Grafana (SASL/PLAINTEXT)
=== Single Zookeeper / Multiple Kafka with Prometheus/Grafana (SASL/PLAINTEXT)
=== Full Stack (single node Kafka Cluster)
Start/Stop with:
$ ./full-single-node-stack-start.sh $ ./full-single-node-stack-stop.sh
3. Create Topic.
Create demo-topic
with 6 partitions and 3 replicas.
4. Produce messages.
Open a new terminal window, generate some message to simulate producer load.
5. Consume messages.
Open a new terminal window, generate some message to simulate consumer load.
6. Open Grafana.
Open your favorite web browser and open one of the provided Grafana dashboards :
image:./assets/kafka-cluster-healthcheck.png[kafka-cluster-healthcheck]
image:./assets/kafka-cluster-performance.png[kafka-cluster-performance]
image:./assets/kafka-cluster-logs.png[kafka-cluster-log]
=== Accessing Grafana Web UI
Grafana is accessible at the address : http://localhost:3000
Security are :
admin
kafka
=== Accessing Prometheus Web UI
Prometheus is accessible at the address : http://localhost:9090
== 💡 Contributions
Any feedback, bug reports and PRs are greatly appreciated!
== 🙏 Show your support
Please ⭐ this repository to support us!
== Licence
This code base is available under the Apache License, version 2.