Logstash 7未向索引名称添加日期戳

Logstash 7未向索引名称添加日期戳,logstash,logstash-configuration,Logstash,Logstash Configuration,我刚刚从ELK 6.7.0升级到7.4.0(通过6.8.0)。在我启动7.4.0实例之后,logstash开始将数据放入名为“logstash”的索引中,而不是像以前那样的“logstash-2019.10.24” 我更新了我的输出插件,使其看起来像 output { elasticsearch { hosts => ["localhost"] index => "logstash-%{+YYYY.MM.dd}" } } 我以前没有“索引”部分,但我试着看看

我刚刚从ELK 6.7.0升级到7.4.0(通过6.8.0)。在我启动7.4.0实例之后,logstash开始将数据放入名为“logstash”的索引中,而不是像以前那样的“logstash-2019.10.24”

我更新了我的输出插件,使其看起来像

output {
  elasticsearch {
    hosts => ["localhost"]
    index => "logstash-%{+YYYY.MM.dd}"
  }
}
我以前没有“索引”部分,但我试着看看它是否有用,重新启动了logstash,它仍然将数据放入“logstash”索引中

如何让logstash再次使用带日期戳的索引

(我在docker中只运行一个节点:)


奇怪的是,如果我在一台干净的机器上旋转同一个带标签的docker图像,并使用github页面上的测试脚本将一些数据推入其中,它工作正常,并且我在索引名中得到了日期。

我终于找到了答案。我安装了一个名为“logstash”的模板,其索引模式为“logstash-*”。这个模板来自很久以前,仍然在“mappings”的正下方有“defaults”键。显然,这阻止了ES7创建索引,所以Logstash不知何故又回到了“Logstash”索引。我不得不删除logstash模板,然后在没有“defaults”键的情况下重新创建它。此外,我遇到了一些问题,记录没有被索引,因为ECS-ES假设某些字段(如userAgent)是一种类型,而实际上我所有的内容都被设置为不同的类型。所以我也必须解决这些问题