개요
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가 실행된 것입니다.

'개발 > Infra' 카테고리의 다른 글
Docker-compose Watch Tower 적용 (1) | 2024.10.06 |
---|---|
가상 메모리를 통한 EC2 t2.micro 서버 다운 현상 해결 (0) | 2024.08.06 |