game/docker/elk/docker-compose.yml
2025-05-31 08:53:16 +08:00

48 lines
1.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

version: '3.8'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.13.2
container_name: elasticsearch
environment:
- discovery.type=single-node
- xpack.security.enabled=false # 禁用安全认证(测试用)
- ES_JAVA_OPTS=-Xms512m -Xmx512m # 限制内存
ports:
- "9200:9200"
# 不挂载任何卷(数据不持久化)
logstash:
image: docker.elastic.co/logstash/logstash:8.13.2
container_name: logstash
ports:
- "5044:5044" # Filebeat 输入端口
environment:
- XPACK_MONITORING_ENABLED=false # 禁用监控(测试用)
command: logstash -e 'input { beats { port => 5044 } } output { elasticsearch { hosts => ["elasticsearch:9200"] } }'
# 直接通过命令行配置 Logstash无需外部文件
depends_on:
- elasticsearch
kibana:
image: docker.elastic.co/kibana/kibana:8.13.2
container_name: kibana
ports:
- "5601:5601"
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
depends_on:
- elasticsearch
filebeat:
image: docker.elastic.co/beats/filebeat:8.13.2
container_name: filebeat
user: root # 避免权限问题
volumes:
- /var/log:/home/ubuntu/game/log:ro # 挂载宿主机日志目录(只读)
command: >
filebeat -e --path.config /usr/share/filebeat
-E "filebeat.inputs=[{type: log, enabled: true, paths: ['/var/log/*.log']}]"
-E "output.logstash.hosts=[\"logstash:5044\"]"
# 直接通过命令行配置 Filebeat无需外部文件
depends_on:
- logstash