AWS上でKibanaを触ってみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

最近Kibanaに興味を持ち始めた、t.hondaです。KibanaはAWS上でElasticsearchのドメインを作成すると使えるのですが、AWS上のKibanaにデータを登録して表示する例が余りありませんでした。(今から考えればローカルにElasticsearch・Kibanaを作成する場合と同じ手順だからでしょうが・・・)

そこでAWS上にElasticsearch・Kibanaを作成し、データを登録・表示するまでの手順について、簡単に纏めてみました。なお、登録するデータやKibanaの表示についてはKibana 4 Beta 1 Released!なので使ってみたに準じております。

手順について

では手順についてです。先にも書いたように、以下のことを行います。

  • Elasticsearchのドメインを作成
  • インデックスの作成とデータのインポート
  • Kibanaでの表示

1.Elasticsearchのドメインを作成

まずはElasticsearchのドメインを作成します。「Amazon Elasticsearch Service dashboard」の画面で「Create a new domain」を押下し

use-kibana-on-aws-1

任意の名前を入力して「Next」を押下します。

use-kibana-on-aws-2

後はウィザードに従っていきますが、「Set up access policy」で自分のグローバルIPからのアクセスを設定しました。

use-kibana-on-aws-3

2.インデックスの作成とデータのインポート

Elasticsearchのドメインを作成したら、インデックスを作成してデータをインポートします。これらの作業はターミナルにて行います。

インポートするデータの用意

Kibanaの10 Minute Walk Throughで公開されている「shakespeare.json」をダウンロードします。
shakespeare.json

今回用意したElasticsearchでは10MBを超えるjsonをインポートできなかっため、ダウンロードしたjsonの行を削除して10MB以内としました。

インデックスの作成

以下のコマンドで、先にダウンロードしたshakespeare.jsonのインデックスを作成します。

$ curl -XPUT http://your_elasticsearch_domain_endpoint/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" }
   }
  }
 }
}';

「your_elasticsearch_domain_endpoint」の部分は、マネージメントコンソールのElasticsearchのページに「Endpoint」として記載されている文字列となります。

use-kibana-on-aws-6

データのインポート

次にデータのインポートを行います。

curl -XPUT your_elasticsearch_domain_endpoint/_bulk --data-binary @shakespeare.json

マネージメントコンソールのElasticsearchのページで、データがインポートされたことを確認します。

use-kibana-on-aws-4

3.Kibanaでの表示

インポートしたデータをKibanaに表示します。マネージメントコンソールのElasticsearchのページより、Kibanaにリンクをクリックします。

use-kibana-on-aws-5

Kibana上での作業はKibana 4 Beta 1 Released!なので使ってみたと同一なので、そちらを参考にしてください。

まとめ

データにインポート時にElasticsearchのEndpointを指定する以外は、ローカルでKabanaを扱うのと同じやり方が使えるようです。特にElasticsearch・Kibanaのインストール作業が不要な点は、改めてAWSの便利さを感じました。