Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: logback과 sentry를 활용한 에러 모니터링 툴 구축 #482

Merged
merged 10 commits into from
Nov 14, 2024

Conversation

hoonyworld
Copy link
Member

@hoonyworld hoonyworld commented Nov 13, 2024

👩‍💻 Contents

image image

https://docs.sentry.io/platforms/java/guides/logback/configuration/

Sentry 연결

  • 위 공식문서를 활용해 logback과 sentry를 활용한 에러 모니터링 툴을 구축하였습니다.
  • warn~error 레벨까지 에러를 catch 하려 했지만, 무료 계정 Event 개수 제한(max 5000개)으로 ERROR 레벨까지만 측정할 수 있도록 구현했습니다.
  • 따라서 GlobalExceptionHandler에 의해 관리되는 checked-exception은 로그가 warn 레벨이기에 sentry로 보내지지 않으며, unchecked-exception(500 ERROR)만 sentry에 보내지게 됩니다.
  • sentry.properties를 활용해서 구축하려고 했지만, dev와 prod를 구분해서 구축하는 방법이 나와있지 않았습니다.
  • 그래서 코드에서 직접 dsn, envrionment, servername을 주입해주는 방식으로 구축했습니다.

에러 감지 시 Slack으로

  • Slack과 Sentry를 직접적으로 연결을 할 수 있긴하나 유료 플랜을 구매해야 했습니다.
  • 그래서 Slack Webhook을 이용해 500에러 발생 시 해당 로그를 비동기 appender로 Slack에 전달하도록 하는 방향으로 구현했습니다.
  • WebHook을 통한 메시지에는 센트리 URI로 이동하는 링크가 첨부하여 에러 감지시 신속하게 대응이 가능하도록 하였습니다.

📝 Review Note

  • 수정 된 sercret properties 내용 노션에 반영했습니다!

📣 Related Issue

✅ 점검사항

  • docker-compose.yml 파일에 마이그레이션 한 API의 포워딩을 변경해줬나요?
  • Spring Secret 값을 수정하거나 추가했다면 Github Secret에서 수정을 해줬나요?
  • Nestjs Secret 값을 수정하거나 추가했다면 Docker-Compose.yml 파일 및 인스턴스 내부의 .env 파일을 수정했나요?

@hoonyworld hoonyworld added the 🎁 feature 새로운 기능 label Nov 13, 2024
@hoonyworld hoonyworld requested a review from mikekks November 13, 2024 11:27
@hoonyworld hoonyworld self-assigned this Nov 13, 2024
@hoonyworld hoonyworld linked an issue Nov 13, 2024 that may be closed by this pull request
2 tasks
Copy link

height bot commented Nov 13, 2024

Link Height tasks by mentioning a task ID in the pull request title or commit messages, or description and comments with the keyword link (e.g. "Link T-123").

💡Tip: You can also use "Close T-X" to automatically close a task when the pull request is merged.

Copy link

Hi there 👋

Using this App for a private organization repository requires a paid subscription.

You can click Edit your plan on the Pull Request Size GitHub Marketplace listing to upgrade.

If you are a non-profit organization or otherwise can not pay for such a plan, contact me by creating an issue

Copy link
Member

@mikekks mikekks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다 !! 아주 좋은 기능이네요 ㅎㅎ

@mikekks mikekks self-requested a review November 14, 2024 11:45
@hoonyworld hoonyworld merged commit adaa6d8 into develop Nov 14, 2024
1 check passed
@mikekks mikekks deleted the feat/#473 branch November 14, 2024 11:52
@hoonyworld hoonyworld added size/S and removed size/S labels Nov 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎁 feature 새로운 기능
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: Sentry 연결
2 participants