-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
141 lines (129 loc) · 3.55 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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
version: '3.7'
services:
consul:
image: consul:latest
command: agent -ui -server -bind 0.0.0.0 -client 0.0.0.0 -bootstrap-expect=1 -config-file=/config/consul.json
volumes:
- ./consul/consul.json/:/config/consul.json
ports:
- 8400:8400
- 8500:8500
- 8600:8600
- 8600:8600/udp
extra_hosts:
- "host.docker.internal:$DOCKER_HOST_IP"
testservice:
build:
context: ../..
dockerfile: deployments/docker/Dockerfile
args:
ELASTIC_APM_SERVER_URL: http://apm-server:8200
ELASTIC_APM_SECRET_TOKEN: xxVpmQB2HMzCL9PgBHVrnxjNXXw5J7bd79DFm6sjBJR5HPXDhcF8MSb3vv4bpg44
ports:
- 5462:5462
- 5463:5463
command: "./testservice"
environment:
- ENV=docker
- CONFIG_PATH=configs/docker.yml
node-exporter:
image: prom/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
- "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
ports:
- 9100:9100
cadvisor:
image: google/cadvisor
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ports:
- 8080:8080
prometheus:
image: prom/prometheus
volumes:
- ./prometheus/:/etc/prometheus/
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
ports:
- 9090:9090
grafana:
image: grafana/grafana
depends_on:
- prometheus
ports:
- 3000:3000
user: "472"
environment:
- GF_SECURITY_ADMIN_PASSWORD=P@ssw0rd
- GF_USERS_ALLOW_SIGN_UP=false
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning
delete-indexes:
image: playdingnow/delete-outdated-es-indexes:1.4
environment:
- eshost=elasticsearch
- esport=9200
- esmaxdays=15
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1
environment:
- xpack.security.enabled=false
- ES_JAVA_OPTS=-Xms1g -Xmx1g
- discovery.type=single-node
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 9200:9200
volumes:
- elasticsearch:/usr/share/elasticsearch/data
- elasticsearch:/usr/share/elasticsearch/logs
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:9200']
interval: 10s
timeout: 5s
retries: 3
kibana:
image: docker.elastic.co/kibana/kibana:7.1.1
ports:
- 5601:5601
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:5601']
interval: 10s
timeout: 5s
retries: 3
depends_on:
- elasticsearch
apm-server:
image: docker.elastic.co/apm/apm-server:7.1.1
ports:
- 8200:8200
environment:
- output.elasticsearch.hosts=['http://elasticsearch:9200']
- apm-server.host="0.0.0.0:8200"
- apm-server.secret_token="xxVpmQB2HMzCL9PgBHVrnxjNXXw5J7bd79DFm6sjBJR5HPXDhcF8MSb3vv4bpg44"
- setup.kibana.host="kibana:5601"
- setup.template.enabled=true
- logging.to_files=false
depends_on:
- elasticsearch
- kibana
volumes:
prometheus_data: {}
grafana_data: {}
es_data: {}
elasticsearch: {}