K8s部署轻量级日志收集系统EFK(elasticsearch + filebeat + kibana)
以下是一个简化的例子,展示如何使用Docker Compose来快速部署一个简单的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"
networks:
- efk-net
kibana:
image: docker.elastic.co/kibana/kibana:7.10.0
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
ports:
- "5601:5601"
depends_on:
- elasticsearch
networks:
- efk-net
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
networks:
- efk-net
volumes:
esdata1:
driver: local
networks:
efk-net:
driver: bridge
- 在包含该
docker-compose.yml
文件的目录中运行以下命令来启动服务:
docker-compose up -d
这将启动一个包含Elasticsearch、Kibana和Filebeat的EFK系统。Elasticsearch用于索引和搜索日志,Kibana用于日志的可视化,Filebeat用于收集容器日志。
请注意,这个例子是为了演示目的而简化的。在生产环境中,你需要对Elasticsearch进行更多的配置,比如设置密码、配置持久化存储、扩展集群等。
评论已关闭