Programming/Spring

[ELK+R스택 구축하기] docker로 ELK 구성하여 Spring Boot 로그 쌓기 (1)

byeong07 2023. 5. 5. 12:12

안녕하세요.

 

ELK와 Redis를 이용하여 Spring Boot에서 쌓는 로그를 분석 및 보기 편하도록 Redis와 연동하며 겪은 경험을 글로 남기려고 합니다.

 

이번에는 ELK가 뭔지 Ubuntu를 이용하여 Docker설치 과정을 적어보려고합니다.

 

일단 ELK가 뭔지 부터 알아볼까요.

 

E = Elasticsearch

Elasticsearch는 Apache Lucene에 구축되어 배포된 검색 및 분석 엔진입니다. 

 

L = Logstash

Logstash는 다양한 소스로부터 데이터를 수집하고 전환하여 원하는 대상에 전송할 수 있도록 하는 오픈 소스 데이터 수집 도구입니다.

 

K = Kibana

Kibana는 로그 및 이벤트 검토에 사용하는 데이터 시각화 및 탐색 도구입니다.

 

이렇게 세가지를 합쳐서 ELK스택이라고 부르고 있습니다! ELK 스택은 로그를 집계, 분석, 인프라 모니터링 시각화, 문제 해결 보안 분석을 가능케 하는 능력을 제공합니다.

 

자 그럼 일단 Docker를 돌리기 위한 Ubuntu 설치부터 진행해봅시다.

Ubuntu 설치 

https://ubuntu.com/download/desktop 사이트에 방문하여 저는 Ubuntu 22.04 LTS를 다운받았습니다.

그다음 가상머신이나, 사용할 곳에서 넥스트넥스트 하면서 설치 하시면 됩니다. Desktop 환경이라 설치하는데 어렵지 않습니다.

 

그럼 본격적으로 Docker를 설치해봅시다!

 

Docker 설치

apt가 https를 통해서 repository를 이용하 할 수 있도록 패키지 설치가 필요하다고하네요! 아래 명령어를 콘솔에서 작성해봅시다.

 

sudo apt-get update
 
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

 

 

그런후에 Docker의 Official GPG KEY를 등록해야한다고합니다.

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

 

stable repository를 등록해봅시다.

 

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 

Docker Engine 설치하기

이번에도 역시나 명령어를 입력하여 최신버전으로 설치해봅시다.

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

설치가 완료되었다면 제대로 설치 되었는지 버전을 확인해봅시다.

 

docker --version

 

버전정보를 확인 할 수 있다!

이렇게 하면 Docker 설치는 마무리 되었습니다!

 

하지면 여기서 끝내선 안되고 Docker-compose까지 설치를 해야 수월하게 진행 할 수 있습니다!

 

Docker-Compose 설치

Docker-Compose는 여러개의 도커 어플리케이션 컨테이너들을 yml파일에 정의하고 실행 할 수 있게 도와주는 툴입니다. 매우 도움이 되겠죠!? Docker를 설치해도 Docker-Compose까지 자동으로 설치되는것은 아니기 때문에 번거롭지만 직접 설치를 진행해주어야 합니다!

 

sudo curl -L \ 
"https://github.com/docker/compose/releases/download/1.29.2/dockercompose-$(uname -s)-$(uname -m)" \ 
-o /usr/local/bin/docker-compose
# curl을 이용하여 현재 파일을 시스템에 다운로드 하는 것이다.
# "/usr/local/bin/docker-compose" 라는 이름의 파일로 다운된다.
# https://github.com/docker/compose/releases 에서 버전 확인을 하여 위의 1.29.2를 바꿔서 다른 버전 설치가 가능하다. 


sudo chmod +x /usr/local/bin/docker-compose 
# chmod 를 통해서 실행이 가능하게 세팅

잘 설치가 되었다면 Docker 설치때와 마찬가지로 version을 확인해보자

 

docker-compose --version

 

도커와 마찬가지로 버전확인 가능하다!

 

이제 기본적인 ELKR을 도커를 통하여 실행 하기 위한 세팅은 완료되었습니다. 

 

그럼 다음에는 ELK 이미지와 Redis 이미지를 조합하여 Docker-Compose로 사용하는 글로 만나보아요~~