Logstash 复制模板属性

Logstash duplicates template properties

我正在尝试为特定索引设置自定义模板。问题是当我在 Kibana 中创建它时,我看到一些重复的属性,例如 type_type(带有“_”)。我一直在尝试不同的模板 "approaches" 但没有成功......另外,我猜默认模板一直覆盖自定义模板。

这是我的输出配置:

output {
  if [type] == "something" {
    elasticsearch {
      (... omitted ...)
      manage_template => true
      index => "log-%{+YYYY.MM.dd}"
      template_name => "log-template"
      template => "/etc/logstash/templates.d/log.json"
      template_overwrite => true
    }
  }

以下是我的模板文件:

{
  "template": "log-*",
  "order": 1,
  "settings": { "index.refresh_interval": "5s" },
  "mappings":
  {
    "_default_":
      {
        "dynamic": "strict",
        "_all": { "enabled": false },
        "properties":
        {
          "@timestamp": { "type": "date", "format": "dateOptionalTime" },
          "file": { "type": "string" },
          "host": { "type": "string" },
          "host": { "type": "string" }
        }
      }
  }
}

在我尝试每个新的模板配置之前,我会停止 logstash,删除所有索引和模板——就像官方文档所建议的那样。之后,我 运行 运行 logstash 并在 Kibana 创建索引。

如果您转到“设置”>“高级”,您可以编辑 metaFields 设置并只在其中写入 _source,这样 _type_id_index 别再出现了:

然后重新加载您的 Kibana 页面,在“发现”选项卡中您只会看到 _source 字段。