이 튜토리얼의 1부에서는 추가 조사를 위해 오류 그룹을 선택했습니다. 2부에서는 오류에 대한 속성, 로그 및 추적을 표시하는 새 페이지를 조사하겠습니다.
튜토리얼의 이 부분에서는 오류 분석을 위한 두 가지 권장 방법인 로그 및 스택 추적을 안내합니다.
목표
이 문서는 이 자습서 시리즈의 서비스 중단에 대한 대응 문서에서 범위가 지정된 문제를 기반으로 합니다. 이 문서에서는 다음을 수행합니다.
- 실패한 API와 관련된 오류 코드를 로그와 함께 찾습니다.
- 스택 추적을 사용하여 코드에서 오류가 발생한 위치 찾기
로그 및 스택 추적으로 오류의 원인 찾기
오류 요약은 오류 그룹 뒤에 숨겨진 이야기를 알려줍니다. New Relic을 구성한 방법에 따라 각 서비스는 오류에 대해 다양한 종류의 정보를 표시할 수 있습니다. 예를 들어 분산 추적을 비활성화한 경우 추적에서 외부 서비스에 대한 자세한 내용을 볼 수 없습니다.
시스템의 장애 지점 찾기
로그의 특성에 따라 정렬할 로깅 세부 정보가 많거나 적을 수 있습니다. 장애에 가장 가까운 서비스의 범위를 좁히고 오류 가능성이 있는 그룹을 선택하는 데 미리 시간을 들였기 때문에 로그를 읽을 시간이 있습니다.
귀하의 로그에 따르면 귀하의 문제는 다음과 같습니다.
시간 초과 오류:
error.error.code: ETIMEDOUT
고객 API 관련:
error.endpoint: customers-api-internal
고객 API로 전송되는 요청 종류에 구애받지 않음:
error.request: /api/customers/search/Kirlin/-/
함께 묶기에 충분한 맥락이 있습니다. 종속성 오류가 있다고 결론을 내립니다. 고객 API에 대한 모든 호출이 시간 초과되어
api-gateway
의 업스트림 요청이 실패합니다.
New Relic에서 IDE에서 열기
New Relic에서 코드를 열려면 CodeStream 을 설치 해야 합니다. 이는 선택 사항이지만 스택 추적에서 직접 IDE를 열 수 있는 매우 권장되는 기능입니다.
다음은 뭐지?
오류에 대응하고 중단의 직접적인 원인을 찾는 것은 앱 오류 처리의 일부일 뿐입니다. 중단의 원인을 설명, 진단 및 찾는 방법을 살펴보았으므로 오류를 관련 팀으로 라우팅할 수 있습니다.