データテーブルを追記ではなく、更新したい


(koichi bato) #1

お世話になります。
logstashで入力元のファイルを読み込み
Kibanaのデータテーブルで以下のように
表現しているとします。

┌─────┬───┬───┐
│Date │Field1│Field2│
├─────┼───┼───┤
│20160425 │AAA │BBB │
└─────┴───┴───┘

入力元のファイルのField2のデータが
更新されBBBからCCCになった場合は
以下のようにデータテーブルの
行が増えるかと思います。

┌─────┬───┬───┐
│Date │Field1│Field2│
├─────┼───┼───┤
│20160425 │AAA │BBB │
├─────┼───┼───┤
│20160425 │AAA │CCC │
└─────┴───┴───┘

上記のように行を増やして表示するのではなく、
以下のように行を更新する方法は
ありますでしょうか。

┌─────┬───┬───┐
│Date │Field1│Field2│
├─────┼───┼───┤
│20160425 │AAA │CCC │
└─────┴───┴───┘

環境は以下の通りです。

・JDK 1.8.9
・Elasticsearch 2.3.1
・Logstash 2.3.1
・Kibana 4.5.0

以上よろしくお願いします。


(Jun Ohtani) #2

こちらでしょうか。
https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html#plugins-outputs-elasticsearch-document_id


(koichi bato) #3

ご回答いただきありがとうございます。

document_idを設定することでデータの更新が出来、
実現したい表示をさせることが出来ました。

一度読み取ったファイルの更新ですので、
再度そのファイルを読み込ませるためにinput設定の
start_positionをbeginningにする必要もあることがわかりました。

非常に勉強になりました。


(system) #4