Sentry를 사용해 어플리케이션 모니터링

고승원·2023년 3월 28일
1

Spring

목록 보기
4/14
post-thumbnail

서론

애플리케이션 베타버전을 배포하고 200명이 넘는 사용자들이 이용해주었다. 첫 배포때는 예상치 못한곳에서 많은 오류가 발생했었는데, 사용자 설문과 Cloud Watch의 로깅으로 오류를 추적하는 것은 불편했다.

모니터링 툴을 붙여보자!
그라파나,프로메테우스, 키바나등 여러가지 모니터링툴이 있지만, 필자는 Sentry를 선택했다.

Sentry를 선택한 이유는 정말 간단히 세팅할 수 있었기 때문이다. 이미 베타버전 배포를 했기 때문에 시간이 많지 않았다.

연동 하는 법

프로젝트 생성

각자 계정을 생성한 뒤 프로젝트 생성을 한다.

플랫폼을 정하면, 알람 범위와 프로젝트 명을 정한 뒤 생성이 완료된다.

스프링부트에 연동

연동 하는 법은 굉장히 간단하다.

	//sentry
    implementation 'io.sentry:sentry-spring-boot-starter:6.15.0'
    compile 'io.sentry:sentry-logback:1.7.23'

build.gradle 파일에 의존성을 추가한다.

sentry:
 dsn: (dsn주소)
 traces-sample-rate: 1.0

dsn의 주소는 프로젝트 생성 후 화면에 표시된다.
traces-sample-rate를 1.0으로 설정하면 발생하는 모든 트랜잭션에 대해 성능 모니터링 한다.

yml에 위와 같이 추가하면 연동은 끝이다.

사용법

발생한 오류 및 예외는 Sentry 대시보드에서 확인할 수 있다.

오류

오류가 발생하게 되면 Issue에 기록된다

에러를 클릭하게 되면 상세 정보가 나온다.

위와 같이 발생한 api, 브라우저, 운영체제등 에러에 대한 상세한 정보가 제공된다.

대시보드

sentry는 대시보드도 제공하는데 이는 비즈니스 플랜 또는 체험 기간에만 제공된다.

성능 지표

sentry는 에러 트래킹 외에도 성능 지표를 제공한다.

트랜잭션의 수, 고객 만족 지표, 분당 트랜잭션 수, api별로 tps, 실패율 등을 제공한다.

위를 제외하고도 sentry가 제공하는 기능은 찾아볼수록 많다. 비즈니스 모델인 경우도 많지만, 무료로 제공하는 기능들도 모니터링을 하기에 상당히 편리하다.

마무리

기존에 CloudWatch를 사용하며 불편함을 느껴 Sentry를 사용하게 되었는데, 팀원 모두가 메일을 통해 실시간으로 에러에 대한 정보를 제공받을 수 있는점이 상당히 만족스러웠다.

어플리케이션을 배포한뒤, 설문을 열었었는데, 그것 외에도 사용자들이 겪은 에러들을 트래킹할 수 있는 좋은 기회였다.

Sentry를 사용하여 애플리케이션의 안정성을 높이는 데 매우 유용하게 사용했다.

이 과정을 통해 애플리케이션의 사용자 경험을 개선하고 개발자가 더 나은 코드를 작성 하도록, 에러에 할애하는 시간을 줄일 수 있도록 도와준다.

profile
봄은 영어로 스프링

0개의 댓글