본문 바로가기

전체 글

(26)
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. 도커 이미지를 컨테이너화 시킵니다.doc..
Github Action + NestJS e2e 테스트 환경 구성 개요인턴십 기간 동안, 사내 프로젝트 개발에 참여하며 서비스 안정화를 위해 테스트 코드를 작성했습니다. 특히 애플리케이션의 비즈니스 로직을 담당하는 서비스 레이어에 대해서는 시스템 간 상호작용을 직접 확인하기 위해 통합 테스트를 작성했습니다. 보다 더 안정화된 서비스를 위해, main 브랜치에 push 될 때 자동으로 테스트를 실행하는 워크플로우를 추가해 보겠습니다.   Continuous Integration(CI) 파이프라인name: Run Testson:  push:    branches:      - mainjobs:  container-job:    runs-on: ubuntu-latest    container: node:20    services:      postgres:        im..
가상 메모리를 통한 EC2 t2.micro 서버 다운 현상 해결 서론인턴십 온보딩 기간 동안 간단한 사내 프로젝트를 수행했습니다. 프로젝트의 배포는 EC2 t2.micro 위에 Docker Compose로 next.js, NestJS, PostgreSQL을 하나의 서비스로 정의해 컨테이너 묶음으로 관리했습니다. 컨테이너를 올리는 것까지는 정상적으로 동작했지만 컨테이너를 올린 뒤, 몇초가 지나면 EC2 서버가 다운되는 현상이 지속되었기에 이를 해결해보겠습니다.   Scouter 적용보통 EC2의 t2.micro는 일반 컴퓨터에 비해서 사양이 매우 낮기 때문에 과도한 CPU 버스트가 일어나거나, 할당할 수 있는 메모리가 없는 경우에 다운됩니다. 이를 확인해보기 위해 두가지 방법을 생각했습니다. 1. SSH로 EC2에 접근한 뒤, 명령어를 통해 CPU와 메모리 사용률을 측..