-
原输出格式: {
"contents": {
"_@timestamp": "xxx",
"_kv_applicationName": "xxx",
"_kv_description": "xxx",
"_kv_errorCode": "0",
"_kv_errorMessage": "",
"_kv_httpcode": "200",
"_kv_method": "POST",
"_message": "",
"_thread_name": "xxx"
},
"tags": {
"container.image.name": "xxx",
"container.ip": "xxx",
"container.name": "xxx",
"host.ip": "xxx"
...
},
"time": 1692182672
} 期望配置: {
"_@timestamp": "xxx",
"_applicationName": "xxx",
"_description": "xxx",
"_errorCode": "0",
"_errorMessage": "",
"_httpcode": "200",
"_method": "POST",
"_message": "",
"_thread_name": "xxx",
"tags": {
"container.image.name": "xxx",
"container.ip": "xxx",
"container.name": "xxx",
"host.ip": "xxx"
...
},
"time": 1692182672
} |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
我们使用 Elasticsearch,也有同样需求,据说如果去掉 Contents 一层,可以使用数据流功能,现在只能作为普通索引 |
Beta Was this translation helpful? Give feedback.
-
目前最外层主要是ilogtail定义的协议输出字段,当初设计
如果是写到kafka,暂时可以在消费层面通过logstash这样的开源社区组件清洗一些,日志流量高,性能要求高也可以通过大数据平台flink任务去做消费清洗打平。 对于直接写es的这个场景目前肯定没发转化。 对于日志量不太高的场景确实可能很多人并不想去中间做消费清洗的一层。这个我们社区讨论下是否可以单独设计个协议直接全打平。 |
Beta Was this translation helpful? Give feedback.
-
我们后面在kafka v2 Convert.Protocol中去给大家新增一个打平的协议选项,其他的flusher也类似 |
Beta Was this translation helpful? Give feedback.
目前最外层主要是ilogtail定义的协议输出字段,当初设计
contents
,tag
,time
三个协议字段目的主要是从开源的角度上看数据来源语义比较清洗,他们的数据来源确实是不同的。
主要来自这个文档 https://github.com/alibaba/ilogtail/blob/main/docs/cn/developer-guide/log-protocol/protocol-spec/custom_single.md
如果是写到kafka,暂时可以在消费层面通过logstash这样的开源社区组件清洗一些,日志流量高,性能要求高也可以通过大数据平台flink任务去做消费清洗打平。
对于直接写es的这个场景目前肯定没发转化。
对于日志量不太高的场景确实可能很多人并不想去中间做消费清洗的一层。这个我们社区讨论下是否可以单独设计个协议直接全打平。