vagrant
Elasticsearch
Ansible
Kibana4

入門記事:Elasticsearch1.4.0とKibana4.0.0の環境構築

More than 1 year has passed since last update.

この記事には最新版があります

Elasticsearch2.1.1とKibana4.3.1の環境をVagrantコマンド一発で構築する

まえがき

Elasticsearch Advent Calendar 2日目の記事です。

今思えば、実案件に投入したこともないのに参加してしまったなぁと内心ビビっているのですが、このAdvent CalendarをきっかけにElasticsearchKibanaを触ってみようと思った方が、ストレスなくElasticsearchを体験できるような記事を書ければと思います。

環境構築の方法

今回の記事では2通りの環境構築について紹介します。ひとつはVagrantを使用する例、もう一つはAnsibleを使用する例となります。

事前準備

Vagrant、Ansibleのどちらを使うにしても、この記事向けに作成したGitリポジトリーをcloneする必要があります。

git clone https://github.com/ariarijp/elasticsearch-and-kibana-playbook.git
git checkout 1.4.0-4.0.0BETA2

Vagrantを使用する場合はVirtualBoxとVagrant、Ansibleの場合はAnsibleをそれぞれインストールしてください。

Vagrant

とりあえずローカルで動かしてみたい場合はこちらの手順がおすすめです。
Vagrantを使用しているためホストのOSを選ばない点でもお手軽だと思います。

まず、cloneしたリポジトリーのディレクトリーに移動し、vagrant upコマンドを実行します。

cd elasticsearch-and-kibana-playbook
vagrant up

少し時間がかかりますが、作業はこれで以上です。簡単ですね!
簡単な動作確認方法については後述します。

Ansible

なんらかのクラウドサービス上で動かしてみたいという場合はこちらの手順がおすすめです。
対応しているOSはUbuntu 14.04 64bitのみとなりますのでご注意ください。

この記事ではAnsibleの使い方について、細かくは説明しませんので、Ansibleを使ったことがない方はマニュアルなどを確認してみてください。

インベントリーファイルの修正

まず、cloneしたリポジトリーのディレクトリーに移動します。

cd elasticsearch-and-kibana-playbook

次に、プロビジョニング対象のサーバーを定義するインベントリーファイルを修正します。

host
;hostname ansible_ssh_user=username ansible_ssh_private_key_file=/path/to/private/key

インベントリーファイルについての詳細はマニュアルを見ていただくとして、
この設定ファイルのhostnameを対象のIPアドレスに置き換え、ansible_ssh_userはAnsibleを実行するユーザー(sudo権限を必要とします)、ansible_ssh_private_key_fileはログインに使用する秘密鍵をそれぞれ指定します。

Playbookの実行

インベントリーファイルを書き換えたら、ansible-playbookコマンドでプロビジョニングしましょう。

ansible-playbook -i hosts playbook.yml

かなり簡単なPlaybookなので興味のある方はぜひ読んでみてください。
こんな書き方のほうがいいよというようなツッコミも歓迎してます。

以下のクラウドサービスでも動作確認していますので、参考にしてください。

  • AWS EC2: t2.medium
  • DigitalOcean: 2GB/2Cpus

ちなみに、Vagrantでの環境構築でも実際はAnsibleのlocalモードを使用しています。
これについても、詳細はVagrantfileを確認してみてください。

動作確認

さて、環境構築もできたので動作確認をしておきましょう。
具体的な使用方法については、すでに記事がいくつか公開されていますので、この記事特有の作業のみ説明します。

Vagrantを使用している場合は192.168.33.10:5601、Ansibleを使用した場合は対象のサーバーのIPアドレスの5601ポートにブラウザーでアクセスしてみます。

スクリーンショット 2014-11-29 20.16.41.png

Kibana3を使ったことがあるかたは変化に気づくかもしれません。
Kibana4はテーマが白基調になったんですね!

この記事の手順では10 minute walk throughで使用されているshakespeare.jsonをインポートしてある状態の環境ができていますので、このデータを閲覧してみましょう。

まずはIndex contains time-based eventsのチェックボックスをオフにして、Index name or patternshakespeareと入力してから、Createボタンをクリックします。

スクリーンショット 2014-11-29 20.21.56.png

スクリーンショット 2014-11-29 20.24.53.png

上記2つ目の画像のような画面に遷移したら、次は画面左上のDiscoverをクリックしましょう。

ここまででKibana4を使う準備ができました。
あとは記事を参考にしてみたり、思いつくままにKibana4に触れてみましょう。

VagrantやAnsibleを使用していますので、仮に環境が壊れてしまうような変更をしてしまっても、環境の再構築が容易になっています。
もっとも、Kibana4を使っている上では環境が壊れることはまず無いと思いますが。

また、9200,9300ポートにアクセスするとKibana4ではなくElasticsearch自体にアクセスすることが可能です。
REST API経由でElasticsearchを操作し、そのデータをKibana4で眺めてみたりするのも簡単に試してみることができますね。

まとめ

Vagrant、Ansibleと2つの方法で環境を作る方法を紹介してみました。

ElasticsearchはQiitaをはじめ導入事例が増えていますし、多くのかたが記事を書かれているので情報収集も簡単になってきたので、Kibanaの利用だけでなく、本来の全文検索エンジンとしての利用についても考えていきたいと思います。

なかなか実案件にElasticsearchを投入できずにいましたが、来年ぐらいから導入していきたいと思っているので、また記事にできるネタが増えそうです。

次の記事は@haracaneさんです。

参考記事