Logstash 7 不向索引名称添加日期戳
Logstash 7 not Adding Date Stamp to Index Name
我刚刚从 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}"
}
}
我以前没有 "index" 部分,但我试了一下看它是否有帮助,重新启动了 logstash,它仍在将数据放入 "logstash" 索引。
如何让 logstash 再次使用带日期戳的索引?
(我运行只是docker中的一个节点:https://github.com/kenwdelong/elk-docker/tree/ELK-7.4.0)
奇怪的是,如果我在一台干净的机器上旋转相同的标记 docker 图像,并使用我的 github 页面上的测试脚本将一些数据推送到其中,它工作正常,我得到索引名称中的日期。
我终于明白了。我安装了一个名为 "logstash" 的模板,其索引模式为 "logstash-*"。这个模板是很久以前的了,"mappings" 正下方仍然有“defaults”键。显然这阻止了 ES 7 创建索引,所以 Logstash 以某种方式退回到 "logstash" 索引。我不得不删除 logstash 模板,然后在没有“defaults”键的情况下重新创建它。此外,我 运行 遇到了一些问题,其中记录由于 ECS 而未被索引 - ES 假设某些字段(如 userAgent)是一种类型,而实际上我所拥有的所有内容都设置为不同类型。所以我也必须解决这些问题。
我刚刚从 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}"
}
}
我以前没有 "index" 部分,但我试了一下看它是否有帮助,重新启动了 logstash,它仍在将数据放入 "logstash" 索引。
如何让 logstash 再次使用带日期戳的索引?
(我运行只是docker中的一个节点:https://github.com/kenwdelong/elk-docker/tree/ELK-7.4.0)
奇怪的是,如果我在一台干净的机器上旋转相同的标记 docker 图像,并使用我的 github 页面上的测试脚本将一些数据推送到其中,它工作正常,我得到索引名称中的日期。
我终于明白了。我安装了一个名为 "logstash" 的模板,其索引模式为 "logstash-*"。这个模板是很久以前的了,"mappings" 正下方仍然有“defaults”键。显然这阻止了 ES 7 创建索引,所以 Logstash 以某种方式退回到 "logstash" 索引。我不得不删除 logstash 模板,然后在没有“defaults”键的情况下重新创建它。此外,我 运行 遇到了一些问题,其中记录由于 ECS 而未被索引 - ES 假设某些字段(如 userAgent)是一种类型,而实际上我所拥有的所有内容都设置为不同类型。所以我也必须解决这些问题。