Kibana 4 Beta 1 Released!なので使ってみた

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

はじめに

10月6日にKibana 4 Beta 1がリリースされました!

そしてもう1.1がリリースされています(kibana 4 beta 1.1: pointy needles blunted)

Kibana 3のセットアップについてはELBのアクセスログをfluent-plugin-elb-logを使ってKibanaで表示するあたりをご覧頂くとして...Kibana 3はHTML+CSS+JavaScriptで実装されているため、Webサーバのコンテンツディレクトリに展開して動作させる仕組みでした。Kibana 4ではKibana 2の頃のようにWebサーバ自体を内包した仕組みになっており、ここがKibana 3からの大きな違いです。もちろんビジュアル的にも機能的にも大きく変わっています。

と、いうことで。とりあえず使ってみました!

やってみる

サーバOSにはAmazon Linux AMI 2014.09を使いました。

Elasticsearchのセットアップ

Kibana 4.0.0-BETAのREADME.mdに「Elasticsearch version 1.4.0 or later」と書いてある通り、Kibana 4 Betaを使うためにはElasticsearchもv1.4以降にする必要がありますので、1.4.0.beta1のページからelasticsearch-1.4.0.beta1のrpmファイルをダウンロードしrpmコマンドでインストールします。

$ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.0.Beta1.noarch.rpm
$ sudo rpm -ivh elasticsearch-1.4.0.Beta1.noarch.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:elasticsearch-1.4.0.Beta1-1      ################################# [100%]

そしてElasticsearchを起動します。

$ sudo /sbin/chkconfig --add elasticsearch
$ sudo service elasticsearch start

サンプルデータを投入する

とりあえずすぐ使ってみたいので適当なサンプルデータをElasticsearchに投入します。今回はElasticsearchの10 Minute Walk Throughというページで公開されているサンプルデータ(shakespeare.json)を投入しました。

さくっとサンプルデータ用のindexを作成します。

$ 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" }
   }
  }
 }
}';

そしてダウンロードしてきたサンプルデータをPUTします。

$ curl -XPUT localhost:9200/_bulk --data-binary @shakespeare.json

これでデータの準備は完了です。

Kibana 4 Betaのセットアップ

KibanaのInstallationページからKibana 4 Betaのtar.gzファイルをダウンロードし展開します。

$ wget https://download.elasticsearch.org/Kibana/Kibana/Kibana-4.0.0-BETA1.1.tar.gz
$ tar xvzf Kibana-4.0.0-BETA1.1.tar.gz
Kibana-4.0.0-BETA1.1/
Kibana-4.0.0-BETA1.1/bin/
Kibana-4.0.0-BETA1.1/config/
Kibana-4.0.0-BETA1.1/lib/
Kibana-4.0.0-BETA1.1/LICENSE.txt
Kibana-4.0.0-BETA1.1/README.txt
Kibana-4.0.0-BETA1.1/lib/Kibana.jar
Kibana-4.0.0-BETA1.1/config/Kibana.yml
Kibana-4.0.0-BETA1.1/bin/Kibana
Kibana-4.0.0-BETA1.1/bin/Kibana.bat

Kibana 4の設定はconfig/Kibana.ymlを編集して行います。今回は特に設定の変更はしませんが、設定ファイルは以下のような内容になっています。

$ cd Kibana-4.0.0-BETA1.1
$ cat config/Kibana.yml
# Kibana is served by a backend server. This controls which port to use.
port: 5601

# The Elasticsearch instance to use for all your queries
elasticsearch: "http://localhost:9200"

# Kibana uses an index in Elasticsearch to store saved searches, visualizations
# and dashboards. It will create an new index if it doesn't already exist.
KibanaIndex: "Kibana-int"

# Applications loaded and included into Kibana. Use the settings below to
# customize the applications and thier names.
apps:
  - { id: "discover", name: "Discover" }
  - { id: "visualize", name: "Visualize" }
  - { id: "dashboard", name: "Dashboard" }
  - { id: "settings", name: "Settings" }

# The default application to laad.
defaultAppId: "discover"

Kibana 4 Betaを使ってみる

Kibana 4を展開したディレクトリのbin/Kibanaコマンドを実行します。

$ sudo ./bin/Kibana
The Kibana Backend is starting up... be patient
{"@timestamp":"2014-10-17T17:00:08+09:00","level":"INFO","name":"Kibana","message":"Kibana server started on tcp://0.0.0.0:5601 in production mode."}

Kibanaをセットアップしたサーバの5601番ポートにWebブラウザで接続(http://KibanaサーバのEIP:5601/)してみます。

すると以下のようなインデックス設定画面が表示されるので、データに合わせて設定を行います。今回のテストデータは時間軸のデータを持たないため、以下のように[Index contains time-based events]のチェックを外しています。設定後[Create]ボタンをクリックします。

data_csv_と_Kibana_4

以下のように対象インデックスのマッピング情報が表示されます。

Kibana_4

左上の[Discover]をクリックすると、インデックスに含まれるデータが表示されます。

Kibana_4 2

左側のFields欄から表示したいfieldを選択すると、簡易的な集計が表示されます。ここで[Visualize]をクリックしてみます。

Kibana_4 3

すると[Visualize]画面に遷移し、該当Fieldを集計したグラフが表示されます。

Kibana_4_と_data_csv

それではこのVisualizeを保存してみましょう。右上の保存ボタンをクリックするとTitle入力欄が表示されるので、適当に名前をつけて、[Save]ボタンをクリックして保存します。

Kibana_4 8

ところでこれは余談ですが、Saveボタンをフロッピーディスクのマークにする文化はいつまで続くのでしょうか?そろそろフロッピーディスクを見た事が無い人も多いのでは無いでしょうか...

閑話休題。

左上の[Dashboard]をクリックすると、ダッシュボード画面が表示されます。ここで先ほど保存したVisualizeをダッシュボードに追加したいと思います。右上の追加ボタンをクリックします。

Kibana_4 5

するとVisualizeの選択画面が表示されます。先ほど保存したVisualizeが表示されるのでクリックします。

Kibana_4 6

するとダッシュボードにVisualizeが追加されます。

Kibana_4 7

実に簡単ですね!

さいごに

今回の作業はt2.microインスタンスで行っていましたが、

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f4d0a464000, 12288, 0) failed; error='メモリを確保できません' (errno=12)

というエラーが出力されてKibanaが落ちました。microインスタンスで使うのは少々厳しいようです。

それにしても、Kibana 3で黒ベースだった画面が白ベースになったからか、ずいぶん取っ付きやすくなった印象があります。正式リリースが楽しみですね!