Kibana6.4.0リリース記念　サンプルデータ投入を動かしてみる

# Kibanaサンプルデータ

Elastic Stack 6.4.0がリリースされました。
Kibanaも6.4になってかなり機能追加や使い勝手の変更があるようなので、おって見ていきたいところです。

Elasticsearchをこれから触ってみよう！　という人にとっては、今回のSampleデータ提供はかなり役立つと思います。

このサンプルデータがあることで、こんなメリットがあると思います。

- 自分で**何もデータを用意しなくても**、Elasticsearch、Kibanaの動作確認ができる
- Visualization（可視化のパーツ）のショーケースとして活用できる
- 各種設定の確認の見本として参考にできる

環境はDockerで簡単に構築できても、自分でデータソースからデータを投入する作業をしないことには、何もKibanaで見ることができませんでした。
それが、サンプルデータ投入というボタンを押すだけで、すぐに確認できるようになるとのことです。

また、「いろんなことが出来る」と書いてあっても、実際にそれを体験してみないことには、分かりにくいところがある、という人にうってつけでしょう。

そんな雰囲気を感じてもらうため、以下スナップショットの嵐です。


## One-click sample data

### Kibanaのトップ画面

![image.png](https://qiita-image-store.s3.amazonaws.com/0/111676/bbcce01c-236f-2fdf-04cb-482251ef93b9.png)

赤枠で囲んだ「Load a data set and a Kibana dashboard」となっている部分をクリックします。

### Add Data
![image.png](https://qiita-image-store.s3.amazonaws.com/0/111676/db580e82-abf6-6f94-4d49-c49888df3bb2.png)

「Sample Flight Data」の「Add」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/111676/a1946e00-15a0-71c4-aeef-2a50f2fdb388.png)

しばらく待つと、データが追加され「INSTALLED」表示が出るようになります。
「View data」ボタンをクリックすると、サンプルダッシュボードに遷移します。

余談ですが、LoggingやMetricsのタブを表示すると、サンプルデータではないですがデータの投入方法が細かに紹介されてます。


### Dashboard

動くダッシュボードがあらわれました。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/111676/0218d189-fc82-992f-8498-36da28e6ec9e.png)


### 作成されたデータの確認

#### index

```
GET _cat/indices
```

kibana_sample_data_flightsというインデックスが作成されていることが分かります。


![image.png](https://qiita-image-store.s3.amazonaws.com/0/111676/24155757-5a2a-c8b8-4598-ec747e504b64.png)


#### その中身
kibana_sample_data_flightsを検索してみると、こんなデータが入っていました。

```json
{
  "took": 12,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 13059,
    "max_score": 1,
    "hits": [
      {
        "_index": "kibana_sample_data_flights",
        "_type": "_doc",
        "_id": "HF-gaWUBwbvPt7C-VrEt",
        "_score": 1,
        "_source": {
          "FlightNum": "9HY9SWR",
          "DestCountry": "AU",
          "OriginWeather": "Sunny",
          "OriginCityName": "Frankfurt am Main",
          "AvgTicketPrice": 841.2656419677076,
          "DistanceMiles": 10247.856675613455,
          "FlightDelay": false,
          "DestWeather": "Rain",
          "Dest": "Sydney Kingsford Smith International Airport",
          "FlightDelayType": "No Delay",
          "OriginCountry": "DE",
          "dayOfWeek": 0,
          "DistanceKilometers": 16492.32665375846,
          "timestamp": "2018-08-13T00:00:00",
          "DestLocation": {
            "lat": "-33.94609833",
            "lon": "151.177002"
          },
          "DestAirportID": "SYD",
          "Carrier": "Kibana Airlines",
          "Cancelled": false,
          "FlightTimeMin": 1030.7704158599038,
          "Origin": "Frankfurt am Main Airport",
          "OriginLocation": {
            "lat": "50.033333",
            "lon": "8.570556"
          },
          "DestRegion": "SE-BD",
          "OriginAirportID": "FRA",
          "OriginRegion": "DE-HE",
          "DestCityName": "Sydney",
          "FlightTimeHour": 17.179506930998397,
          "FlightDelayMin": 0
        }
      }
    ]
  }
}
```


### Sampleデータってどこにある？

サンプルデータの登録画面では、他のデータも登録できそうなUIとなっています。
おそらく、kibana_sample_data_flights以外にも、自分たちで展開したいサンプルデータの提供が可能な仕組みになっているのだと想像します。

kibana以下をgrepすると、以下にflightsが見つかるので、このあたりを作成するなりすれば、オリジナルのサンプルデータができそうですね。

```
./src/core_plugins/kibana/public/home/sample_data_resources/flights
./src/core_plugins/kibana/public/home/sample_data_resources/flights/dashboard.png
./src/server/sample_data/data_sets/flights
./src/server/sample_data/data_sets/flights/flights.json.gz
./src/server/sample_data/data_sets/flights/index.js
./src/server/sample_data/data_sets/flights/saved_objects.js
```