docker部署EFK
时间: 2023-07-14 19:01:32 浏览: 128
对于使用Docker部署EFK(Elasticsearch, Fluentd, Kibana)的步骤如下:
1. 安装Docker和Docker Compose:确保你的系统上已经安装了Docker和Docker Compose。
2. 创建docker-compose.yml文件:在你的工作目录下创建一个名为docker-compose.yml的文件,并将以下内容复制到文件中:
```yaml
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
container_name: elasticsearch
environment:
- discovery.type=single-node
ports:
- 9200:9200
volumes:
- esdata:/usr/share/elasticsearch/data
fluentd:
image: fluent/fluentd:latest
container_name: fluentd
volumes:
- ./fluentd/conf:/fluentd/etc
- ./fluentd/logs:/fluentd/log
ports:
- 24224:24224
- 24224:24224/udp
kibana:
image: docker.elastic.co/kibana/kibana:7.10.0
container_name: kibana
ports:
- 5601:5601
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
volumes:
esdata:
```
3. 创建Fluentd配置文件:在与docker-compose.yml文件相同的目录下创建一个名为fluentd的文件夹,并在其中创建一个名为conf的文件夹。然后,在conf文件夹中创建一个名为fluent.conf的文件,并将以下内容复制到文件中:
```
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<match **>
@type elasticsearch
hosts elasticsearch:9200
logstash_format true
logstash_prefix fluentd
include_tag_key true
flush_interval 5s
</match>
```
4. 启动EFK容器:在终端中,进入到包含docker-compose.yml文件的目录,并运行以下命令启动EFK容器:
```
docker-compose up -d
```
这将启动Elasticsearch、Fluentd和Kibana容器,并将它们连接在一起。
5. 访问Kibana界面:在浏览器中访问`http://localhost:5601`,你应该可以看到Kibana的登录页面。默认情况下,用户名和密码均为`elastic`。
现在,你已经成功地使用Docker部署了EFK。你可以配置Fluentd来收集和发送日志到Elasticsearch,并使用Kibana进行日志的可视化和分析。请注意,这只是一个简单的示例配置,你可以根据自己的需求进行进一步的配置和定制。
阅读全文