81 lines
1.9 KiB
YAML
81 lines
1.9 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
elasticsearch:
|
|
image: "docker.elastic.co/elasticsearch/elasticsearch:8.1.0"
|
|
ports:
|
|
- "9200:9200"
|
|
- "9300:9300"
|
|
environment:
|
|
- network.host=0.0.0.0
|
|
- discovery.type=single-node
|
|
- bootstrap.memory_lock=true
|
|
- xpack.security.enabled=false
|
|
- ELASTIC_PASSWORD=elastic
|
|
# Used to avoid huge memory consumption by Elasticsearch.
|
|
# Otherwise, you need to extend the Docker limits
|
|
# to avoid continuous container crashes due to lack of memory.
|
|
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
|
|
logstash:
|
|
image: "logstash"
|
|
command: --log.level=debug --enable-local-plugin-development
|
|
ports:
|
|
- "9600:9600"
|
|
environment:
|
|
- ELASTIC_PASSWORD=elastic
|
|
volumes:
|
|
- ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf
|
|
depends_on:
|
|
- elasticsearch
|
|
|
|
filebeat:
|
|
image: "docker.elastic.co/beats/filebeat:8.1.0"
|
|
environment:
|
|
- ELASTIC_PASSWORD=elastic
|
|
volumes:
|
|
- ./filebeat.yml:/usr/share/filebeat/filebeat.yml
|
|
- logs_dir:/logs
|
|
depends_on:
|
|
- elasticsearch
|
|
|
|
kibana:
|
|
image: "docker.elastic.co/kibana/kibana:8.1.0"
|
|
ports:
|
|
- "5601:5601"
|
|
environment:
|
|
- ELASTIC_PASSWORD=elastic
|
|
depends_on:
|
|
- elasticsearch
|
|
|
|
grafana:
|
|
image: "grafana/grafana:8.4.2"
|
|
ports:
|
|
- "3000:3000"
|
|
volumes:
|
|
- ./provisioning:/etc/grafana/provisioning
|
|
|
|
loki:
|
|
image: "grafana/loki:2.4.2"
|
|
ports:
|
|
- "3100:3100"
|
|
|
|
promtail:
|
|
image: "grafana/promtail:2.4.2"
|
|
volumes:
|
|
- logs_dir:/tmp/log
|
|
- ./promtail.yml:/etc/promtail/config.yaml
|
|
command: -config.file=/etc/promtail/config.yaml
|
|
|
|
flog:
|
|
image: "mingrammer/flog:0.4.3"
|
|
command: -f json -t log -o /tmp/log/json.log -d 200ms -w -l
|
|
volumes:
|
|
- logs_dir:/tmp/log
|
|
|
|
volumes:
|
|
logs_dir: |