

fluentd の in_http プラグインを利用して、  
json ファイルを送り、elasticsearch に登録したいと考えております。

現状、以下のような json ファイルを扱おうとしています。

[code]

    {
        "user_id" : 0,
        "time" : 0,
        "data" : [
            {
                "data0" : 0.0,
                "data1" : 0.1
            },
            {
                "data0" : 0.0,
                "data1" : 0.2
            }
        ]
    }
    
[/code]

1つのデータとしては無事登録されることを確認できました。

ただ、"data" 配列の各要素はそれぞれ別のidとして登録したいので、  
bulkAPI を利用できるように、

[code]

    { "index" : { "_index" : <index_name>, "_type" : <type_name>, "_id" : <id> } }
    { "user_id" : 0, "time" : 0, "data" : { "data0" : 0.0, "data1" : 0.1 } }
    { "index" : { "_index" : <index_name>, "_type" : <type_name>, "_id" : <id> } }
    { "user_id" : 0, "time" : 0, "data" : { "data0" : 0.0, "data1" : 0.2 } }
    
[/code]

のような形に変換して elasticsearch に投げる方法を検討しています。

その実装について、  
・index_name/type_name を http の POST で fluentd に渡す方法  
・bulkAPI 形式に fluentd 上で変換する方法  
が分からず困っている状態です。

fluentd-elasticsearch で bulkAPI 形式で登録する手順について、  
良い方法をご存じの方がいらっしゃいましたら、ご教示頂きたく思います。  
よろしくお願いいたします。  
  
  
なお、各種バージョンは以下のとおりです。  
OS : CentOS Linux release 7.5.1804 (Core)  
td-agent : 2.3.6  
elasticsearch : 5.5.3


CC BY-SA 4.0
2018-07-06T08:51:48.320
45364
2018-09-26T08:17:01.023
29200
question
elasticsearch fluentd
fluentd の in_http プラグインで、elasticsearch に bulkAPI で大量のデータ登録を行いたい


[fluent-plguin-elasticsearch](https://github.com/uken/fluent-plugin-
elasticsearch) を使ってください。

in_http はFluentdがHTTPリクエストを受けられるようにするものなので用途が異なります。


CC BY-SA 4.0
2018-09-26T08:17:01.023
48722
2018-09-26T08:17:01.023
19333
45364
answer