현재 개발자 사이드 프로젝트 팀 매칭을 하고
매칭한 팀끼리 멘토링 받을 수 있는 플랫폼을 제작하고 있습니다
개요
1차 배포때 모니터링 시스템이 없어서 EC2 콘솔로 로그를 확인하였었는데 너무 불편하였다.
똑같은 실수를 방지하고자 최종 배포 때는 모니터링 시스템을 부착하고자 한다.
모니터링 서비스 종류
모니터링 서비스에는 엄청 여러가지가 있었다.
ELK (ElasticSearch + LogStash + Kibana)
Sentry
DataDog
Prometheus + grafana
cloudwatch
등등.. 엄청 많았다.
이중에서 현 상황에 적합한 기술을 찾고자 한다.
모니터링 서비스 비교
우선 모니터링 서비스는 크게 로그 모니터링과 서버 모니터링 으로 나뉘는것 같았다
로그 모니터링은 에러나 사용자가 남기는 로그를 모니터링 할수 있게 도와주고
ex) ELK, Sentry
서버 모니터링은 서버 부하나 애플리케이션 상태등을 모니터링 한다.
ex) DataDog , Prometheus+grafana , CloudWatch
이때 현 상황에서 가장 알맞는건 무엇일까
우리 서비스는
1. MSA 구조가 아니고
2. 규모가 작고 트래픽이 별로 없다 ㅠㅠㅠ
3. 배포 환경 에러 트래킹이 시급하다.
4. AWS를 많이 사용한다.
먼저 우린 아직 트래픽이 많은 서비스가 아니기 때문에 서버 모니터링이 필요해 보이진 않았다.
(사람이 많아요 부하가 걸리죠 ㅠ)
그러면 ELK와 Sentry가 남았는데
이 둘을 비교해 보도록 하겠다.
ELK
특징:
대규모 데이터 처리에 유리하다.
실시간으로 분석이 가능하다.
알림 전송 가능
단점:
비싸다
Sentry
특징 :
에러 분석에 특화되어 있다.
다양한 알림 연동을 지원한다 (email, Slack등)
단점:
에러 수집에 특화되어 로그 수집이 부족하다.
딱 특징들을 보았을때 ELK가 더 좋아보였지만 우리 서비스는 아직 트래픽이 많이 나고 있는 상황이 아니기 때문에 ELK의 장점인 "대규모 데이터 처리에 유리"를 느낄 일이 적어 보였다. 그리고 Sentry에는 무료 버전이 있었다. 또한 전에 ELK 멘토링 하느라 AWS 비용이 와장창 나왔던것을 기억하며 가성비 있는 Sentry를 채택하였다.
Sentry 적용하기
Sentry를 적용하는 방법은 굉장히 쉬웠다.
먼저 센트리를 import하고
// sentry
implementation 'org.springframework.boot:spring-boot-starter-aop'
implementation 'io.sentry:sentry-spring-boot-starter:6.26.0'
yml 파일에서 환경설정을 하고
sentry:
dsn: *********
traces-sample-rate: 1.0
send-default-pii: true
logging:
enabled: true
minimum-event-level: WARN
minimum-breadcrumb-level: WARN
environment: junhyuk
logBack 설정만 해주면 됐다.
++ 그리고 Sentry에서 내가 좋아하는 기능을 소개 하겠다.
environment: junhyuk
바로 enviroment 설정이다.
배포 할땐 production으로 해서 푸시하여 배포하고
로컬에선 각각 팀원분들의 이름을 저 enviroment 설정에 넣고 사용 하니
이처럼 다른 팀원분 로컬에서 발생한 에러도 내가 볼 수 있었다.
특히 프론트분과 협업하면서 이전엔 백에서 나는 오류를 긁어서 팀원분께서 카톡으로 보내주시곤 하였는데 이젠 내가 직접 들어가서 볼수 있었다!!
'기술적 고민 > Side Match' 카테고리의 다른 글
[SW마에스트로] 채팅 내역 DB 마이그레이션 (DynamoDB에서 MongoDB) (0) | 2024.07.16 |
---|---|
[SW마에스트로] CI/CD 구축 (Github Action, SCP) (0) | 2024.07.12 |
[SW마에스트로] DB가 2개일 경우 생기는 오류 처리 (0) | 2023.10.24 |
[SW마에스트로] 채팅 기능을 만들면서 하는 고민(DB 선정, 메세지 전송 방식) (4) | 2023.10.21 |
[SW마에스트로] Base64로 인코딩된 사진 받아서 S3에 업로드하기 (0) | 2023.10.07 |