- 拉取docker镜像
docker pull docker.elastic.co/beats/filebeat:7.13.2
- 下载官方默认的配置文件 在宿主机上,新建一个配置文件的目录,用于存放filebeat的配置文件
mkdir filebeat-config
cd filebeat-config
wget https://raw.githubusercontent.com/elastic/beats/7.13/deploy/docker/filebeat.docker.yml
# 或
curl -L -O https://raw.githubusercontent.com/elastic/beats/7.13/deploy/docker/filebeat.docker.yml
- 编辑配置文件
vim filebeat.docker.yml
filebeat.config:
modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: true
processors:
- add_cloud_metadata: ~
output.logstash:
hosts: ["10.200.164.17:12201"]
index: "filebeat-161-%{+yyyy.MM.dd}"
# log input
filebeat.inputs:
- type: log
enabled: true
encoding: utf-8
# 容器内的路径,注意映射
# 宿主机需要监控的日志文件(目录)是:/xxxx/default/approot/logs/
# 映射到docker的路径:/approot/logs/
paths:
- /approot/logs/*/default/*.log
- /approot/logs/*/default/*.log.err
fields:
tag: 'inner-api'
- type: log
enabled: true
encoding: utf-8
paths:
- /approot/logs/*/default/other/*/*.log
fields:
tag: 'xxl-job'
- 启动docker
docker run --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name filebeat --user $(id -u) -d -v /xxxx/default/approot/logs/:/approot/logs/ -v /home/filebeat-config/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml docker.elastic.co/beats/filebeat:7.13.2
冒号前面是宿主机的路径,冒号后面是docker的映射路径