Разбор JSON внутри строки с использованием FluentD - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть JSON, отправляемый из docker контейнера

    00:01:12 0|myhost  | {"message":"{\"name\":\"express\",\"hostname\":\"random\",\"pid\":16,\"req_id\":\"7ec-916\",\"level\":30,\"remote-address\":\"::ffff:111.111.11.111\",\"ip\":\"::ffff:111.111.11.111\",\"method\":\"GET\",\"url\":\"/health/\",\"referer\":\"-\",\"http-version\":\"1.1\",\"response-time\":0.655273,\"response-hrtime\":[0,655273],\"status-code\":200,\"req-headers\":{\"host\":\"111.111.11.111:1111\",\"user-agent\":\"kube-probe/1.13+\",\"accept-encoding\":\"gzip\",\"connection\":\"close\"},\"incoming\":\"<--\",\"msg\":\"::ffff:111.111.11.111 <-- GET /health/ HTTP/1.1 200 2 - Other 0.0 Other 0.0.0 0.655273 ms\",\"time\":\"2020-04-13T00:01:12.171Z\",\"v\":0}\n","timestamp":"2020-04-13T00:01:12.171Z","type":"out","process_id":0,"app_name":""}

Чтобы разобрать всю вещь как JSON, чтобы отобразить ее в Kibana, я использовал конфигурацию fluentd как

    <filter **|myhost |embedded_json.**>
      @type parser
      format json
      key_name message
      reserve_data true
      remove_key_name_field true
    </filter>

Но это не работает.

Любой совет, как я могу его разобрать?

...