Skip to content

Commit 7006e9f

Browse files
committed
Add sample docker-compose configuration using Kafka
Signed-off-by: Yuri Shkuro <[email protected]>
1 parent fdc3ae5 commit 7006e9f

File tree

2 files changed

+159
-0
lines changed

2 files changed

+159
-0
lines changed

docker-compose/kafka/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Sample configuration with Kafka
2+
3+
This `docker-compose` environment provides a sample configuration of Jaeger depoyment utilizing collector-Kafka-injester pipeline. Storage is provided by the `jageer-remote-storage` service running memstore.
4+
5+
Jaeger UI can be accessed at http://localhost:16686/, as usual, and refreshing the screen should produce internal traces.
6+
7+
```mermaid
8+
graph LR
9+
C[jaeger-collector] --> KafkaBroker
10+
KafkaBroker --> I[jaeger-ingester]
11+
I --> S[jaeger-remote-storage]
12+
UI[jaeger-query<br>Jaeger UI] --> S
13+
S --> MemStore
14+
KafkaBroker --> ZooKeeper
15+
subgraph Kafka
16+
KafkaBroker
17+
ZooKeeper
18+
end
19+
subgraph Shared Storage
20+
S
21+
MemStore
22+
end
23+
```
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
version: "2.1"
2+
3+
services:
4+
zookeeper:
5+
image: bitnami/zookeeper
6+
ports:
7+
- 2181:2181
8+
environment:
9+
- ALLOW_ANONYMOUS_LOGIN=yes
10+
kafka:
11+
image: 'bitnami/kafka:latest'
12+
ports:
13+
- '9092:9092'
14+
environment:
15+
- KAFKA_BROKER_ID=1
16+
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
17+
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
18+
- ALLOW_PLAINTEXT_LISTENER=yes
19+
- KAFKA_LISTENERS=INTERNAL://0.0.0.0:9092,OUTSIDE://0.0.0.0:9094
20+
- KAFKA_ADVERTISED_LISTENERS=INTERNAL://kafka:9092,OUTSIDE://localhost:9094
21+
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,OUTSIDE:PLAINTEXT
22+
- KAFKA_INTER_BROKER_LISTENER_NAME=INTERNAL
23+
restart: always
24+
depends_on:
25+
- zookeeper
26+
links:
27+
- zookeeper
28+
healthcheck:
29+
test: ["CMD-SHELL", "kafka-topics.sh --list --bootstrap-server 127.0.0.1:9092"]
30+
interval: 5s
31+
timeout: 5s
32+
retries: 3
33+
start_period: 5s
34+
35+
jaeger-remote-storage:
36+
image: jaegertracing/jaeger-remote-storage
37+
ports:
38+
- 17271:17271
39+
environment:
40+
- SPAN_STORAGE_TYPE=memory
41+
healthcheck:
42+
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:17270/ || exit 1"]
43+
interval: 5s
44+
timeout: 5s
45+
retries: 3
46+
47+
jaeger-collector:
48+
image: jaegertracing/jaeger-collector
49+
command:
50+
- "--collector.otlp.enabled=true"
51+
- "--log-level=debug"
52+
ports:
53+
- 4318:4318
54+
- 14250:14250
55+
environment:
56+
- SPAN_STORAGE_TYPE=kafka
57+
- KAFKA_PRODUCER_BROKERS=kafka:9092
58+
healthcheck:
59+
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:14269/ || exit 1"]
60+
interval: 5s
61+
timeout: 5s
62+
retries: 3
63+
depends_on:
64+
kafka:
65+
condition: service_healthy
66+
links:
67+
- kafka
68+
69+
jaeger-ingester:
70+
image: jaegertracing/jaeger-ingester
71+
command:
72+
- "--grpc-storage.server=jaeger-remote-storage:17271"
73+
- "--log-level=debug"
74+
environment:
75+
- SPAN_STORAGE_TYPE=grpc-plugin
76+
- KAFKA_CONSUMER_BROKERS=kafka:9092
77+
healthcheck:
78+
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:14270/ || exit 1"]
79+
interval: 5s
80+
timeout: 5s
81+
retries: 3
82+
depends_on:
83+
kafka:
84+
condition: service_healthy
85+
jaeger-remote-storage:
86+
condition: service_healthy
87+
jaeger-collector:
88+
condition: service_healthy
89+
links:
90+
- kafka
91+
- jaeger-remote-storage
92+
93+
jaeger-agent:
94+
image: jaegertracing/jaeger-agent
95+
command:
96+
- "--reporter.grpc.host-port=jaeger-collector:14250"
97+
- "--log-level=debug"
98+
ports:
99+
- "6831:6831/udp"
100+
- "6832:6832/udp"
101+
- "5778:5778"
102+
restart: on-failure
103+
healthcheck:
104+
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:14271/ || exit 1"]
105+
interval: 5s
106+
timeout: 5s
107+
retries: 3
108+
depends_on:
109+
jaeger-collector:
110+
condition: service_healthy
111+
links:
112+
- jaeger-collector
113+
114+
jaeger-query:
115+
image: jaegertracing/jaeger-query
116+
command:
117+
- "--grpc-storage.server=jaeger-remote-storage:17271"
118+
- "--log-level=debug"
119+
environment:
120+
- SPAN_STORAGE_TYPE=grpc-plugin
121+
- JAEGER_AGENT_HOST=jaeger-agent
122+
ports:
123+
- "16686:16686"
124+
- "16687"
125+
restart: on-failure
126+
healthcheck:
127+
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:16687/ || exit 1"]
128+
interval: 5s
129+
timeout: 5s
130+
retries: 3
131+
depends_on:
132+
jaeger-remote-storage:
133+
condition: service_healthy
134+
links:
135+
- jaeger-agent
136+
- jaeger-remote-storage

0 commit comments

Comments
 (0)