docker 配置filebeat手机日志并发送(logstash)到graylog

799 阅读1分钟
  1. 拉取docker镜像 docker pull docker.elastic.co/beats/filebeat:7.13.2

版本查看:www.docker.elastic.co/r/beats/fil…

  1. 下载官方默认的配置文件 在宿主机上,新建一个配置文件的目录,用于存放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
  1. 编辑配置文件 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'


  1. 启动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的映射路径