• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
ELK

ELK Stack Docker로 쉽게 설치하기.

달소 달소 899

2

0

 

안녕하세요. 달소입니다.

 

요즘 업무상 Elasticsearch를 다룰일이 생겨서 오랜만에 다시 설치해보고있는데요.

 

테스트를 위해 Docker로 설정하고있는부분을 공유드리고자합니다.

 

Elastic Stack에 대한 정보는 추후 정리해보도록하겠습니다.

 

여기서는 Docker-compose를 이용해서 한번에 모든 스택을 설치해보겠습니다.

 

Elastic Stack 구성

ELK 스택에 대해서 나중에 설명해드린다고했지만.. 만들어지는 docker에 대해서 간단하게는 설명해드려야된다고 생각하기때문에 ㅎㅎ

간단하게 컨테이너로 말씀드리겠습니다.
여기서 ES01~03은 일부러 Master와 Node를 나눈것으로 하나로 설치해도 무방하긴합니다만 역할분담을 위해 나눠설치했습니다.

 

버전은 현재 날짜 기준(21/05/24) 최신버전인 7.12.1 입니다.

 

image.png.jpg

 

docker-compose 설정파일

mkdir -p /data/elk/ && cd /data/elk

vi docker-compose.yml

 

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.12.1
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.12.1
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.12.1
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic
  logstash:
    container_name: logstash
    image: docker.elastic.co/logstash/logstash:7.12.1
    environment:
      LS_JAVA_OPTS: "-Xmx256m -Xms256m"
    volumes:
      - logstash:/usr/share/logstash/data
    networks:
      - elastic
    depends_on:
      - es01 #elasticsearch 가 실행된 이후 logstash 실행되도록 depends_on 설정
  kib01:
    image: docker.elastic.co/kibana/kibana:7.12.1
    container_name: kib01
    ports:
      - 5601:5601
    environment:
      ELASTICSEARCH_URL: http://es01:9200
      ELASTICSEARCH_HOSTS: http://es01:9200
    networks:
      - elastic
volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local
  logstash:
    driver: local
networks:
  elastic:
    driver: bridge

 

이렇게 docker-compose.yml 을 생성한 후에 docker-compose up 명령어로 실행시켜주면

이미지를 다운받고 자동으로 생성됩니다.

 

image.png.jpg

 

중지는 docker-compose down 입니다.

 

curl http://localhost:9200 을 했을떄 아래처럼 결과가 나온다면 엘라스틱서치가 구동중이며

 

image.png.jpg

 

웹으로 [IP]:5601, localhost:5601로 들어갔을때 아래처럼 kibana가 잘보인다면 모두 완료된것입니다.

 

image.png.jpg

 

기타 자세한 사용법같은건.. 나중에 다뤄보도록하겠습니다.

신고공유스크랩
0
2명이 추천

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

주간 조회 수 인기글

주간 추천 수 인기글

분류 제목 글쓴이 날짜 조회 추천
코딩테스트 ㅘ!!!!!! 9 Jasons 23.08.24.15:40 140 +2
코딩테스트 으어... 대회 시작 1시간 하고도 정확히 15분전 2 Jasons 23.08.13.12:45 244 +1
코딩테스트 NYPC 2023 2 Jasons 23.08.09.14:13 173 +1
ELK
image
달소 21.05.24.15:48 899 +2