24. Elasticsearch の データ構造
RDBで言えば、Database = Index, Type = Table, Document = Record のようなもの
デフォルトのFluentd設定では1日毎にIndexが自動作成される
ログの粒度や量によって日時ごとや月次ごとで分割することも可能 (logstash_dateformatオプション)
時系列でデータを検索するため、1Indexに数日~数年間 / 種類が異なるデータ など詰め込みすぎると性能
問題に起因する
日付で検索/管理/削除できるように日単位にしておくのがベター?
Kibanaで可視化する場合、[Index名]単位でデータを読み込む
Indexを横断して検索することは可能
異なるType内で同じField名を設定すると、Mapping設定が衝突(conflict)する場合があるので注意すること
異なるIndexのデータを同じグラフしたい場合、Indexの接頭辞が重要となる
Index
“cdotperf-2015.07.08”
Type
“sysstat”
Type
“volume”
Type
“aggregate”
cpu read write …
cpu read write …
cpu read write …
Type
“sysstat”
Type
“volume”
Type
“aggregate”
…
vol size used …
vol size used …
vol size used …
aggr size used …
aggr size used …
aggr size used …
Document
Index
“cdotcapacity-2015.07.08”
Index
“cdotperf-
2015.07.09”
Index
“cdotcapacity-2015.07.09”
Field24