Elasticsearch + Kibana on Docker

表題の通り。DockerでElasticsearchとKibanaを動かす。

■ 環境

  • Mac OSX (10.10.5)
  • Docker 1.9.1
  • Docker Machine 0.5.5
  • Elasticsearch 2.1.1
  • Kibana 4.3.1

■ Docker

まずはDockerの環境を確認。”Docker Machine“で稼働させているいつものDockerホストを利用する。

$ docker-machine ls
NAME    ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER   ERRORS
local   *        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1
$
$ docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.5.1
 Git commit:   a34a1d5
 Built:        Sat Nov 21 00:48:57 UTC 2015
 OS/Arch:      darwin/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      linux/amd64
$

Elasticsearch“と”Kiabana“のコンテナを取得するが、事前にDockerHubで確認をし、どちらも最新版(latest)を利用することにした。

$ docker pull elasticsearch
$ docker pull kibana

■ Elasticsearch

Elasticsearchを起動する。判別しやすいように`–name`オプションで”elasticsearch”と付けているが、これは以降で起動する”Kibana”のコンテナでも利用するからである。

$ docker run -d -p 9200:9200 --name elasticsearch elasticsearch

`curl`でクラスタの状態を確認する。接続先は`docker-machine ls`で得られるDockerホストのIPを指定する。

$ curl '192.168.99.100:9200/_cat/health?v'
epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1452242652 08:44:12  elasticsearch green           1         1      0   0    0    0        0             0                  -                100.0%
$

問題無く稼働しているようである。

■ Kibana

Kibanaを起動する。先に起動しているElasticsearchにアクセスできるように`–link`オプションを指定する。

$ docker run -d -p 5601:5601 --name kibana --link elasticsearch:elasticsearch kibana

コンテナが稼働していることが確認できればブラウザで見てしまう。接続先のIPはElasticsearchと同様に`docker-machine ls`で確認できているDockerホストのIPである。

http://192.168.99.100:5601/

kibana-001

画面が正常に出力されているようなので良しとする。

以上。

■ 関連