LoginSignup
23
25

More than 5 years have passed since last update.

Docker+Fluentd+ElasticSearch+KibanaでNginxのログを収集しビジュアルするイメージを作りました。

Posted at

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
  1. 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をご参考。

23
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
25