docker-compose-files/packetbeat_elk/docker-compose.yml

49 lines
1.3 KiB
YAML

# This compose file will use packetbeat with elasticsearch and kibana
# elasticsearch will listen on local 9200, and use /opt/data/elasticsearch for storage.
# es node can scale out.
# kibana will liten on local 5601, will load dashboard following steps on https://www.elastic.co/guide/en/beats/libbeat/1.0.1/getting-started.html#load-kibana-dashboards.
# https://github.com/yeasy/docker-compose-files
# scale this with docker-compose scale es=3
es:
image: elasticsearch:2.1
user: elasticsearch
expose:
- "9200"
- "9300"
#elasticsearch configuration node, should not be scaled
#config is under /usr/share/elasticsearch/config
#data is under /usr/share/elasticsearch/data
elasticsearch:
image: elasticsearch:2.1
hostname: elasticsearch
user: elasticsearch
links:
- es:es
ports:
- "9200:9200"
expose:
- "9300"
volumes:
#- /opt/data/elasticsearch:/usr/share/elasticsearch/data
- packetbeat.template.json:/tmp/packetbeat.template.json
command: sh -c "sleep 10; curl -XPUT es:9200/_template/packetbeat -d@'/tmp/packetbeat.template.json';elasticsearch"
kibana:
image: kibana:4.3
ports:
- "5601:5601"
volumes:
- ./kibana/:/kibana/
links:
- elasticsearch:elasticsearch
packetbeat:
image: yeasy/packetbeat:1.0.1
net: host
privileged: true
volumes:
- packetbeat.yml:/etc/packetbeat/packetbeat.yml