поддокумента? Есть вот такой вот лог (json -> docker -> fluentd -> elasticsearch):
"container_id": "9815f62a0a0ed9724f1f419d4a063b3fe99bdbe0edc6675537dd82e9445ee97c",
"container_name": "/game-api",
"source": "stderr",
"log": {
"level": "error",
"message": "Can't connect to Redis on 127.0.0.1:6379"
},
"@timestamp": "2017-06-18T08:47:49+00:00"
Как вытащить содержимое поля 'log' на уровень выше? reserve_data не полностью работает. В log перед fluent кладётся обычный escaped json, потом проходит через фильтр:
<filter prod.docker.**>
@type parser
format json
key_name log
reserve_data true
hash_value_field log
</filter>
Как сие реализовать?
https://github.com/JonathanSerafini/fluent-plugin-mutate_filter попробуй
Обсуждают сегодня