version: ENdoSnipe Insight+ 1.8.0, Elastic Stack 6.3.2
update: 2018/09/20
ENdoSnipe Insight+ Importer はデータを Elasticsearch に簡単にインポートすることができるツールです。 中央にあるドラッグ&ドロップ部分に CSV / Excel / JSON Lines ファイルをドラッグ&ドロップするだけでデータをインポートできます。
Importer は Kibanaプラグインとして提供されます。 kibana-plugin コマンドにより、次のように配置した媒体を指定してインストールしてください。
./bin/kibana-plugin install file:///tmp/endosnipe/product/endosnipe-kibana-importer-1.8.0.632.zip
Kibana の「Dev Tools」から次を実行してテンプレート情報を登録してください。
PUT _template/endosnipe
{
"index_patterns": [
".kibana-endosnipe-*",
"ens-*"
],
"settings": {
"number_of_shards": "1",
"number_of_replicas": "1"
}
}
config/kibana.yml の次の箇所を編集してください。
x-pack security を有効にしている場合は、elasitcユーザとそのパスワードを設定します。
elasticsearch.username: "elastic"
elasticsearch.password: "elasticpass"
Importer でインポートできるファイルサイズには上限があります。デフォルトは1MBです。 このファイルサイズの上限設定を変更する場合は、次の設定値を変更します。この設定例では20MBに設定しています。
server.maxPayloadBytes: 20971520
Vegaと連携する場合には、次の設定を追加してください。
vega.enableExternalUrls: true
中央にあるドラッグ&ドロップ部分に CSV / Excel / JSON Lines ファイルをドラッグ&ドロップするだけでデータをインポートできます。
データ投入時にエラーが発生すると「投入時エラーの表示」リンクが表示されます。リンクをクリックするとエラーの内容を確認することができます。
_id が行数となります。投入したファイルの対象行を確認してください。CSVとExcelの場合は1行目がヘッダ行となりますので、2行目が _id=1 となります。
インポートしたデータはインポート済みデータ一覧からチェックボックスで選択し、「インデックスを削除する」ボタンを押下すると削除できます。
操作部の一番左にある「Discoverを開く」ボタンを押下すると Discover で対象データを表示することができます。
操作部の中央にある「JSON出力リンク」ボタンを押下すると次のようにURLが表示されます。
「URLをコピー」ボタンを押下することでクリップボードにコピーすることができます。このリンクは対象のindexのデータをjson形式で返すエンドポイントを示すもので、Vegaでデータを扱う際に利用できます。
cars.csvを試しに投入し、リンクをコピーします。VisualizeでVegaを選択し、VegaのEditorに次のように定義すると投入したデータをVegaを使って可視化できます(url部にコピーしたURLを定義します)。
{
"$schema": "https://vega.github.io/schema/vega-lite/v2.json",
"description": "A scatterplot showing horsepower and miles per gallons for various cars.",
"data": {
"url": "http://localhost:5601/api/endosnipe-kibana-importer/export/ens-csv-cars"
},
"mark": "point",
"encoding": {
"x": {
"field": "Horsepower",
"type": "quantitative"
},
"y": {
"field": "Miles_per_Gallon",
"type": "quantitative"
}
}
}
データ投入時の各カラムのデータ型(カラムタイプ)はデータの形式から自動的に決定されます。期待したカラムタイプにならなかった場合には、操作部の一番右にある「カラムタイプ変更」ボタンを押下すると、カラムタイプ変更画面が表示され、変更することが可能です。
hyakusen02.xlsxを試しに投入してみましょう。作成された「ens-xlsx-hyakusen02」インデックスのlocationフィールドはそのままだとstring型になります。
カラムタイプ変更画面を開き、locationフィールドのカラムタイプをgeo-point型に変更してみましょう。
「変更」ボタンを押下すると、「ens-xlsx-hyakusen02-r2」インデックスが新たに作成されます。
カラムタイプ変更画面を開いてlocationフィールドのカラムタイプを確認すると、期待通りgeo-point型になっています。
変更後のインデックスではlocationフィールドはgeo-point型となったため、実際に次のようにVisualizeのMap作成に利用することが可能になっています。
一度投入したデータを削除せずに再度Importerで投入した場合には、データが一度削除されて再投入されます。
インポートするデータがdate型である場合、デフォルトのtimezoneは「Asia/Tokyo」としてデータがインポートされます。timezoneを変更したい場合は、右上にある設定ボタンを押下して設定画面から変更してください。