用docker搭建elk
时间: 2023-10-22 21:08:10 浏览: 102
要使用Docker搭建ELK(Elasticsearch、Logstash和Kibana)堆栈,需要遵循以下步骤:
1. 安装Docker和Docker Compose。
2. 在本地创建一个文件夹,例如:/home/user/elk。
3. 在该文件夹中创建一个名为docker-compose.yml的文件。
4. 将以下代码复制到docker-compose.yml文件中:
```
version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
container_name: elasticsearch
environment:
- node.name=elasticsearch
- discovery.type=single-node
ports:
- 9200:9200
- 9300:9300
volumes:
- ./elasticsearch/data:/usr/share/elasticsearch/data
kibana:
image: docker.elastic.co/kibana/kibana:7.10.1
container_name: kibana
ports:
- 5601:5601
depends_on:
- elasticsearch
logstash:
image: docker.elastic.co/logstash/logstash:7.10.1
container_name: logstash
volumes:
- ./logstash/config/:/usr/share/logstash/pipeline/
command: logstash -f /usr/share/logstash/pipeline/logstash.conf
depends_on:
- elasticsearch
```
5. 创建一个名为logstash的文件夹,并在其中创建一个名为config的文件夹。
6. 在config文件夹中创建一个名为logstash.conf的文件,并将以下代码复制到其中:
```
input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}
```
7. 启动ELK堆栈,运行以下命令:
```
cd /home/user/elk
docker-compose up -d
```
现在,您可以通过浏览器访问Kibana,地址为:http://localhost:5601。您还可以使用Logstash发送日志到Elasticsearch,将其存储并在Kibana中可视化。
阅读全文