-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
105 lines (102 loc) · 2.97 KB
/
Copy pathdocker-compose.yml
File metadata and controls
105 lines (102 loc) · 2.97 KB
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
version: '3.8'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
container_name: elasticsearch
environment:
bootstrap.memory_lock: "true"
cluster.name: docker-cluster
cluster.routing.allocation.disk.threshold_enabled: "false"
discovery.type: single-node
ES_JAVA_OPTS: "-Xms2g -Xmx2g"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- "9200:9200"
networks:
- elk
healthcheck:
interval: 10s
retries: 20
test: curl -s http://localhost:9200/_cluster/health | grep -vq '"Status":"red"'
kibana:
image: docker.elastic.co/kibana/kibana:7.14.0
container_name: kibana
depends_on:
- elasticsearch
environment:
ELASTICSEARCH_URL: http://elasticsearch:9200
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
ports:
- "5601:5601"
networks:
- elk
healthcheck:
interval: 10s
retries: 20
test: curl --write-out 'HTTP %{http_code}' --fail --silent --output /dev/null http://localhost:5601/api/status
master:
container_name: cribl-master
image: cribl/cribl:3.1.0
environment:
- CRIBL_DIST_MODE=master
- CRIBL_DIST_MASTER_URL=tcp://criblmaster@0.0.0.0:4200
- CRIBL_VOLUME_DIR=/opt/cribl/config-volume
ports:
- "19000:9000"
volumes:
- "./cribl-config:/opt/cribl/config-volume"
networks:
- elk
worker:
container_name: cribl-worker
image: cribl/cribl:3.1.0
depends_on:
- master
environment:
- CRIBL_DIST_MODE=worker
- CRIBL_DIST_MASTER_URL=tcp://criblmaster@master:4200
ports:
- "10080:10080"
- 9000
networks:
- elk
filebeat:
container_name: filebeat
depends_on:
- master
build:
context: ./filebeat
dockerfile: Dockerfile
environment:
ELASTICSEARCH_HOST: localhost:10080
ports:
- 9200
volumes:
- ./filebeat/logs:/usr/share/filebeat/log
# - ./filebeat/logs:/usr/share/filebeat/logs
networks:
- elk
command: ["--strict.perms=false"]
nginx:
container_name: nginx
image: nginx:latest
volumes:
- ./filebeat/logs:/var/log/nginx/
ports:
- "8080:80"
networks:
- elk
fakelogs:
container_name: fakelogs
image: mingrammer/flog:latest
volumes:
- ./filebeat/logs:/fake/logs
command: flog -f apache_combined -t log -w -o /fake/logs/fake.log -l -d 2s
networks:
- elk
networks:
elk:
driver: bridge