如何添加时间戳&使用流利的弹性搜索的关键

时间:2018-05-14 11:42:53

标签: elasticsearch logging fluentd

我已经配置了流利和弹性搜索,他们都工作正常。我正在拖尾文件然后读取它的数据并将其发布到elasticsearch。以下是json数据:

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

及以下是流利的配置文件:

<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,但在弹性搜索中,id_key是一些随机值。

请帮忙。感谢

2 个答案:

答案 0 :(得分:2)

我解决了这个问题。我没有在配置文件中添加任何额外的东西。我只是选择时间作为elasticsearch中的时间字段。

答案 1 :(得分:1)

尝试注入您想要的值:

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

按照以下说明操作:https://docs.fluentd.org/v1.0/articles/inject-section