Elasticsearch を利用して情報を可視化する Kibana について簡単にまとめます。少し前にまとめた『Elasticsearch 導入のための基礎知識』をもとに Elasticsearch は準備済みであるとします。
Downloads | Kibana からダウンロードおよび解凍して以下のコマンドを実行してください。
$ bin/kibana
サンプルデータをダウンロードして解凍
カスタムマッピングを作成 (accounts インデックスは自動生成されるマッピングで対応可能)
curl -XPUT http://localhost:9200/shakespeare -d '
{
"mappings" : {
"_default_" : {
"properties" : {
"speaker" : {"type": "string", "index" : "not_analyzed" },
"play_name" : {"type": "string", "index" : "not_analyzed" },
"line_id" : { "type" : "integer" },
"speech_number" : { "type" : "integer" }
}
}
}
}'
curl -XPUT http://localhost:9200/logstash-2015.05.18 -d '
{
"mappings" : {
"log" : {
"properties" : {
"geo" : {
"properties" : {
"coordinates" : {
"type" : "geo_point"
}
}
}
}
}
}
}'
curl -XPUT http://localhost:9200/logstash-2015.05.19 -d '
{
"mappings" : {
"log" : {
"properties" : {
"geo" : {
"properties" : {
"coordinates" : {
"type" : "geo_point"
}
}
}
}
}
}
}'
curl -XPUT http://localhost:9200/logstash-2015.05.20 -d '
{
"mappings" : {
"log" : {
"properties" : {
"geo" : {
"properties" : {
"coordinates" : {
"type" : "geo_point"
}
}
}
}
}
}
}'
データを流し込む
curl -XPOST 'localhost:9200/accounts/account/_bulk?pretty' --data-binary @accounts.json
curl -XPOST 'localhost:9200/shakespeare/_bulk?pretty' --data-binary @shakespeare.json
curl -XPOST 'localhost:9200/_bulk?pretty' --data-binary @logs.jsonl
curl 'localhost:9200/_cat/indices?v'
公式ドキュメントの画像説明を見ながら操作 (Elasticsearch の Aggregation が多用されていることが分かります)