Kibana4 を立ち上げてデータ表示するまで on AWS EC2

# はじめに
EC2 に ElasticSerach / Kibana4 をインストールして、Kibana4 でデータ表示するまでをまとめました。

# インストール
## 事前準備
root にユーザ切替して作業します( `$ sudo su -` )。

パッケージを更新します。

```bash
$ yum update -y
```

Swap領域を設定します。

```bash
$ dd if=/dev/zero of=/swap.img bs=1M count=2048
$ chmod 600 /swap.img
$ mkswap /swap.img
$ bash -c 'echo "/swap.img    swap    swap    defaults    0    0" >> /etc/fstab'
```

日本時間に設定します。

```bash
$ vi /etc/sysconfig/clock
```

clockファイルのZONEをZONE="Asia/Tokyo”に書き換えます。

ローカルタイムを設定し、再起動します。

```bash
$ ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ reboot
```

## インストール
root にユーザ切替して作業します。

ElasticSearch / Kibana インストール

yum でインストールできるように準備します。

```bash
$ rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
```

```bash
$ vim /etc/yum.repos.d/elasticsearch.repo
```

```bash:elasticsearch.repo
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

[kibana-4.4]
name=Kibana repository for 4.4.x packages
baseurl=http://packages.elastic.co/kibana/4.4/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
```

ElasticSearch をインストールします。

```bash
$ yum install elasticsearch -y
$ service elasticsearch start
$ chkconfig elasticsearch on
```

Kibana4 をインストールします。

```bash
$ yum install kibana -y
$ service kibana start
$ chkconfig kibana on
```

# サンプルデータを投入します。
[harukasan/kibana-testdata](https://github.com/harukasan/kibana-testdata) をダウンロードして、ElasticSearch に投入します。

```bash
$ wget https://github.com/harukasan/kibana-testdata/blob/master/events.json?raw=true events.json
$ curl -s -XPOST localhost:9200/_bulk --data-binary @events.json > /dev/null
```

# Kibana4 を起動する
## インデックスを作成する
ブラウザから http://(EC2のIPアドレス):5601/ を開くと、インデックスの作成を求められます。
![FireShot Capture 6 - Settings - Kibana_ - http___52.68.39.160_5601_app_kibana#_settings_indices_.png](https://qiita-image-store.s3.amazonaws.com/0/33258/6ff113d7-1fcb-6aa6-e4f6-94416eaf2135.png)

Index name or pattern を「sample_service-*」に修正すると、[Create] ボタンが表示されるので、クリックします。
![FireShot Capture 3 - Settings - Kibana_ - http___52.68.39.160_5601_app_kibana#_settings_indices_.png](https://qiita-image-store.s3.amazonaws.com/0/33258/d2160d6c-d795-5701-5369-b04ee480c84d.png)

## Discover - 必要なデータを発見する
[Discover] タブをクリックします。
![FireShot Capture 7 - Discover - Kibana_ - http___52.68.39.160_5601_app_kibana#_discover.png](https://qiita-image-store.s3.amazonaws.com/0/33258/61bdbb43-314a-fd0e-99d5-efef8c182210.png)

サンプルデータでは2014年4月27日のデータしかないので、右上の [Time filter] から期間を設定します。
![FireShot Capture 8 - Discover - Kibana_ - http___52.68.39.160_5601_app_kibana#_discover.png](https://qiita-image-store.s3.amazonaws.com/0/33258/a871b324-419d-e517-a57f-2190b00c9f2a.png)

[Time filter] の下にグラフとデータが表示されているので、見やすいように [Time filter] を閉じます。
![FireShot Capture 9 - Discover - Kibana_ - http___52.68.39.160_5601_app_kibana#_discover.png](https://qiita-image-store.s3.amazonaws.com/0/33258/d08ce756-9410-f4ef-7768-3e80cc5233f8.png)

## Visualize する
[Visualize] タブをクリックし、適当なグラフを選択します。
![FireShot Capture 12 - Visualize - Kibana_ - http___52.68.39.160_5601_app_kibana#_visualize_step_1.png](https://qiita-image-store.s3.amazonaws.com/0/33258/0eb4cddb-c823-49dd-6f15-fbc95303876c.png)

[Search Source] で検索ソースを選択します。
![FireShot Capture 11 - Visualize - Kibana_ - http___52.68.39.160_5601_app_kibana#_visualize_step_2.png](https://qiita-image-store.s3.amazonaws.com/0/33258/32570233-6528-6263-4c03-69ee79666362.png)

ここまでやるとグラフが表示されます。
![FireShot Capture 13 - Visualize - Kibana_ - http___52.68.39.160_5601_app_kibana#_visualize_create.png](https://qiita-image-store.s3.amazonaws.com/0/33258/a6afd952-613b-7e7e-220c-7b97c82fb074.png)

# まとめ
ElasticSearch / Kibana4 を yum でインストールする手順で環境を構築しました。
AWSであれば ElasticSearch Service を使えばいいのですが、この場合Fluentd を別環境に用意する必要があります。開発時には1つの環境で開発できたほうが楽なので、今回のやり方で環境を準備するとよいかなと。