"데이터 전문가들이 인박스를 좋아하는 이유"라고 적힌 이미지

항상 애플리케이션 제작 마지막 단계에 오류를 파악하고 추적하는데 너무 많은 시간을 소비하고 있으십니까? 그렇다면, 오류가 본격적인 위기로 확대되기 전에, 어떻게 사전에 포착해 수정할 수 있을지 궁금하실 겁니다. 운영 환경에 우수한 코드를 배포할 수 있도록 이미 E2E 테스트, 연속 통합 등 여러 모범 사례를 사용하고 있는 경우에도 애플리케이션이 점점 더 크고 복잡해지면 오류가 발생해 스트레스를 안겨주기 마련입니다.

그렇기 때문에, 지원 요청이 쇄도하기 전에 고객에게 영향을 미치는 주요 오류를 추적할 수 있는 시스템을 마련하는 것이 중요합니다. 이러한 시스템이 없으면, 개발자나 관리자가 일일이 오류를 파악하고 분류해야 해서 추가적인 작업과 비용이 발생합니다. 이러한 프로세스를 간소화하고 개발자의 삶을 보다 쉽게 만들기 위해, 뉴렐릭은 에러 인박스(Errors Inbox)를 제공합니다. 에러 인박스는 모든 오류 알림을 한 곳에서 사전에 수신하고, 오류에 대해 팀 간에 쉽게 커뮤니케이션할 수 있도록 해주는 툴(tool)입니다.

“전체 스택에서 모든 오류를 추적할 수 있는 단일 지점을 제공한다는 점에서 뉴렐릭 에러 인박스는 정말 인상적입니다. 이는 개발자들이 클라우드 기반 툴이나 외부 오류 추적 툴 등, 여러 툴을 오가며 확인하는 시간을 절약하는 데 큰 도움을 줄 것입니다.”

사후 대응에서 선제적 대응으로

대부분의 팀들은 오류율로 오류를 추적하고, 사전 정의된 임계값이 초과될 때만 알림을 받습니다. 심지어 고객이나 엔드유저가 오류를 발견하고 지원 요청을 해서 알게 되는 경우도 있습니다. 고객에게 영향을 미친 후에서야 오류에 대해 알게 되는 일은 비일비재합니다.

개발자들이 심각한 오류에 보다 선제적으로 대처할 수 있도록 해주는 오류 추적 솔루션이 생겨난 것도 이 때문입니다. 오류 추적 솔루션을 사용하면, 유사한 오류를 그룹화하고 어떤 애플리케이션과 서비스가 중요한지 지정할 수 있습니다. 또한 오류 그룹을 쉽게 분류하여 중요한 그룹은 적절한 팀에 할당하고, 덜 중요한 그룹은 후순위로 우선순위를 낮출 수 있습니다.

단일 화면에서 전체 스택의 오류 추적

뉴렐릭은 항상 개발자를 염두에 두고 소프트웨어를 구축하고 있으며, 이는 Futurestack 2021에서 뉴렐릭 에러 인박스(Errors Inbox)를 발표한 이유이기도 합니다. 에러 인박스는 풀스택 옵저버빌리티(Full Stack Observability) 라이선스에 포함된 오류 추적 툴입니다.

에러 인박스는 스택 전체에서 발생하는 오류에 대해 조치를 취할 수 있는 단일 지점을 제공합니다. 이 툴에는 뉴렐릭의 APM, RUM(브라우저), Mobile, Serverless(AWS Lambda 함수) 모니터를 통해 파악된 오류들이 포함됩니다. 이제 단일 화면에서, 근본 원인을 신속하게 파악하는 데 필요한 컨텍스트를 제공하는 풍부한 상관 데이터를 확보하여, 오류를 사전에 감지하고 분류할 수 있습니다.

여러 다른 시간 대의 팀들 간 협업 지원

분산 시스템의 오류 해결은 종종 누가 오류를 수정해야 하는지에 대한 오랜 시간의 조사와 분쟁으로 이어집니다. 그러한 문제를 줄이기 위해, 뉴렐릭 에러 인박스는 관련 오류를 그룹화하고 모든 팀에 동일한 뷰를 제공합니다. 계정, 스택 트레이스 및 속성에 대한 자세한 정보를 통해, 문제가 발생한 위치와 담당 팀을 쉽게 판단할 수 있습니다. 여러 팀들이 공유하는 의견 섹션을 통해, 팀들은 문제 해결에 쉽게 참여할 수 있습니다.

오류 데이터가 유지됩니다. 오류가 해결되더라도, 모든 의견, 링크 및 컨텍스트는 유지됩니다. 후에 해당 건을 다시 열어보고, 이전의 세부 정보와 문제 해결에 참여한 사람을 쉽게 확인할 수 있습니다.

Slack에서 알림 수신

Slack 같은 커뮤니케이션 툴로 공동 작업을 하고 있는 경우, 에러 인박스에는 Slack 통합 기능이 내장되어 있기 때문에, 오류에 대한 세부 정보가 들어오는 즉시 올바른 채널로 전송할 수 있습니다. 설정도 간단합니다.

     1. 에러 인박스의 오른쪽 상단 모서리에 위치한 Inbox Settings 아이콘을 클릭해 워크스페이스와 채널을 선택합니다.

메뉴바의 오른쪽 상단 모서리에 있는 Inbox Settings를 클릭하여 Slack 알림을 설정합니다.

2. 알림을 전송할 Slack WorkspaceChannel을 선택합니다. Test를 클릭해 해당 채널에 샘플 메시지를 보내봅니다. 제대로 작동되는 것이 확인되면 Save를 클릭합니다.

오류 알림을 위한 Slack 워크스페이스 및 채널을 선택합니다.

3.이게 전부입니다. 선택한 Slack Channel로 오류 알림이 전달되는 것을 곧 볼 수 있습니다.

Slack에 에러 인박스에서 전달되는 오류 메시지가 표시됩니다.

운영 환경 배포 전 오류 포착

각 인박스는 뉴렐릭 워크로드에 연결됩니다. 워크로드를 사용하면 특정 애플리케이션 및 서비스를 그룹화하여, 타깃화된 모니터링을 할 수 있습니다. 에러 인박스의 모범 활용 사례는 운영 환경과 운영 이전 환경에 각기 다른 워크로드를 생성하는 것입니다. 이렇게 하면 운영 환경 배포 전에 새로운 오류에 대한 알림을 받고, 개발 프로세스에서 발생하는 문제를 미리 파악할 수 있습니다.

워크로드 설정

워크로드가 설정되어 있지 않은 경우, 다음 단계에 따라 빠르게 생성할 수 있습니다.

  1. New Relic One의 Workload views 탭으로 이동합니다.
  2. 오른쪽 상단 모서리에 위치한 Create a workload를 클릭합니다.
  3. 이름을 입력하고, 검색 창을 사용해 이름, 태그 또는 엔터티 유형(예: Lambda 함수 또는 모바일 앱)별로 애플리케이션과 서비스 검색을 시작합니다.
  4. 추가하려는 모든 엔터티, 태그, 그룹 옆에 있는 + Add 버튼을 클릭합니다. 개별 엔터티가 아니라 태그 또는 그룹을 추가함으로써 얻을 수 있는 이점은 태그 또는 그룹에서 업데이트된 사항이 에러 인박스에 자동으로 반영된다는 것입니다.
  5. 완료 후 오른쪽 하단의 Create a workload를 클릭합니다.

보다 자세한 워크로드 생성 방법은 여기에서 확인하실 수 있습니다.

에러스 인박스의 즉각적인 사용

워크로드가 설정되면, 에러 인박스를 쉽게 설정할 수 있습니다.

1. Errors Inbox 탭으로 이동합니다. 왼쪽 상단 드롭다운 메뉴에서 Workload를 선택합니다.

메뉴바 드롭다운에 표시되는 New Relic One 워크로드의 예

     2. 모든 줄은 오류 그룹을 의미합니다. 오른쪽에서 사용자를 선택해 오류 그룹을 할당할 수 있습니다.

에러 인박스의 모든 라인은 오류 그룹입니다.

     3. 오류 그룹을 클릭하면 계정, 스택 트레이스, 속성 등 자세한 정보를 볼 수 있습니다. 데이터 유형에 따라 제공되는 세부 정보가 다를 수 있습니다.

예외, 스택 트레이스 및 속성을 포함한 오류 그룹 세부 정보

4. Comments 탭에서 의견을 추가하고 오류에 대해 다른 사용자가 남긴 내용을 볼 수 있습니다.

오류 수정과 관련된 의견이 포함된 에러 인박스의 특정 오류

다 되었습니다! 몇 분의 설정만으로 스택 전체의 오류를 한 곳에서 추적할 수 있기 때문에, 문제가 고객에게 영향을 미치기 전에 쉽게 분류하고 수정할 수 있습니다.