X-Ray를 사용한 CloudWatch 합성 카나리아 디버깅 - AWS X-Ray

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

X-Ray를 사용한 CloudWatch 합성 카나리아 디버깅

CloudWatch Synthetics는 엔드포인트를 모니터링하고 하루 24시간, 분당 한 번 실행되는 스크립팅된 카나리아를 사용하여 엔드포인트를 APIs 모니터링할 수 있는 완전 관리형 서비스입니다.

카나리아 스크립트를 사용자 지정하여 다음 항목의 변경 사항을 확인할 수 있습니다.

  • 가용성

  • 지연 시간

  • 트랜잭션

  • 손상되거나 연결이 끊어진 링크

  • tep-by-step S 태스크 완료

  • 페이지 로드 오류

  • UI 자산의 로드 지연 시간

  • 복잡한 마법사 흐름

  • 애플리케이션의 체크아웃 흐름

카나리아는 동일한 경로를 따르고, 고객과 동일한 작업과 동작을 수행하고, 고객 경험을 지속적으로 확인합니다.

Synthetics 테스트 설정에 대한 자세한 내용은 Synthetics를 사용하여 카나리아 생성 및 관리를 참조하십시오.

X-Ray 추적 맵의 카나리아 노드 예제

다음 예제는 Synthetics 카나리아가 제기하는 문제를 디버깅하기 위한 일반적인 사용 사례를 보여줍니다. 각 예제는 트레이스 맵 또는 X-Ray Analytics 콘솔을 사용하여 디버깅하기 위한 주요 전략을 보여줍니다.

추적 맵을 읽고 상호 작용하는 방법에 대한 자세한 내용은 서비스 맵 보기를 참조하십시오.

X-Ray Analytics 콘솔을 읽고 사용하는 방법에 대한 자세한 내용은 분석 콘솔과의 상호 작용을 참조하십시오. AWS X-Ray

추적 맵에서 오류 보고가 증가한 카나리아를 확인하세요.

X-Ray Trace Map에서 오류, 장애, 속도 조절 속도 또는 응답 시간이 느린 카나리아를 확인하려면 필터를 사용하여 Synthetics canary 클라이언트 노드를 강조 표시할 수 있습니다. Client::Synthetic 노드를 클릭하면 전체 요청의 응답 시간 분포가 표시됩니다. 두 노드 사이의 엣지를 클릭하면 해당 연결을 통과한 요청에 대한 세부 정보가 표시됩니다. 추적 맵에서 관련 다운스트림 서비스에 대한 “원격” 추론 노드를 볼 수도 있습니다.

Synthetics 노드를 클릭하면 사이드 패널에 Synthetics에서 보기 버튼이 있으며, 이 버튼을 클릭하면 Synthetics 콘솔로 리디렉션되어 canary 세부 정보를 확인할 수 있습니다.

서비스 세부 정보가 포함된 X-ray 추적 맵의 카나리아 노드 예시

개별 트레이스의 트레이스 세부 정보 맵을 사용하여 각 요청을 자세히 볼 수 있습니다.

지연 시간이 가장 길거나 오류를 일으키는 서비스를 확인하려면 추적 맵에서 추적을 선택하여 추적 세부 정보 맵을 호출하십시오. 개별 추적 세부 정보 맵에는 단일 요청의 end-to-end 경로가 표시됩니다. 이 정보를 사용하여 호출된 서비스를 파악하고 업스트림 및 다운스트림 서비스를 시각화할 수 있습니다.

X-ray 트레이스 세부 정보 맵의 카나리아 노드 예시.

업스트림 및 다운스트림 서비스에서 지속적인 실패의 근본 원인 파악

Synthetics canary에서 장애에 대한 CloudWatch 경보를 받으면 X-Ray의 트레이스 데이터에 대한 통계 모델링을 사용하여 X-Ray Analytics 콘솔에서 문제의 가능한 근본 원인을 파악하십시오. Analytics 콘솔의 응답 시간 근본 원인 테이블에는 기록된 개체 경로가 표시됩니다. X-Ray는 트레이스에서 응답 시간 원인으로 가장 가능성이 높은 경로를 결정합니다. 포맷은 발생하는 개체 계층 구조를 나타내며, 응답 시간 근본 원인으로 끝납니다.

다음 예제는 Amazon DynamoDB 테이블의 처리 용량 예외로 인해 API 게이트웨이에서 실행 중인 XXX “" 에 API 대한 Synthetics 테스트가 실패했음을 보여줍니다.

X-Ray 추적 맵의 카나리아 노드 예제
카나리아 노드 근본 원인에 대한 예제
카나리아 노드를 나타내는 예제 주석 필터.

성능 병목 현상 및 추세 파악

Synthetics canaries의 지속적인 트래픽을 통해 일정 기간 동안의 추적 세부 정보 맵을 채워 시간 경과에 따른 엔드포인트 성능 추세를 확인할 수 있습니다.

카나리아 노드를 나타내는 예제 주석 필터.

변경 전후의 지연 시간과 오류율 또는 장애율 비교

변경이 발생한 시간을 Pinpoint로 지정하여 해당 변경 사항과 카나리아에서 발견된 문제의 증가를 연관시키십시오. X-Ray Analytics 콘솔을 사용하여 이전 및 이후 시간 범위를 다른 트레이스 세트로 정의하여 응답 시간 분포에서 시각적으로 구분할 수 있도록 만듭니다.

카나리아 노드를 나타내는 주석 필터 예시

모두에 필요한 카나리아 커버리지를 결정하고 APIs URLs

X-Ray Analytics를 사용하여 카나리아의 경험을 사용자와 비교합니다. 다음 UI는 카나리아에 대한 파란색 추세선과 사용자에 대한 녹색 추세선을 보여줍니다. 세 명 중 두 명이 카나리아 검사를 URLs 받지 않았음을 확인할 수도 있습니다.

카나리아 노드를 나타내는 주석 필터 예시

Synthetics 테스트에 중점을 둔 그룹 사용

필터 표현식을 사용하여 X-Ray 그룹을 만들어 특정 워크플로 집합(예: AWS Elastic Beanstalk에서 실행되는 애플리케이션 'www'에 대한 합성 테스트)에 집중할 수 있습니다. 복잡한 키워드 service()edge()을 사용하여 서비스 및 엣지를 필터링할 수 있습니다.

예 그룹 필터 표현식
"edge(id(name: "www", type: "client::Synthetics"), id(name: "www", type: "AWS::ElasticBeanstalk::Environment"))"
Elastic Beanstalk www에 대한 노드 예제