Как добавить метку времени и ключ для эластичного поиска, используя свободный - PullRequest
0 голосов
/ 14 мая 2018

Я настроил fluentd иasticsearch, и они оба работают нормально. Я отслеживаю файл, а затем читаю его данные и публикую его вasticsearch. Ниже приведены данные json:

{"time": "2018-05-14T11:37:30.339593", "Data count": 78, "Data status": "Sent", "DataId": "332"}

и ниже - это файл конфигурации fluentd:

<source>
  @type tail
  time_key time
  path /home/user/file.json
  format json
  tag first
</source>

<match *first*>
  @type elasticsearch
  hosts 192.168.196.118:9200
  user <username>
  password <password>
  index_name myindex
  type_name mytype
  id_key 100
  time_key time
</match>

В приведенном выше файле конфигурации я добавил time_key, поскольку время - это время, которое я хочу использовать из данных json. Но данные, которые я получаю в elasticsearch, не содержат никаких временных данных.

Кроме того, я использую id_key, но вasticsearch, id_key - это некоторые случайные значения.

Пожалуйста, помогите. Спасибо

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Я решил эту проблему. Мне не нужно было добавлять ничего дополнительного в конфигурационный файл Я просто выбрал время как поле времени вasticsearch.

0 голосов
/ 14 мая 2018

Попробуйте ввести желаемое значение:

<inject>
   time_key          @log_time
   time_format       %Y%m%dT%H%M%S%z
</inject>

Следуйте инструкциям по адресу: https://docs.fluentd.org/v1.0/articles/inject-section

...