Skip to content

Simple template for set Elasticsearch, Kibana, Logstash and Filebeat with Docker

Notifications You must be signed in to change notification settings

Harin3Bone/elasticsearch-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elasticsearch

Elasticsearch  Logstash  Kibana  Docker 

Description

This repository made for build simple of ELK Stack with Docker.

Prerequisite

Setup

Step 1: Download elasticsearch.yml from elastic github here

Note

elasticsearch.yml is config file for Elasticsearch use for advance configuration later. Recommend to add into container

Step 2: Download kibana.yml from elastic github here

Note

kibana.yml is config file for Elasticsearch use for advance configuration later. Recommend to add into container

Step 3: Add Elasticsearch node into docker-compose.yml

version: "3.8"

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2
    container_name: elasticsearch
    environment:
      - node.name=elasticsearc
      - cluster.name=es-docker-cluster
      - cluster.initial_master_nodes=elasticsearch
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - elastic_vol:/usr/share/elasticsearch/data
      - elastic_data:/var/lib/elasticsearch
      - elastic_log:/var/log/elasticsearch
      - ./elasticsearch.yml:/etc/elasticsearch/elasticsearch.yml
    ports:
      - 9200:9200
    networks:
      - elastic_net

Step 4: Add Kibana node into docker-compose.yml

  kibana:
    image: docker.elastic.co/kibana/kibana:7.15.2
    container_name: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    volumes:
      - kibana_vol:/usr/share/kibana
      - ./kibana.yml:/etc/kibana/kibana.yml
    ports:
      - 5601:5601
    networks:
      - elastic_net
    depends_on:
      - elasticsearch

Step 5: Add Logstash node into docker-compose.yml

  logstash:
    image: docker.elastic.co/logstash/logstash:7.15.1
    container_name: logstash
    volumes:
      - logstash_vol:/usr/share/logstash/config
      - logstash_log:/var/log/logstash
    networks:
      - elastic_net

Step 6: Add volume into docker-compose.yml

volumes:
  elastic_vol: {}
  elastic_data: {}
  elastic_log: {}
  kibana_vol: {}
  logstash_vol: {}
  logstash_log: {}

Step 7: Add network into docker-compose.yml

networks:
  elastic_net:
    external: false
    driver: bridge

Then docker-compose.yml will look like this

version: "3.8"

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2
    container_name: elasticsearch
    environment:
      - node.name=elasticsearc
      - cluster.name=es-docker-cluster
      - cluster.initial_master_nodes=elasticsearch
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - elastic_vol:/usr/share/elasticsearch/data
      - elastic_data:/var/lib/elasticsearch
      - elastic_log:/var/log/elasticsearch
      - ./elasticsearch.yml:/etc/elasticsearch/elasticsearch.yml
    ports:
      - 9200:9200
    networks:
      - elastic_net

  kibana:
    image: docker.elastic.co/kibana/kibana:7.15.2
    container_name: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    volumes:
      - kibana_vol:/usr/share/kibana
      - ./kibana.yml:/etc/kibana/kibana.yml
    ports:
      - 5601:5601
    networks:
      - elastic_net
    depends_on:
      - elasticsearch
      
  logstash:
    image: docker.elastic.co/logstash/logstash:7.15.1
    container_name: logstash
    volumes:
      - logstash_vol:/usr/share/logstash/config
      - logstash_log:/var/log/logstash
    networks:
      - elastic_net


volumes:
  elastic_vol: {}
  elastic_data: {}
  elastic_log: {}
  kibana_vol: {}
  logstash_vol: {}
  logstash_log: {}

networks:
  elastic_net:
    external: false
    driver: bridge

Step 8: Start server

docker-compose up -d

Reference

Contributor

About

Simple template for set Elasticsearch, Kibana, Logstash and Filebeat with Docker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published