Filebeat docker 多行

Filebeat docker 多行

我正在使用 filebeat 将日志文件检索到 Elastic Cloud。我想将错误和 Java 异常放在一个文档中,而不是每行多个。我设法让它在文本日志文件上工作,但它似乎不适用于容器日志。

这是我的 filebeat.yml 上的 docker 配置:

...
filebeat.inputs:
- type: container
  enabled: true
  paths:
    - '/var/lib/docker/containers/*/*.log'
  pipeline: docker
  parsers:
  - multiline:
      type: pattern
      pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
      negate: true
      match: after
...
processors:
  - add_host_metadata:
      when.not.contains.tags: forwarded
  - add_cloud_metadata: ~
  - add_docker_metadata:
      host: "unix:///var/run/docker.sock"
  - add_kubernetes_metadata: ~
  - decode_json_fields:
      fields: ["message"]
      target: "json"
      overwrite_keys: true

通常的日志消息如下所示:

2023-05-10 10:18:31.990 INFO 1 --- XXXX

相关内容