본문 바로가기

개발/Infra

Elastic Search + Kibana 도커 구동

개요


APM을 이용해 NestJS 서버를 모니터링 할 생각으로 EC2에 스카우터를 띄웠습니다.

 

그런데 웬걸 스카우터는 node 서버는 모니터링이 안되는 것이었습니다.

 

그래서 node 서버를 모니터링 하기 위한 툴을 여러개 찾던 중 Elastic APM에 대해 알게되었습니다.

 

그동안 ELK stack에 대해서 들어만 봤지 실제로 써본적은 한번도 없었기에 일단 Elastic Search + Kibana를 도커로 띄워보면서 ELK stack과 친해져 보겠습니다.

 

 

 

Elastic Search 


1. elastic search의 도커 이미지를 다운 받습니다.

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.7.0

 

2. 도커 이미지를 컨테이너화 시킵니다.

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:8.7.0

 


3. 컨테이너를 실행시키면 패스워드 값과 토큰값이 나오는데 이 값을 기억해두셔야합니다.

 

4. 비밀번호를 초기화합니다. ( chageme 기본 비밀번호라는데 제게는 올바르지 않는 비밀번호였습니다 )

docker exec -it '컨테이너ID' sh
bin/elasticsearch-reset-password -u elastic

 

5. elastic search 컨테이너를 재 실행합니다.

docker restart '컨테이너ID'

 

6. http://localhost:9200으로 접근하여 아이디(elastic)와 비밀번호를 입력합니다.

 

정상적으로 접근될 경우 아래와 같은 결과값이 반환됩니다.

 

 

 

Kibana


1. elastic search의 도커 이미지를 다운 받습니다.

docker pull docker.elastic.co/kibana/kibana:8.3.3

 

2. 이미지를 컨테이너화 시킵니다.

docker run --name kib-01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.3.3

 

 

3. localhost:5601에 접속합니다.

 

4. 이전에 Elastic Search에 접속할 때 사용했던 토큰을 넣어줍니다.

 

5. verifycation 값으로 kibana 로그에 찍힌값을 삽입해줍니다.

 

6. 로그인 화면에서 아이디로 elastic, 비밀번호로 아까 발급한 비밀번호 값을 입력합니다.

 

아래와 같은 화면이 나오면 정상적으로 kibana가 실행된 것입니다.