使用docker部署filebeat

阿里云1000元通用代金券点此领取

filebeat 是有官方docker镜像的,不过用docker search filebeat 无法搜索到

在elastic的官网可以找到下载地址 docker pull docker.elastic.co/beats/filebeat:5.5.1

运行时要把需要收集的日志,和filebeat.yml配置文件挂载到容器里面.

filebeat.yml

filebeat:
  prospectors:
    - input_type: log
      paths:  # 这里是容器内的path
          - /var/log/command.log
      json.keys_under_root: true  # 使Filebeat解码日志结构化为JSON消息,设置key为输出文档的顶级目录。 如果不需要json格式输出,可以删除这两个json参数
      json.overwrite_keys: true # 覆盖其他字段
  registry_file: /usr/share/filebeat/data/registry/registry  # 这个文件记录日志读取的位置,如果容器重启,可以从记录的位置开始取日志

output:
  elasticsearch:  # 我这里是输出到elasticsearch,也可以输出到logstash
    index: "rocket"  #  kibana中的索引
    hosts: ["192.168.0.2:9200"] # elasticsearch地址

可以在容器中的 /usr/share/filebeat/filebeat.full.yml 找到yml配置文件的完整参数

配置完成之后启动docker

docker run -d  --restart=always --name=filebeat
-v /var/log/command.log:/var/log/command.log:ro 
-v /data/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml 
-v /data/filebeat/registry/:/usr/share/filebeat/data/registry/ docker.elastic.co/beats/filebeat:5.5.1

在kibana添加filebeat.yml中的index字段
使用docker部署filebeat_第1张图片

成功收到数据
使用docker部署filebeat_第2张图片

你可能感兴趣的:(docker)