on
Sentry 란?
Sentry 란?
개발이 완료된 서버를 배포한 운영 상황에서 로깅과 모니터링은 매우 중요하다. 이러한 에러 로깅과 모니터링을 동시에 할 수 있는 도구가 바로 Sentry 이다.
Sentry
Sentry는 자체 호스팅 및 클라우드 기반 오류 모니터링을 제공하여 모든 소프트웨어 팀이 실시간으로 오류를 발견하고 심사하여 우선 수위를 정할 수 있도록 제공하는 통합 관제 솔루션이다. Exception이나 오류, 로그들을 그룹화해서 빈도수 체크, 이벤트 그룹화 및 시각화해서 볼 수 있다는 장점이 있다.
Sentry는 실시간으로 프로그램 이슈를 트래킹하다가 에러가 발생하면 설정에 따라 특정 사용자나 그룹에 알림을 보낼 수 있는 기능 또한 가지고 있다. 만약 Slack 같은 협업 도구를 사용한다면 해당 채팅방으로 알림을 전송하는 것도 가능하다.
Sentry는 방대한 플랫폼 지원이라는 강점을 가지고 있다. 지원 플랫폼으로는 Java, Go, Node, PHP(Laravel), JavaScript 및 Frontend Framework 등이 있다. (지원 플랫폼 목록)
연동 실습 (Java-Spring Boot)
1. 공식 사이트 에서 회원가입을 한다.
2. 원하는 플랫폼을 선택한다.
3. Settings > Projects > 사용하려는 프로젝트 클릭
4. Client Keys(DSN) > DSN을 확인한다.
5. Gradle 의존성을 추가
- build.gradle에 dependency를 추가한다.
- logback은 spring-boot-starter 안에 이미 의존성이 들어있기 때문에 dependency가 따로 필요 없다.
// build.gradle compile 'io.sentry:sentry-logback:1.7.30' compile 'io.sentry:sentry-spring-boot-starter:1.7.30'
6. logback-spring.xml 파일 생성
- src/main/resources 경로에 logback 파일을 생성하여 로그에 관한 설정을 한다.
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n ERROR %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
7. application.yml 설정
- Client Key(DSN)를 설정한다.
// application.yml sentry: dsn: {client-key}
8. 에러를 발생시키면 Sentry 에서 이슈를 확인할 수 있다.
Reference
from http://havving-do-it.tistory.com/197 by ccl(A) rewrite - 2021-08-30 13:25:47