Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

higee/elastic

Repository files navigation

Elastic Stack을 활용한 Dashboard 만들기


안내

  • 이 repository는 지속적으로 업데이트가 진행된다. (<>Code, Issues, Wiki)
  • branchFast Campus 강의 기수에 맞춰져 있다.
  • Elastic Stack Version 별로 자료가 필요하면 Release에서 다운 받으면 된다.
  • repository 요소별 안내
    • Code : Elastic Stack 흐름에 관한 전반적인 설명
    • Issues : 자주 들어온 질문 정리
    • Wiki : Elastic Stack 사용법에 초점을 맞춘 간단 사용 설명서

설치

  • AWS EC2에 접속 하는 경우를 제외하고는 Windows 및 Mac OS 공통
  • 아래 내용의 동영상이며 영상 속 코드를 복사할 수도 있다.

elastic stack install guide


0. AWS EC2 설정

  • AMI : Amazon Linux 2 LTS Candidate 2 AMI (HVM), SSD Volume Type - ami-96b916f8

  • Security Group

    Type Protocol Port Range Source Description
    SSH TCP 22 Custom 0.0.0.0/0 ssh
    Custom TCP TCP 9200 Custom 0.0.0.0/0 elasticsearch REST
    Custom TCP TCP 9300 Custom 0.0.0.0/0 elasticsearch node communication
    Custom TCP TCP 5601 Custom 0.0.0.0/0 kibana

1. AWS EC2 접속

  • Mac OS
    • elastic_camp.pem를 Home directory에 다운 받고 Home으로 이동
    • 예를 들어 ip 주소가 12.345.678.123인 경우
    $ cd ~
    $ chmod 400 elastic_camp.pem
    $ ssh -i "elastic_camp.pem" ec2-user@12.345.678.123
    
  • Windows : 클릭

2. virtual memory areas 늘리기

  • 설명
    • Elasticsearch는 mmapfs 디렉토리에 index를 저장한다 (default 설정)
    • mmap counts에 대한 운영체제의 limit이 default로는 낮게 되어 있어서 높혀주지 않으면 out of memory 발생
  • 방법
    • $ sudo vim /etc/sysctl.conf
    • 가장 아래 라인으로 이동 : shift + g 입력
    • 새로운 라인으로 편집 모드 : o 입력
    • 다음과 같이 입력 vm.max_map_count=262144
    • 저장 : ESC 누르고 :wq 입력 후 Enter
    • 재시작 : $ sudo reboot

3. docker 설치

  • 약 1분 후에 AWS EC2 접속와 같은 방법으로 재접속한다
  • docker 설치 및 현재 유저로도 실행할 수 있도록 설정
$ sudo yum install docker -y
$ sudo usermod -aG docker $USER
$ exit

$ sudo service docker start

4. docker-compse 설치 및 실행 가능하게 설정

$ sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

5. git 설치 및 repo clone

  • git을 설치하고 본 repository를 clone 받는다
  • elastic stack 설치에 필요한 스크립트 및 자료를 미리 올려두었다
$ sudo yum install git -y
$ git clone -b class5 https://github.com/higee/elastic.git
$ cd /home/ec2-user/elastic/Install/config

6. 파일 소유권 변환

$ sudo chown -R 1000:1000 /home/ec2-user/elastic/

7. elastic stack 실행

  • 다운 받은 docker-compose.yml에 설치 및 실행에 필요한 모든 정보가 들어있다.
  • 수업 후에 환경에 맞게 customize하고 우선은 default 상태로 실행하자
  • foreground에서 실행하고 log를 확인하자
$ docker-compose up 
  • log를 확인했으면 ctrl+c로 중단하고 detached mode로 실행하자
$ docker-compose up -d

8. logstash 실행

  • logstash container 실행 : $ docker exec -it logstash bash
  • permission error 생길 경우 root로 실행 : $ docker exec -u 0 -it logstash bash
  • logstash 실행
    • 편의상 configuraiton 파일도 모두 volume 형태로 mount 해두었다
    • 실행하고 싶은 scenario를 여기에서 찾아서 실행하자
    • 예를 들어 아래와 같이 하면 파일 데이터를 수집하는 logstash를 실행한다
    $ bin/logstash -f code/input/file/file-sincedb-path.conf
    

9. Kibana 접속

  • 예를 들어 ip 주소가 12.345.678.123인 경우 : http://12.345.678.123:5601
  • docker-compose에서 port를 변경해주면 80번 혹은 443번 포트 등을 사용할 수 있다

기타

  • 내용에 대한 피드백(틀린 내용, 설명의 애매함, version upgrade 등)은 언제든지 편하게 알려주세요.
  • 데이터는 랜덤으로 생성했으니 참고 바랍니다.

About

Elastic Stack (6.2.4) 을 활용한 Dashboard 만들기 Project

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /