如何在 filebeat.yaml 中取出重复的配置

how to take duplicate configurations out in filebeat.yaml

我在 filebeat 中有一个输入列表,例如

- path: /xxx/xx.log
  enabled: true
  type: log
  fields:
    topic: topic_1

- path: /xxx/ss.log
  enabled: true
  type: log
  fields:
    topic: topic_2

所以我可以把重复的配置拿出来作为参考变量吗?例如

- path: /xxx/xx.log
  ${vars}
  fields:
    topic: topic_1

- path: /xxx/ss.log
  ${vars}
  fields:
    topic: topic_2

您可以使用 YAML 的继承:您的第一个输入用作模型,其他输入可以覆盖参数。

- &default-log
  path: /xxx/xx.log
  enabled: true
  type: log
  fields:
    topic: topic_1

- <<: *default-log
  path: /xxx/ss.log
  fields:
    topic: topic_2

据我所知,无法定义“抽象”默认值,这意味着您的 &default-log 应该是您的输入之一(而不仅仅是抽象模型)。

(使用 YAMLlint 验证的 YAML 语法)