EFK(elasticsearch+filebeat+kibana)日志分析平台搭建
warning:
这篇文章距离上次修改已过205天,其中的内容可能已经有所变动。
以下是一个简化版的使用Docker搭建EFK日志分析平台的示例:
- 创建一个
docker-compose.yml
文件用于定义服务:
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
environment:
- discovery.type=single-node
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
kibana:
image: docker.elastic.co/kibana/kibana:7.10.0
environment:
- ELASTICSEARCH_URL=http://elasticsearch:9200
ports:
- "5601:5601"
filebeat:
image: docker.elastic.co/beats/filebeat:7.10.0
volumes:
- /var/lib/docker/containers:/var/lib/docker/containers
- /var/run/docker.sock:/var/run/docker.sock
environment:
- ELASTICSEARCH_HOST=elasticsearch
command: -c /etc/filebeat.yml
volumes:
esdata1:
driver: local
- 在有该
docker-compose.yml
文件的目录下运行以下命令来启动服务:
docker-compose up -d
- 为
filebeat
配置日志收集,创建一个filebeat.yml
文件:
filebeat.inputs:
- type: docker
containers:
path: "/var/lib/docker/containers"
json.keys_under_root: true
json.overwrite_keys: true
output.elasticsearch:
hosts: ["elasticsearch:9200"]
- 将
filebeat.yml
文件挂载到Filebeat容器中,确保Filebeat容器可以读取到该配置。
以上步骤会启动Elasticsearch、Kibana以及Filebeat容器,并配置Filebeat从Docker容器中收集日志。
注意:
- 确保Docker已经安装并正确运行。
- 根据实际情况调整版本号,如Elasticsearch和Kibana的版本。
- 确保分配足够的资源给Elasticsearch,例如内存和CPU。
- 在生产环境中,Filebeat应该配置为使用SSL/TLS来安全地与Elasticsearch通信。
评论已关闭