我有一个 Docker -> Filebeat -> Elasticsearch 日志管道。
我正在使用 Elasticsearch 摄取管道来处理我的日志(在 Filebeat 发送它们之后)。
在我的日志中,有一个消息字段和有效负载字段。这是有趣的部分:
有效负载有时是对象,有时是字符串。
现在,ES 显然不允许这种类型在映射中发生冲突,所以每天首先进入我的索引的东西都会进入,而另一种类型将无效并引发错误。我想以下列方式处理这个问题:
- 检查有效载荷字段的类型
- 如果是字符串,则将其嵌套到payload.text字段中
我不知道如何进行“嵌套”,也找不到对有效负载字段进行类型检查的方法。
这根本不支持吗?我是否必须为此添加 Logstash?还是可以在 Filebeat 端解决?
编辑:提到摄取管道