/
docker-compose.yml
110 lines (101 loc) · 2.74 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
version: "2"
services:
# minio:
# image: minio/minio:latest
# command:
# - server
# - /data
# - --console-address=:9001
# ports:
# - "9000:9000"
# - "9001:9001"
# volumes:
# - bucket:/data
# compactor:
# image: thanos:latest
# depends_on:
# minio:
# condition: service_started
# command:
# - compact
# - --objstore.config-file=/var/receive/s3.yml
# - --wait
# - --delete-delay=10m
# - --consistency-delay=0s
# - --log.level=debug
# volumes:
# - ./s3.yml:/var/receive/s3.yml
# ports:
# - "10903:10902"
prometheus:
image: prom/prometheus:latest
command:
- --config.file=/var/prometheus/config.yml
- --web.enable-admin-api
volumes:
- ./config.yml:/var/prometheus/config.yml
ports:
- "9090:9090"
receiver-1:
image: thanos:latest
command:
- receive
- --label=receive_replica="shard-1"
- --grpc-address=0.0.0.0:10901
- --receive.local-endpoint=receiver-1:10901
- --tsdb.min-block-duration=2m
- --tsdb.max-block-duration=2m
- --tsdb.retention=5m
# - --receive.hashrings-algorithm=consistent
- --receive.hashrings-file=/var/receive/hashrings.json
- --receive.replication-factor=2
# - --objstore.config-file=/var/receive/s3.yml
volumes:
- ./hashrings.json:/var/receive/hashrings.json
- ./s3.yml:/var/receive/s3.yml
receiver-2:
image: thanos:latest
command:
- receive
- --label=receive_replica="shard-2"
- --grpc-address=0.0.0.0:10901
- --tsdb.min-block-duration=2m
- --tsdb.max-block-duration=2m
- --tsdb.retention=5m
# - --receive.hashrings-algorithm=consistent
- --receive.local-endpoint=receiver-2:10901
- --receive.hashrings-file=/var/receive/hashrings.json
- --receive.replication-factor=2
# - --objstore.config-file=/var/receive/s3.yml
volumes:
- ./hashrings.json:/var/receive/hashrings.json
- ./s3.yml:/var/receive/s3.yml
receiver-3:
image: thanos:latest
command:
- receive
- --label=receive_replica="shard-3"
- --grpc-address=0.0.0.0:10901
- --tsdb.min-block-duration=2m
- --tsdb.max-block-duration=2m
- --tsdb.retention=5m
# - --receive.hashrings-algorithm=consistent
- --receive.local-endpoint=receiver-3:10901
- --receive.hashrings-file=/var/receive/hashrings.json
- --receive.replication-factor=2
# - --objstore.config-file=/var/receive/s3.yml
volumes:
- ./hashrings.json:/var/receive/hashrings.json
- ./s3.yml:/var/receive/s3.yml
query:
image: thanos:latest
command:
- query
- --endpoint=receiver-1:10901
- --endpoint=receiver-2:10901
- --endpoint=receiver-3:10901
- --query.replica-label=receive_replica
ports:
- "10902:10902"
volumes:
bucket: {}