LoginSignup
4
4

More than 3 years have passed since last update.

dockerでelasticsearch、kibanaを使える環境を構築してみる

Last updated at Posted at 2019-09-11

全文検索機能を利用する

業務で使うことがあったので、elasticsearchを勉強しようと思す。今回はdockerで簡単に構築してみました。dockerの使い方などは端折ります。
elasticsearchに投入するデータはwebサービスでランダムで作成したデータですので適宜用意してください。
今回は対象外ですが、前段にelasticsearchにアクセスするAPサーバーを用意し、elasticからデータを取得するようなアプリケーションも公開できたらなーと思ってます。

構成図

構成図.png

周辺のツール

  • postgres
    • elasticsearchに流すデータソース
  • logstash
    • postgresのデータを抽出しelasticsearchにデータを流し込むアプリケーション
  • kibana
    • elasticsearchにモニタリングするアプリケーション

資材

下記からcloneしてください。
github

docker-compose.yml
version: '2'
services:
  postgres:
    # 配下のinit_dataが初期データ。適宜用意してください。
    build: ./postgres
    ports:
      - 5432:5432
    environment:
      - POSTGRES_USER=postgres
    volumes:
      - ./postgres/data:/var/lib/postgresql/data
      - ./postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
    container_name: postgres
  elasticsearch:
    build: ./elasticsearch
    ports:
      - "9200:9200"
      - "9300:9300"
    container_name: elasticsearch
    hostname: elasticsearch
    environment:
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
      - "http.host=0.0.0.0"
      - "transport.host=127.0.0.1"
      - "xpack.security.enabled=false"
  kibana:
    # image: docker.elastic.co/kibana/kibana:7.0.1
    build: ./kibana
    ports:
      - "5601:5601"
    container_name: kibana
    links: 
      - elasticsearch
  logstash:
    image: logstash:7.0.1 
    volumes:
      - ./logstash:/usr/share/logstash/pipeline
      - ./jdbc/postgresql-42.2.2.jar:/usr/share/java/postgresql-42.2.2.jar
    links:
      - elasticsearch
      - postgres
    ports:
      - '5044:5044'
      - '43448:43448/udp'
      - '9600:9600'

kibanaの起動確認

docker-composeで起動後ブラウザで下記にアクセスするとkibanaが開く
http://<ホスト名>:5601
image.png
その後、左側のメニューの「Dev Tools」を押下。
image.png
この画面でクエリの確認ができます。

4
4
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
4
4