ELK Stack을 이용하여 로그 모니터링 하기
·
Infra
이전 글에서 Prometheus + Grafana를 이용하여 시스템 모니터링을 구성했었다.이번 글에선 Filebeat + Elastic Search + Log Stash + Kibana 를 이용하여 로그 모니터링을 구성한 과정을 작성한다. ELK Stack을 쓰는 이유는 ?로그 수집 / 분석문제가 생긴 원인을 파악하거나 사용자 행위 분석 등 텍스트 기반 검색이 필요할 때"왜" 죽었는지 알 수 있다.구성 요소역할Filebeat로그 파일을 읽어 Logstash로 전달Log Stash로그 수집 및 파싱 (필요 시 변환)Elastic Search로그 저장 및 검색Kibana로그 시각화 및 대시보드 현재 디렉터리 구조는 아래와 같다.msa-deploy/├── docker-compose.yml├── .env 파일들..
Prometheus + Grafana로 시스템 상태 모니터링 하기
·
Infra
모니터링 기법에는 여러가지가 있지만 그 중에서 시스템 상태를 모니터링 하기에 적합한 기술 조합으로 Prometheus + Grafana 조합이 있다.이 모니터링 기법에는 다음과 같은 특징이 있다. 매트릭 수집 / 실시간 데이터 수집 역할시스템의 상태를 빠르게 파악하기에 적합하다. (CPU, 메모리, 응답 시간, 트래픽 변화 등)죽기전 징후를 알려준다.시스템 모니터링을 위하여 Prometheus + Grafana를 적용한 과정에 대하여 설명하겠다. 현재 진행 중인 프로젝트는 Docker를 이용하여 여러 컨테이너를 띄워서 배포하고 있었다.이 과정에서 편리하게 컨테이너를 관리하기 위해 docker-compose를 작성 해 놨었다. Prometheus와 Grafana의 컨테이너도 추가로 띄워야 하므로 docke..
Netlify에 프론트 서버 띄우기
·
Infra
프론트의 개발 상황을 실시간으로 보고 싶었는데 이를 위해선 서버에 배포할 필요가 있었다.이를 간단한 설정만으로 띄울 수 있는 Netlify라는 서비스를 이용하려한다.Git 브랜치의 커밋을 감지하고 최신 변경 내용으로 배포를 바로 진행해 준다.netlify에 접속 후 로그인을 한다.아래의 화면에서 Import from Git을 선택하고 저장소를 선택한다.아래와 같이 배포가 완료된다.사이트명도 직접 지정할 수 있다.아래와 같이 환경설정에서 수정해준다.처음에 dist/로 되어있지만 Vue.js가 사용하는 디렉토리고, react의 경우 build/ 디렉토리가 기본이다.react + vite 사용하는 경우 dist로 냅둘 것!설정을 마치면 서버 배포가 시작된다.정상 배포 완료 시
CI/CD (GitHub Actions, Jenkins)
·
Infra
GitHub Actions보통 CI 용도로 많이 쓰임코드 변경 감지애플리케이션 빌드테스트 실행Docker 이미지 빌드Docker Hub에 Docker 이미지 푸쉬하지만 도커 컨테이너를 실행하고 배포하는 역할은 자동화 해주지 않기 때문에 이것을 처리 해 주는 Jenkins로 CD를 구성하면 좋음Docker 컨테이너 자동 실행 방법 (CD)Actions + SSH(원격 접속)Actions에서 서버로 SSH 접속 → docker run 명령어 실행해서 컨테이너 배포단점 : 서버에 직접 SSH 접속을 해야 하므로 보안 설정이 필요Actions + AWS ECS / GCP Cloud RunActions에서 ECS나 Cloud Run에 배포하면 컨테이너를 실행한다단점 : 설정이 많고, 인프라 관리가 복잡할 수 있다..