为了账号安全,请及时绑定邮箱和手机立即绑定

使用旧注册表使 Filebeat 从旧文件偏移量开始

使用旧注册表使 Filebeat 从旧文件偏移量开始

Go
肥皂起泡泡 2021-12-07 18:30:18
我正在使用 prima/filebeat 图像在 docker 容器上运行 Filebeat(过去称为“logstash-forwarder”)。日志文件位于加载到容器的卷中,我希望能够删除容器并重新运行它,而无需将日志重新发送到 logstash。我试图将 /.filebeat 注册表文件加载为一个卷,以便它会在启动时重新加载,但我得到的只是这些错误:2016/02/03 13:47:29.107457 file_other.go:39: ERR Rotate error: rename /.filebeat.new /.filebeat: device or resource busy2016/02/03 13:47:29.107788 registrar.go:105: ERR Writing of registry returned error: rename /.filebeat.new /.filebeat: device or resource busy. Continuing..有没有人碰巧知道如何做这样的事情?
查看完整描述

1 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

使用Filebeat 1.2.3版(其他版本可能一样,1.3版几天前才出来的,我还没试过)你需要指定注册表文件的路径。注册表文件是 Filebeat 保存读取偏移量的文件(换句话说,它正在处理的日志文件中的当前读取点)。


您需要在filebeat.yml文件中的prospectors部分之后指定注册表路径。


就像是:


filebeat:

  prospectors:

    -

      document_type: wildfly-server

      input_type: log

      paths:

        - /path/to/my/log.log

      multiline:

         pattern: 'your pattern'

         negate: true

         match: after


  registry_file: /data/.filebeat


logging:

  level: debug

  to_syslog: true


output:

  logstash:

    hosts:

      - "127.0.0.1:5000"

然后在您的 docker compose 文件中,您需要安装一个指向您的registry_file路径的卷。就像是:


filebeat:

  image: prima/filebeat:latest

  volumes:

     - /data/filebeat:/data

  hostname: qa

然后您应该在主机中看到.filebeat位于/data/filebeat文件夹中的文件。


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信