소개
운영 중인 서비스에서 장애가 발생하면 고객이 불편을 겪게 됩니다. 이로 인해 고객 이탈이 발생할 수 있으며, 이는 매출 감소의 원인이 되어 비즈니스적으로 큰 손실이 발생할 수 있습니다.
따라서, 장애를 탐지하고 발생 시 빠르게 대응하는 것이 중요합니다.
장애의 원인으로는 인프라 문제, 애플리케이션 오류, 네트워크 문제, 데이터베이스 문제 또는 그 외 다른 문제가 있을 수 있습니다. 이러한 다양한 원인을 파악하는 것은 어렵습니다. 특히 프론트엔드에서 발생한 오류를 파악하는 것은 더욱 어렵습니다.
서버 또는 인프라 문제는 로그, 메트릭, 트레이스 등을 통해 모니터링하는 도구가 많이 있습니다. 하지만 프론트엔드에서 발생한 오류까지 트래킹할 수 있는 도구는 많지 않습니다.
Sentry는 웹 앱, 모바일 앱, 백엔드 서비스를 포함하여 애플리케이션에서 발생하는 오류 및 예외를 캡처하고 기록합니다. 또한 애플리케이션 오류를 실시간으로 모니터링하여 문제가 발생하면 Slack, Teams 등 다양한 채널로 알림을 받을 수 있어 빠르게 대응할 수 있습니다.
학습의 결과로 연관된 서비스 도구들을 포함하여 Sentry를 Kubernetes 클러스터에 배포합니다. 이후에 Sentry를 이용하여 애플리케이션의 오류를 추적하고 모니터링 할 수 있습니다.
Sentry란?
Sentry는 실시간으로 애플리케이션 오류를 추적하고, 모니터링하는 도구입니다. Sentry는 애플리케이션에서 발생하는 오류 및 예외에 대한 자세한 인사이트를 제공함으로써 문제를 빠르고 효율적으로 이해, 분류 및 해결합니다. 이로써 애플리케이션의 전반적인 품질과 안정성을 개선할 수 있도록 도와줍니다. 이는 다양한 프로그래밍 언어와 플랫폼을 지원하며 강력한 시각화 도구와 알림 기능을 제공합니다.
Sentry의 주요 기능은 아래와 같으며, 이는 애플리케이션의 페이지로 표시됩니다.
•
알림(Alerts) : 새 알림 규칙을 만들고 기존 알림 규칙을 관리할 수 있는 곳입니다.
•
대시보드(Dashboards) : 여러 프로젝트의 오류 및 성능 데이터를 탐색할 수 있도록 하여 애플리케이션의 상태에 대한 광범위한 개요를 제공합니다. 대시보드는 하나 이상의 위젯으로 구성되며, 각 위젯은 하나 이상의 검색 또는 이슈 쿼리를 시각화합니다.
•
검색(Discover) : 여러 환경의 이벤트를 쿼리하여 오류 및 트랜잭션에 대한 가시성을 제공하고 전체 시스템 상태에 대한 인사이트를 얻을 수 있습니다. 검색 페이지는 쿼리 결과를 시각화합니다.
•
이슈(Issues) - 애플리케이션에서 그룹화된 문제에 대한 정보를 표시합니다. 여기에서 이슈 세부 정보 페이지로 이동하여 모든 이슈를 더 자세히 볼 수 있습니다.
•
성능(Performance) : 트랜잭션 데이터를 검색하거나 찾아볼 수 있는 Sentry의 기본 보기입니다. 이 페이지에는 트랜잭션 또는 추세를 시각화하는 그래프와 관련 트랜잭션을 보고 해당 트랜잭션에 대한 자세한 정보로 드릴다운할 수 있는 테이블이 표시됩니다.
•
프로젝트(Projects) : 팀별로 소속되어 있는 프로젝트를 나열하고 프로젝트에 대한 개략적인 개요를 제공합니다. 여기에서 각 프로젝트의 프로젝트 세부정보 페이지로 이동하여 더 자세히 볼 수 있습니다.
•
릴리즈(Releases) - 각 릴리즈 버전, 관련 프로젝트, 각 릴리즈의 채택 단계, 각 커밋의 작성자, 크래시 없는 사용자 비율, 크래시 없는 세션 비율을 포함한 릴리즈 상태 데이터에 대한 개략적인 보기를 제공합니다. 릴리즈 페이지로 바로 이동하거나 이슈 상세정보 페이지에서 '마지막으로 본 날짜' 아래에 나열된 릴리즈 ID를 선택하여 이동할 수 있습니다.
학습 내용
•
Sentry Helm 차트 리포지터리를 구성하는 방법
•
Sentry Helm 차트의 구성 정보를 배포 환경에 맞게 설정하는 방법
•
Helm 차트로 Sentry를 배포하고 확인하는 방법
아키텍처
사전 준비사항
기본 요건
•
Kubernetes에 대한 기본 개념
•
Helm, kubectl에 대한 기본 개념
필요 항목
•
Sentry를 배포할 Kubernetes 클러스터가 구축되어 있어야 합니다.
•
TLS/SSL 인증서를 사용할 수 있도록 cert-manager가 구축되어 있어야 합니다.
•
Sentry Ingress 리소스를 사용할 수 있도록 NGINX Ingress Controller가 구축되어 있어야 합니다.
DevOps 전문가 실험실 Expert Labs에서 Sentry 사용 방법을 학습하세요!
IDE, Port 기반 실습 환경과 실무 특화 교재, 20년 경력의 전문 엔지니어 강의로
Sentry를 활용한 실시간 애플리케이션 오류 추적, 모니터링 방법을
정확히 익히고, 실습할 수 있습니다.
InfoGrab의 서비스와 기술에 대한 더 많은 정보가 알고 싶으신가요?
인포그랩 유한회사 | COPYRIGHT ⓒ InfoGrab LC. All Right Reserved.
경기도 성남시 분당구 백현로101번길 17, 초림프라자 511~512호(수내동, 초림프라자)