elasticsearch 是否使用filebeat.yml中的add_fields processor定义字段类型?,elasticsearch,kibana,elastic-stack,filebeat,elasticsearch,Kibana,Elastic Stack,Filebeat" /> elasticsearch 是否使用filebeat.yml中的add_fields processor定义字段类型?,elasticsearch,kibana,elastic-stack,filebeat,elasticsearch,Kibana,Elastic Stack,Filebeat" />

elasticsearch 是否使用filebeat.yml中的add_fields processor定义字段类型?

elasticsearch 是否使用filebeat.yml中的add_fields processor定义字段类型?,elasticsearch,kibana,elastic-stack,filebeat,elasticsearch,Kibana,Elastic Stack,Filebeat,查看有关添加字段的文档,我发现filebeat可以按名称和值添加任何自定义字段,这些字段将附加到filebeat推送到Elasticsearch的每个文档中 这在filebeat.yml中定义: processors: - add_fields: target: project fields: name: myproject id: '574734885120952459' 严格地说,从filebeat.yml中,有没有一种方法可以为添加到这里的字段提供

查看有关添加字段的文档,我发现filebeat可以按名称和值添加任何自定义字段,这些字段将附加到filebeat推送到Elasticsearch的每个文档中

这在filebeat.yml中定义:

processors:
- add_fields:
    target: project
    fields:
      name: myproject
      id: '574734885120952459'

严格地说,从filebeat.yml中,有没有一种方法可以为添加到这里的字段提供一个“类型”呢?例如,我可以将“name”指定给“keyword”类型吗?

我看到的唯一实现方法不涉及filebeat.yml,而是使用“beat”键下指定的字段和类型在filebeat目录中创建一个自定义fields.yml文件(这都适用于任何beat)

例如,如果上面的字段“id”是在filebeat.yml中声明的,并且我们希望它是“keyword”类型的自定义字段,那么我们将执行以下操作:

将fields.yml复制到filebeat目录中的my_filebeat_fields.yml文件。 在my_filebeat_字段中,在此部分中添加:

- key: beat
  anchor: beat-common
  title: Beat
  description: >
    Contains common beat fields available in all event types.
  fields:
    # your customization begins here:
    - name: id
    - type: keyword
然后执行以下操作以使用此新的自定义字段文件:

修改filebeat.yml的这一部分以包括:

#==================== Elasticsearch template setting ==========================

setup.template.name: "filebeat-*"
setup.template.fields: "my_filebeat_fields.yml"
setup.template.overwrite: true
然后以适合您的环境的任何方法将模板加载到elastic中,如下所示

(假设所有内容都使用7.x版)

编辑:

显然,在filebeat.yml文件中设置“setup.template.append_fields”选项也可以,但我还没有对此进行探讨