docker安装elk filebeat
时间: 2023-10-05 09:05:47 浏览: 108
您可以按照以下步骤在Docker中安装ELK(Elasticsearch, Logstash, Kibana)和Filebeat:
1. 首先,确保您已经安装了Docker和Docker Compose。
2. 创建一个文件夹来保存您的ELK和Filebeat配置文件。在此文件夹中创建一个名为`docker-compose.yml`的文件。
3. 在`docker-compose.yml`文件中添加以下内容:
```yaml
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
container_name: elasticsearch
ports:
- 9200:9200
environment:
- discovery.type=single-node
logstash:
image: docker.elastic.co/logstash/logstash:7.10.1
container_name: logstash
volumes:
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
- ./logstash/pipeline:/usr/share/logstash/pipeline
kibana:
image: docker.elastic.co/kibana/kibana:7.10.1
container_name: kibana
ports:
- 5601:5601
filebeat:
image: docker.elastic.co/beats/filebeat:7.10.1
container_name: filebeat
volumes:
- ./filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/containers:/var/lib/docker/containers
```
4. 创建一个名为`logstash.yml`的文件,并将以下内容添加到该文件中:
```yaml
http.host: "0.0.0.0"
path.config: /usr/share/logstash/pipeline
```
5. 创建一个名为`filebeat.yml`的文件,并将以下内容添加到该文件中:
```yaml
filebeat.inputs:
- type: container
paths:
- '/var/lib/docker/containers/*/*.log'
output.elasticsearch:
hosts: ['elasticsearch:9200']
```
6. 创建一个名为`pipeline`的文件夹来保存Logstash的配置文件。
7. 在`pipeline`文件夹中创建一个名为`docker.conf`的文件,并将以下内容添加到该文件中:
```conf
input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
index => "docker-%{+YYYY.MM.dd}"
}
}
```
8. 确保您在`docker-compose.yml`文件和上述配置文件中的路径是正确的,并且所有的文件和文件夹都在同一个目录下。
9. 打开终端,导航到包含`docker-compose.yml`文件的目录,并运行以下命令启动ELK和Filebeat:
阅读全文