docker 部署logstash 和 filebeat
时间: 2023-09-15 10:20:58 浏览: 165
LogStash-conf:配置LogStash(和Filebeat)以进行Analytics处理
下面是 logstash 和 filebeat 的 docker 部署步骤:
1. 首先,需要安装 docker 和 docker-compose 工具。
2. 创建一个名为 `docker-compose.yml` 的文件,并在其中添加以下内容:
```
version: '3'
services:
logstash:
image: docker.elastic.co/logstash/logstash:7.10.1
environment:
- "ELASTICSEARCH_HOST=http://elasticsearch:9200"
- "LOGSTASH_PIPELINE_WORKERS=1"
- "LOGSTASH_PIPELINE_BATCH_SIZE=125"
- "LOGSTASH_PIPELINE_BATCH_DELAY=50"
volumes:
- "./logstash/pipeline:/usr/share/logstash/pipeline"
- "./logstash/config:/usr/share/logstash/config"
- "./logstash/data:/usr/share/logstash/data"
ports:
- "5044:5044"
depends_on:
- elasticsearch
networks:
- elastic
filebeat:
image: docker.elastic.co/beats/filebeat:7.10.1
user: root
volumes:
- "./filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro"
- "/var/lib/docker/containers:/var/lib/docker/containers:ro"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
command: filebeat -e -strict.perms=false
depends_on:
- elasticsearch
networks:
- elastic
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
environment:
- "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- "./elasticsearch/data:/usr/share/elasticsearch/data"
ports:
- "9200:9200"
- "9300:9300"
networks:
- elastic
networks:
elastic:
driver: bridge
```
3. 在同一目录下创建一个名为 `logstash` 的文件夹,并创建一个名为 `pipeline` 的文件夹,将您的 logstash pipeline 配置文件放在其中。创建一个名为 `config` 的文件夹来放置您的 logstash 配置。最后,创建一个名为 `data` 的文件夹来保存 logstash 数据。
4. 在同一目录下创建一个名为 `filebeat` 的文件夹,并在其中创建一个名为 `filebeat.yml` 的文件。在此文件中设置 filebeat 的配置。
5. 进入包含 `docker-compose.yml` 文件的目录,并运行以下命令启动容器:
```
docker-compose up -d
```
6. 检查容器是否正在运行:
```
docker ps
```
以上就是 logstash 和 filebeat 的 docker 部署步骤。
阅读全文