Dockerイメージは2つあります。ひとつはNginx側に動くセンサーfluentd-agent( https://github.com/liubin/fluentd-agent )です。もひとっつはローグを集約するElasticSearchとデータ可視化するKibanaのかたまりes-dashboard( https://github.com/liubin/es-dashboard )です。
なおDockerHubにて公式イメージも用意されているので、下記のコマンドはそのまま実行できます(はずです)。
環境:
- CentOS 7
- Fluentd 0.10.61
- JDK 1.7.0
- ElasticSearch 1.5.0
- Kibana 4.0.2
1.Dashboardの起動
es-dashboardは1つのコンテナに動けます。また、コンテナが使えるリソースが制限されている場合、ElasticSearchとKibana用の2つのコンテナに動作できます。
1.1. ひとつのコンテナで起動
これは一番簡単の方法です、起動するのはコマンド一発のみ。
$ sudo docker run -p 9200:9200 -p 9300:9300 -p 5601:5601 liubin/es-dashboard
5601はKibanaのポートで、9200と9300はElasticSearch用のポートです。
1.2. ふたつのコンテナを分けてで起動
まずは、ElasticSearchを起動する。
$ sudo docker run -p 9200:9200 -p 9300:9300 liubin/es-dashboard --name es /tmp/start.sh es
起動ができたら、ElasticSearchのIPとPortを取得しKibanaのコンテナに渡し起動します。
$ sudo docker run -p 5601:5601 -e ELASTIC_URl=192.168.33.121:9200 --name kibana liubin/es-dashboard /tmp/start.sh kibana
- Nginx側にAgentを起動します
ESのIpとPortを知る必要があります。
$ sudo docker run -e ELASTIC_HOST=172.17.0.92 -e ELASTIC_PORT=9200 -v /var/log:/var/log --name agent liubin/fluentd-agent
また、Nginxのログは/var/log/に格納されていると想定されています。
これでBrowserでKinabanの画面を確認でします、URLはHTTP://<KinbanaのIP>:<KibanaのPort>。
3. セキュリティ面
デフォルトではセキュリティに大問題があります、そればユーザ認証とアクセス制限機能はないですので、おおむけに公表するサービスに向いてないです。
くわしいはかきのURLをご参考。