프로젝트에 Sentry(On-Premise) 적용

Dev Smile·2024년 6월 11일

1. 회원가입

  • 로그인 페이지에서 Request to Join

  • 관리자가 승인하면 메일로 접속 주소가 전송 (없다면 스팸메일함 확인)

  • 접속 시 포트를 변경하였다면, 주소에서 port(9000)를 수정

    • 이메일로 센트리 안내를 보낼 때 9000번 포트로 안내합니다. 따라서 접속이 안 되면 주소를 확인해봐야 합니다.
  • 새 계정 만들기 > 가입 메뉴 선택 > 계정 정보 기입 > 가입 버튼 선택

  • 가입 완료

2. 프로젝트 추가 및 적용

  • 왼쪽 메뉴바에서 프로젝트 탭 선택 > 오른쪽 위 Create Project

  • 사용하고자 하는 플랫폼 선택 > 알람 주기 선택 > 프로젝트 이름과 Team 선택(또는 추가) > Create Project

  • 안내에 따라 추가하기

    • 포트를 변경하였다면, dsn 주소의 포트 9000를 수정

    • 안내에 따르지 않고 개별적으로 찾아서 해도 되는데 여기서 제공하는 dsn 주소로 설정

      • Settings > Client Keys (DSN) 에서도 확인 가능
    • 초기 설정값 (Javascript 버전이지만 페이지 좌측 상단에 플랫폼을 선택하여 다른 플랫폼도 확인할 수 있습니다.)

    • Vue 프로젝트 추가 예시 (main.ts)

      ...
      
      const myDsn = 'my_dsn_address';
      const mode = import.meta.env.MODE;
      
      Sentry.init({
          app,
          dsn: myDsn,
          integrations: [
              Sentry.browserTracingIntegration({ router }),
              Sentry.replayIntegration(),
          ],
          environment: mode,
      
          tracesSampleRate: mode === 'production' ? 0.1 : 1.0,
          replaysSessionSampleRate: mode === 'production' ? 0.1 : 1.0,
          replaysOnErrorSampleRate: 1.0,
      });
      
      ...
  • 프로젝트 탭에서 생성한 프로젝트 확인 가능

  • 클라이언트에 정상적으로 적용이 되었다면, 에러 / 리플레이 상황 발생 시 표시됨.

  • 에러 발생 시 메일로 수신 (다만 포트를 수정하였다면, View on Sentry를 눌렀을 때 URL에서 포트를 수정해야 함)

    • 세팅에서 메일 제목 Prefix 변경 가능

- 적용에 대한 고민

  • Replay 기능

    • replay 기능은 애플리케이션의 재생 데이터를 수집하고 저장하여 이후에 재현할 수 있게 해주는 기능

    • 모바일 (셀룰러 데이터를 사용하는 환경) 에서 과한 수집 빈도를 설정한다면, 사용자의 데이터 사용을 과도하게 요구할 수도 있지 않을까?

    • 모바일 환경 외에서도 과한 수집은 지양하는 것이 좋을 것 같으므로 production 환경에서는 sampleRate를 줄이는 것이 좋을 것 같다고 생각함.

      • init 예시

         replaysSessionSampleRate: 0.1,
          replaysOnErrorSampleRate: 1.0,
        
          maxBreadcrumbs: 50, // 이벤트 당 최대 breadcrumb 개수 제한

0개의 댓글