将 id_key 与 fluentd/elasticsearch 一起使用
Posted
技术标签:
【中文标题】将 id_key 与 fluentd/elasticsearch 一起使用【英文标题】:Using id_key with fluentd/elasticsearch 【发布时间】:2015-02-26 07:02:36 【问题描述】:我最近开始尝试使用 fluentd + elasticsearch + kibana 设置。 我目前正在通过 fluentd 提供信息,方法是让它读取我用 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"
按照here 的说明,我有流畅的设置来读取我的字段“id”并填写“_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>
但是,插入上述内容后的“_id”仍然是随机生成的_id。 如果有人能指出我做错了什么,我将不胜感激。
【问题讨论】:
【参考方案1】:id_key id
应该在内部<match es.**>
,而不是<source>
。
<source>
用于输入插件,在这种情况下为尾部。
<match>
用于输出插件,在这种情况下是弹性搜索。
所以elasticsearch配置应该设置在<match>
中。
http://docs.fluentd.org/articles/config-file
【讨论】:
以上是关于将 id_key 与 fluentd/elasticsearch 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
Codeigniter 和 Oracle 获取插入查询的 last_id
php [将产品与社交共享插件集成]将社交共享插件与WooCommerce集成 - Sharedaddy
php [将产品与社交共享插件集成]将社交共享插件与WooCommerce集成 - Sharedaddy