--- /dev/null
+version: '3'
+
+volumes:
+ elasticsearch_data:
+
+services:
+
+ filebeat:
+ image: docker.elastic.co/beats/filebeat:${ELASTIC_VERSION:-6.4.2}
+ hostname: "{{.Node.Hostname}}-filebeat"
+ user: root
+ networks:
+ - elk
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /var/lib/docker/containers/:/var/lib/docker/containers/:ro
+ - ./filebeat.yml:/usr/share/filebeat/filebeat.yml
+ command: ["--strict.perms=false"]
+
+ metricbeat:
+ image: docker.elastic.co/beats/metricbeat:${ELASTIC_VERSION:-6.4.2}
+ user: root
+ deploy:
+ mode: global
+ volumes:
+ - /proc:/hostfs/proc:ro
+ - /sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro
+ - /:/hostfs:ro
+ - ./metricbeat.yml:/usr/share/metricbeat/metricbeat.yml
+ - /var/run/docker.sock:/var/run/docker.sock:ro
+ 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
+ networks:
+ - elk
+ depends_on: ['elasticsearch', 'kibana']
+
+ elasticsearch:
+ image: docker.elastic.co/elasticsearch/elasticsearch-oss:${ELASTIC_VERSION:-6.4.2}
+ volumes:
+ - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
+ - elasticsearch_data:/usr/share/elasticsearch/data
+ ports:
+ - "9200:9200"
+ environment:
+ ES_JAVA_OPTS: "-Xmx256m -Xms256m"
+ networks:
+ - elk
+
+ kibana:
+ image: docker.elastic.co/kibana/kibana-oss:${ELASTIC_VERSION:-6.4.2}
+ volumes:
+ - ./kibana.yml:/usr/share/kibana/config/kibana.yml:ro
+ ports:
+ - "5601:5601"
+ networks:
+ - elk
+ depends_on:
+ - elasticsearch
+
+networks:
+ elk:
+ external:
+ name: ${OSM_NETWORK:-netosm}