8 ALLOW_ANONYMOUS_LOGIN: 'yes'
9 ZOO_ENABLE_PROMETHEUS_METRICS: 'yes'
11 - zookeeper:/bitnami/zookeeper
19 KAFKA_ENABLE_KRAFT: 'false'
21 -javaagent:/opt/prometheus/jmx_prometheus_javaagent.jar=80:/opt/prometheus/config.yml
22 -Dcom.sun.management.jmxremote=true
23 -Dcom.sun.management.jmxremote.port=7000
24 -Dcom.sun.management.jmxremote.authenticate=false
25 KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
26 KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9081
27 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
28 KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-1:9092, LOCALHOST://localhost:9081
30 ALLOW_PLAINTEXT_LISTENER: 'yes'
31 KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
32 KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
33 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
35 - kafka-1:/bitnami/kafka
45 KAFKA_ENABLE_KRAFT: 'false'
47 -javaagent:/opt/prometheus/jmx_prometheus_javaagent.jar=80:/opt/prometheus/config.yml
48 -Dcom.sun.management.jmxremote=true
49 -Dcom.sun.management.jmxremote.port=7000
50 -Dcom.sun.management.jmxremote.authenticate=false
51 KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
52 KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9082
53 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
54 KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-2:9092, LOCALHOST://localhost:9082
56 ALLOW_PLAINTEXT_LISTENER: 'yes'
57 KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
58 KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
59 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
61 - kafka-2:/bitnami/kafka
76 KAFKA_ENABLE_KRAFT: 'false'
78 -javaagent:/opt/prometheus/jmx_prometheus_javaagent.jar=80:/opt/prometheus/config.yml
79 -Dcom.sun.management.jmxremote=true
80 -Dcom.sun.management.jmxremote.port=7000
81 -Dcom.sun.management.jmxremote.authenticate=false
82 KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
83 KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9083
84 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
85 KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-3:9092, LOCALHOST://localhost:9083
87 ALLOW_PLAINTEXT_LISTENER: 'yes'
88 KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
89 KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
90 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
92 - kafka-3:/bitnami/kafka
102 KAFKA_ENABLE_KRAFT: 'false'
104 -javaagent:/opt/prometheus/jmx_prometheus_javaagent.jar=80:/opt/prometheus/config.yml
105 -Dcom.sun.management.jmxremote=true
106 -Dcom.sun.management.jmxremote.port=7000
107 -Dcom.sun.management.jmxremote.authenticate=false
108 KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
109 KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9084
110 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
111 KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-3:9092, LOCALHOST://localhost:9084
113 ALLOW_PLAINTEXT_LISTENER: 'yes'
114 KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
115 KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
116 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
118 - kafka-4:/bitnami/kafka
128 KAFKA_ENABLE_KRAFT: 'false'
130 -javaagent:/opt/prometheus/jmx_prometheus_javaagent.jar=80:/opt/prometheus/config.yml
131 -Dcom.sun.management.jmxremote=true
132 -Dcom.sun.management.jmxremote.port=7000
133 -Dcom.sun.management.jmxremote.authenticate=false
134 KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
135 KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9085
136 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
137 KAFKA_CFG_ADVERTISED_LISTENERS: BROKER://kafka-3:9092, LOCALHOST://localhost:9085
139 ALLOW_PLAINTEXT_LISTENER: 'yes'
140 KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
141 KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
142 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
144 - kafka-5:/bitnami/kafka
155 kafka-topics --bootstrap-server kafka:9092 --delete --if-exists --topic test
156 kafka-topics --bootstrap-server kafka:9092 --create --topic test --partitions 33 --replication-factor 3 --config min.insync.replicas=2
157 kafka-topics --bootstrap-server kafka:9092 --describe --topic test
168 command: sleep infinity
179 - ./burrow.conf:/app/burrow.toml:ro
184 build: burrow_exporter
186 BURROW_ADDR: http://burrow:8080
192 image: seglo/kafka-lag-exporter:0.8.2
194 - ./kafka-lag-exporter.conf:/opt/docker/conf/application.conf:ro
199 image: danielqsj/kafka-exporter:v1.6.0
200 command: --kafka.server kafka:9092
205 image: prom/prometheus
209 - ./prometheus.yml:/etc/prometheus/prometheus.yml
212 image: grafana/grafana:10.0.3
216 GF_SECURITY_ADMIN_USER: juplo
217 GF_SECURITY_ADMIN_PASSWORD: juplo
219 - ./grafana/dashboard.yml:/etc/grafana/provisioning/dashboards/main.yaml
220 - ./grafana/datasource.yml:/etc/grafana/provisioning/datasources/automatic.yaml
221 - ./kafka-brokers.json:/var/lib/grafana/dashboards/main-dashboard.json
222 - grafana:/var/lib/grafana
225 image: juplo/simple-producer:1.0-SNAPSHOT
228 -Dcom.sun.management.jmxremote=true
229 -Dcom.sun.management.jmxremote.port=7000
230 -Dcom.sun.management.jmxremote.local.only=false
231 -Dcom.sun.management.jmxremote.authenticate=false
232 -Dcom.sun.management.jmxremote.ssl=false
234 command: kafka:9092 test producer
239 image: juplo/simple-consumer:1.0-SNAPSHOT
242 -Dcom.sun.management.jmxremote=true
243 -Dcom.sun.management.jmxremote.port=7000
244 -Dcom.sun.management.jmxremote.local.only=false
245 -Dcom.sun.management.jmxremote.authenticate=false
246 -Dcom.sun.management.jmxremote.ssl=false
248 command: kafka:9092 test my-group consumer
254 command: sleep infinity