使用id_key和fluentd / elasticsearch

时间:2015-02-26 07:02:36

标签: elasticsearch fluentd

我最近开始尝试使用流利的+ elasticsearch + kibana设置 我现在正在通过流利的方式提供信息,因为它读取了我用python代码吐出的日志文件。
日志由json数据列表组成,每行一个,如下所示:

{"id": "1","date": "2014-02-01T09:09:59.000+09:00","protocol": "tcp","source ip": "xxxx.xxxx.xxxx.xxxx","source port": "37605","country": "CN","organization": "China Telecom jiangsu","dest ip": "xxxx.xxxx.xxxx.xxxx","dest port": "23"}

我有流利的设置来阅读我的领域" id"并根据说明here填写" _id":

<source>
  type tail
  path /home/(usr)/bin1/fluentd.log
  tag es
  format json
  keys id, date, prot, srcip, srcport, country, org, dstip, dstport
  id_key id
  time_key date
  time_format %Y-%m-%dT%H:%M:%S.%L%:z
</source>

<match es.**>
  type elasticsearch
  logstash_format true
  flush_interval 10s # for testing
</match>

然而,&#34; _id&#34;插入以上后仍然是随机生成的_id 如果有人能够向我指出我做错了什么,我会非常感激。

1 个答案:

答案 0 :(得分:1)

id_key id应位于<match es.**>内,而不是<source>

<source>用于输入插件,在本例中为tail。 <match>用于输出插件,在这种情况下为elasticsearch。 因此,弹性搜索配置应在<match>中设置。

http://docs.fluentd.org/articles/config-file