Elastic, Beats & Kibana stack phase 1
[osm/devops.git] / installers / docker / osm_elk / docker-compose.yml
1 version: '3'
2
3 services:
4
5   filebeat:
6     image: docker.elastic.co/beats/filebeat:${ELASTIC_VERSION:-6.4.2}
7     hostname: "{{.Node.Hostname}}-filebeat"
8     user: root
9     networks:
10       - elk
11     volumes:
12       - /var/run/docker.sock:/var/run/docker.sock
13       - /var/lib/docker/containers/:/var/lib/docker/containers/:ro
14       - ./filebeat.yml:/usr/share/filebeat/filebeat.yml
15     command: ["--strict.perms=false"]
16
17   metricbeat:
18     image: docker.elastic.co/beats/metricbeat:${ELASTIC_VERSION:-6.4.2}
19     user: root
20     deploy:
21       mode: global
22     volumes:
23       - /proc:/hostfs/proc:ro
24       - /sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro
25       - /:/hostfs:ro
26       - ./metricbeat.yml:/usr/share/metricbeat/metricbeat.yml
27       - /var/run/docker.sock:/var/run/docker.sock:ro
28     command: --strict.perms=false -e -c /usr/share/metricbeat/metricbeat.yml -system.hostfs=/hostfs # -e flag to log to stderr and disable syslog/file output
29     networks: 
30       - elk
31     depends_on: ['elasticsearch', 'kibana']
32
33   elasticsearch:
34     image: docker.elastic.co/elasticsearch/elasticsearch-oss:${ELASTIC_VERSION:-6.4.2}
35     volumes:
36       - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
37     ports:
38       - "9200:9200"
39     environment:
40       ES_JAVA_OPTS: "-Xmx256m -Xms256m"
41     networks:
42       - elk
43
44   kibana:
45     image: docker.elastic.co/kibana/kibana-oss:${ELASTIC_VERSION:-6.4.2}
46     volumes:
47       - ./kibana.yml:/usr/share/kibana/config/kibana.yml:ro
48     ports:
49       - "5601:5601"
50     networks:
51       - elk
52     depends_on:
53       - elasticsearch
54
55 networks:
56   elk:
57     external:
58       name: ${OSM_NETWORK:-netosm}