我们在 logstash 中不断收到以下条目的错误:
"Could not dynamically add mapping for field [app.kubernetes.io/created-by]. Existing mapping for [kubernetes.labels.app] must be of type object but found [keyword]."}}}}
任何人都可以帮助正确解析字段“kubernetes.labels.app.kubernetes.io/created-by”。该条目被视为平面字段,我们应该将其转换为分离格式或将其重命名为“kubernetes.labels.app_created-by”。
我们确实在现有的摄取管道中尝试使用重命名处理器,如下所示:
{
"rename": {
"field": "kubernetes.labels.app.kubernetes.io/created-by",
"target_field": "kubernetes.labels.app_created_by"
}
}
还有 logstash 的 mutate 过滤器,如:
mutate
{
rename => { "[kubernetes][labels][app.kubernetes.io/created-by]" => "[kubernetes][labels][app_created-by]"
}
这两个都没有帮助我们解决问题。
由于您启用了动态映射,因此似乎弹性首先收到了一个如下所示的文档:
{
"kubernetes": {
"labels": {
"app": "some name"
}
}
}
导致弹性自动解析假设
kubernetes.labels.app
是一个关键字。
现在它正在接收具有这种布局的新文档:
{
"kubernetes": {
"labels": {
"app": {
"kubernetes": {
"io/created-by": "a date"
}
}
}
}
}
映射对此并不满意。
我需要一份文件样本来解释更多。