GithubHelp home page GithubHelp logo

vanson / elasticsearch-kibana-docker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sugikeitter/elasticsearch-kibana-docker

0.0 1.0 0.0 41 KB

Elasticsearch + Kibana + Docker Compose

Shell 100.00%

elasticsearch-kibana-docker's Introduction

Elasticsearch + KibanaDocker Composeで動かす

概要

  • Docker Composeを利用して、Elasticsearchを3ノード1クラスタ構成で起動させた
  • Kibanaも立ち上げて、Elasticsearchと連携させた
  • Docker Composeの設定値について、自分の理解した内容をまとめた

更新履歴

  • 2022/03/13
    • Elasctic Stackのver.を7.9.1=>8.1.0へ変更
  • 2020/09/17
    • Elasctic Stackのver.を7.7=>7.9.1へ変更
    • Docker Compose(Mac)のver.を1.25.5=>1.27.2で動作確認
  • 2020/06/07
    • Elasctic Stackのver.を6.3.1=>7.7へ変更
    • Docker Compose(Mac)のver.を1.22.0=>1.25.5で動作確認

GitHub

環境

  • Elasticsearch 8.1.0
  • Kibana 8.1.0
  • Docker version 20.10.7
  • Docker Compose 1.29.2

必要なファイル

.
├── docker-compose.yml
└── .env # PASSWORD の設定が必要

動作確認

起動

以下の手順でElasticsearchKibanaのコンテナを起動させる

## リポジトリをcloneして、docker-compose.ymlが配置されているディレクトリに移動
$ git clone https://github.com/sugikeitter/elasticsearch-kibana-docker.git
$ cd elasticsearch-kibana-docker

## ELASTIC_PASSWORD と KIBANA_PASSWORD を設定
vi .env

## docker-compose.ymlからDockerイメージをビルドして起動
$ docker-compose up -d

## docker-compose.ymlからDockerイメージをビルドして起動(起動時のログが見たい場合)
$ docker-compose up

## クラスターを停止
$ docker-compose down

## クラスターを停止して起動したリソースを削除
$ docker-compose down -v

起動時のよくあるエラー

  • docker-compose up して max virtual memory areas vm.max_map_count [XXXXX] is too low, increase to at least [262144] が出た場合、以下の設定でカーネル設定を変更する
$ sysctl -w vm.max_map_count=262144

Kibanaへ接続

  • ブラウザでhttp://localhost:5601/へアクセスすると、起動に成功している場合は以下の画面が表示される

  • 以下を入力して「Log in」
    • Username : elastic
    • Password : .env ファイルの ELASTIC_PASSWORD に設定した値

docker-compose.ymlの設定について

今回作成したdocker-compose.ymlはこちら

services

  • この下にコンテナを定義していく
  • ここで定義したservice名はコンテナ間で通信する時のホスト名のような役割になる
    • 下で出てくるcontainer_nameと違い、Docker Composeで利用される名称
    • ElasticSearchの設定であるnode.namediscovery.seed_hostsの値をコンテナ間の通信する時の名前として利用するようなので、serviceの名前とこの設定値は合わせておいた方が良い
  • 今回の場合だとes01, es02, es03, kibana01という4つ定義している

environment

  • 環境変数を追加することができる
    • 今回はES_JAVA_OPTSというElasticsearchで利用されるJava起動引数を追加で設定した
      • Elasticsearchとしてはjvm.optionsを利用すればJava起動引数を一括でまとめることもできる
      • 今回はデフォルトのjvm.optionsにヒープサイズだけ追加したかった(のとenvironment設定も使って見たかった)ため、これを利用した

ulimits

  • コンテナのulimitコマンドで設定できる値をデフォルト値から上書きする

volumes

  • ホスト側のファイルをコンテナ側へ渡したりできる
  • HOST:CONTAINERの順で設定
  • トップレベルのvolumesに名前を定義することで以下のことができる
    • 複数サービスをまたがってボリュームを利用
    • ホスト側へデータを永続化

port

  • 公開するポートの設定
  • HOST:CONTAINERの順で設定
  • 今回はes0*はそれぞれポート9200を利用してプロセスを立ち上げているが、ホストマシン経由でコンテナへアクセスする場合にlocalhost:920[1,2,3]でそれぞれのコンテナのElasticsearchへアクセスできるように設定している
    • localhost:9201->es01:9200
    • localhost:9202->es02:9200
    • localhost:9203->es03:9200

参考

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.