-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
docker-compose.yml
85 lines (77 loc) · 2.85 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
version: '2.3'
volumes:
database:
x-network: &cap-add
cap_add:
- NET_ADMIN
# Note: src code and dependencies are built into cnfldemos/ccloud-observability-client
# the Dockerfile for cnfldemos/ccloud-observability-client can be found in this directory--called Dockerfile
x-client-base: &client-base
image: cnfldemos/ccloud-observability-client:0.2.0
restart: always
ports:
- 1234
volumes:
- ./$CONFIG_FILE:/tmp/client.config
- ./monitoring_configs/jmx-exporter/jmx_prometheus_javaagent-0.12.0.jar:/usr/share/jmx-exporter/jmx_prometheus_javaagent-0.12.0.jar
- ./monitoring_configs/jmx-exporter/kafka_client.yml:/usr/share/jmx-exporter/kafka_client.yml
- ./:/tmp/java/
environment:
MAVEN_OPTS: -javaagent:/usr/share/jmx-exporter/jmx_prometheus_javaagent-0.12.0.jar=1234:/usr/share/jmx-exporter/kafka_client.yml
services:
node-exporter:
image: prom/node-exporter:v0.18.1
container_name: node-exporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- "--path.procfs=/host/proc"
- "--path.sysfs=/host/sys"
- "--collector.filesystem.ignored-mount-points"
- "^(aufs|proc|nsfs|shm|cgroup|tmpfs|binfmt_misc|debugfs|devpts|fusectl|hugetlbfs|fuse.lxcfs|mqueue|pstore|securityfs|sysfs|autofs|devtmpfs|configfs)"
prometheus:
image: prom/prometheus:v2.34.0
container_name: prometheus
links:
- producer
- consumer
ports:
- 9090:9090
volumes:
- ./monitoring_configs/prometheus/:/etc/prometheus/
grafana:
image: grafana/grafana:8.4.4
container_name: grafana
environment:
- "GF_INSTALL_PLUGINS=grafana-piechart-panel"
- "GF_SECURITY_ADMIN_USER=admin"
- "GF_SECURITY_ADMIN_PASSWORD=password"
- "GF_USERS_ALLOW_SIGN_UP=false"
ports:
- 3000:3000
volumes:
- ./monitoring_configs/grafana/provisioning/:/etc/grafana/provisioning/
producer:
<<: [*client-base, *client-base]
command: >
bash -c "mvn clean compile -f /tmp/java/
&& mvn -q -f /tmp/java/pom.xml exec:java -Dexec.mainClass=\"io.confluent.examples.clients.cloud.ProducerExample\" -Dexec.args=\"/tmp/client.config demo-topic-1\""
consumer:
<<: [*client-base, *client-base]
command: >
bash -c "sleep 15 &&
mvn compile -f /tmp/java/
&& mvn -q -f /tmp/java/pom.xml exec:java -Dexec.mainClass=\"io.confluent.examples.clients.cloud.ConsumerExample\" -Dexec.args=\"/tmp/client.config demo-topic-1\""
kafka-lag-exporter:
image: lightbend/kafka-lag-exporter:0.5.5
container_name: kafka-lag-exporter
hostname: kafka-lag-exporter
restart: always
volumes:
- ./monitoring_configs/kafka-lag-exporter/:/opt/docker/conf/
environment:
- LAG_EXPORTER_ID=$LAG_EXPORTER_ID
- BOOTSTRAP_SERVERS=$BOOTSTRAP_SERVERS
- SASL_JAAS_CONFIG=$SASL_JAAS_CONFIG