무엇입니까 AWS X-Ray? - AWS X-Ray

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

무엇입니까 AWS X-Ray?

AWS X-Ray 다음을 포함하여 인스트루먼트된 애플리케이션이 보내는 모든 수신 응답 및 호출에 대한 추적 정보를 제공합니다.

  • 다운스트림 리소스 AWS

  • 마이크로서비스

  • 데이터베이스 수

  • 웹 API

추적 데이터 및 시각화를 사용하여 애플리케이션 성능에 대한 통찰력을 얻고, 문제를 식별하고, 최적화 기회를 찾을 수 있습니다. X-Ray의 분석 도구를 사용하여 애플리케이션에 대한 추적된 요청의 세부 정보를 보고, 필터링하고, 조사할 수 있습니다.

X-Ray의 작동 방식

X-Ray를 사용하려면 먼저 애플리케이션을 계측하여 X-Ray가 애플리케이션이 요청을 처리하는 방식을 추적할 수 있도록 해야 합니다. 애플리케이션에 계측을 추가하면 X-Ray가 애플리케이션 내의 수신 및 아웃바운드 요청과 기타 이벤트에 대한 추적 데이터와 메타데이터를 전송할 수 있습니다. 예를 들어 Java 애플리케이션이 보내는 모든 수신 HTTP 요청과 다운스트림 호출을 AWS 서비스 계측할 수 있습니다. 애플리케이션을 자동으로 계측할 수도 있습니다. 자세한 내용은 애플리케이션 계측을 참조하십시오.

X-Ray는 계측 애플리케이션이 수신하는 모든 요청에 추적 ID를 할당합니다. 응용 프로그램이 다른 구성 요소와 상호 작용하는 경우 X-Ray는 세그먼트를 만듭니다. 이 세그먼트는 원래 추적 ID와 연결되며 해당 구성 요소와의 상호 작용 품질을 추적합니다.

X-Ray는 전체 애플리케이션 워크플로우에서 추적 ID 및 세그먼트를 추적합니다. 전체 워크플로를 분석하거나 세부 분석을 위해 일부를 분리할 수 있습니다. 세그먼트에 대한 자세한 내용은 다음 개념 섹션을 참조하십시오.

X-Ray는 서비스 노드 또는 구성 요소와 상호 작용하는 애플리케이션을 추적하여 다음과 같이 들어오는 요청을 처리합니다.

  1. X-Ray는 트레이스 ID와 세그먼트를 사용하여 개별 상호 작용을 추적합니다.

  2. AWS 에이전트는 추적 ID 및 관련 세그먼트를 수집한 다음 이를 SDK 또는 API 추적 프레임워크로 전달합니다.

  3. 또한 X-Ray는 X-Ray와 통합되는 모든 AWS 서비스와의 상호 작용을 추적합니다.

  4. 에이전트는 콘솔 GUI로 데이터를 전송합니다. 콘솔 GUI에서 트레이스, 세그먼트 및 하위 세그먼트에 대한 정보와 이러한 구성 요소가 상호 작용하는 방식을 볼 수 있습니다.

이전 단계는 다음 다이어그램에 나와 있습니다.

X-Ray는 애플리케이션 요청에 대한 자세한 정보를 표시합니다.

X-Ray가 계측 애플리케이션과 상호 작용하는 방식

계측 애플리케이션이 요청을 받으면 X-Ray는 다음을 수행합니다.

  1. 애플리케이션이 요청을 처리한 후, X-Ray SDK는 추적 데이터를 AWS 수집기 또는 에이전트에 보냅니다. 그런 다음 에이전트는 추적 ID와 세그먼트를 수집합니다. 다음 세 에이전트 중에서 선택할 수 있습니다.

    • AWS 배포판 (Distro for) OpenTelemetry (ADOT) Collector — 표준화된 오픈 소스 에이전트를 기반으로 최적화되고 보호되는 AWS오픈 소스 컬렉터입니다. OpenTelemetry 언어와 벤더에 구애받지 않는 표준화된 코드를 사용하여 에이전트와 상호 작용하면서도 최종 제품에 내장된 보안 및 최적화에 대한 확신을 갖고 ADOT Collector 싶다면 를 사용하십시오. AWS 를 사용하여 다양한 에이전트와 백엔드에 ADOT 대한 엔드포인트를 구성할 수도 있습니다.

    • Amazon CloudWatch agent — 로그, 지표 및 추적을 통합하고 모든 원격 측정 데이터를 지원하며 여기에 ADOT Collector 통합된 오픈 소스 수집기입니다.

    • X-Ray 데몬 — X-Ray SDK 및 X-Ray API와 함께 작동하는 컬렉터입니다. 레거시 코드가 있거나 사용자 지정 추적이 필요하여 X-Ray API를 사용해야 하는 응용 프로그램이 있는 경우 X-Ray 데몬을 사용하십시오. 데몬은 Linux Microsoft WindowsmacOS, 및 플랫폼에서 사용할 수 있으며 모든 플랫폼에 포함됩니다. AWS Elastic Beanstalk AWS Lambda

  2. 그런 다음 에이전트는 이 데이터를 AWS API 또는 API를 기반으로 구축된 AWS SDK로 구성된 추적 프레임워크로 보냅니다. 이 프레임워크는 다른 서비스와 상호 작용합니다. AWS X-Ray API는 AWS SDK를 통해 또는 직접 모든 X-Ray 기능에 액세스할 수 있도록 합니다. AWS Command Line InterfaceHTTPS 언어를 사용하거나 SDK에서 지원하지 않는 작업이 필요한 경우 X-Ray API를 사용하세요.

    다음 SDK를 사용할 수 있습니다.

    • ADOTSDK — ADOT SDK를 사용하여 제휴하지 않은 공급업체의 다른 에이전트와 상호작용하세요. AWS또한 ADOT SDK는 여러 백엔드 서비스를 지원합니다.

    • X-Ray SDK — 더 이상 기능이나 언어를 추가하지 않는 클래식 제품입니다. 애플리케이션 코드를 업데이트하지 않으려면 X-Ray SDK를 사용하십시오.

    X-Ray 또는 ADOT SDK를 사용하는 경우 에이전트와 함께 사용할 수 있는 옵션은 다음과 같습니다.

    • CloudWatch 에이전트와 함께 X-Ray 또는 ADOT SDK를 사용하는 것이 좋습니다.

    • 보안 및 최적화 AWS 계층을 갖춘 벤더에 구애받지 않는 소프트웨어를 사용하려면 ADOT SDK를 ADOT Collector —와 함께 사용하는 것이 좋습니다.

    • 에이전트와 함께 X-Ray SDK 사용 — CloudWatch CloudWatch 에이전트는 X-Ray SDK와 호환됩니다.

    • X-Ray SDK를 X-Ray 데몬과 함께 사용 — X-Ray SDK를 계속 사용하려면 이 옵션을 사용하십시오.

  3. (선택 사항) 추적 프레임워크는 다른 AWS 서비스, HTTP 서버, 기타 메서드 및 쿼리와 상호 작용할 수 있습니다. X-Ray와 통합되는 일부 AWS 서비스로는 Amazon EC2 Amazon SNS 및 API Gateway가 있습니다. SDK 또는 API는 이러한 상호 작용 중에 추적 데이터를 추적합니다.

    AWS X-Ray와 통합되는 서비스는 들어오는 요청에 추적 헤더를 추가하거나, 추적 데이터를 X-Ray로 보내거나, 에이전트를 실행하여 추적 데이터를 수집할 수 있습니다. 예를 들어, 요청에 대한 추적 데이터를 Lambda 함수로 전송할 AWS Lambda 수 있습니다.

    X-Ray와 호환되는 다른 서비스에 대한 자세한 내용은 을 참조하십시오다른 AWS X-Ray 사람과 통합 AWS 서비스.

  4. 콘솔에서 그래픽 사용자 인터페이스 (GUI) 에서 트레이스, 세그먼트 및 서브세그먼트에 대한 데이터를 볼 수 있습니다. 다음 옵션을 사용할 수 있습니다.

X-Ray는 애플리케이션이 상호 작용하는 AWS 리소스의 추적 데이터를 사용하여 상세한 추적 맵을 생성합니다. 추적 맵은 프런트 엔드 서비스가 단일 요청으로 호출하는 클라이언트, 프런트 엔드 서비스 및 백엔드 서비스를 보여줍니다. 추적 맵을 사용하여 ID 병목 현상, 지연 시간 급증 및 기타 문제를 해결하여 애플리케이션의 성능을 해결하거나 개선할 수 있습니다.

또한 X-Ray는 애플리케이션이 서비스 노드와 상호 작용하는 방식을 전체적으로 볼 수 있는 서비스 맵을 생성합니다. 서비스 맵의 에지는 서비스 노드를 연결합니다. 노드가 서로 통신하는 빈도와 해당 통신의 대기 시간을 보여줍니다.

다음 이미지는 애플리케이션이 다양한 구성 요소와 상호 작용하는 방식을 보여주는 서비스 맵의 예를 보여줍니다. 콘솔에서 서비스 맵을 볼 수 있습니다. 이 이미지는 클라이언트로부터 요청을 받는 애플리케이션을 보여줍니다. 그런 다음 이 이미지는 애플리케이션이 두 DynamoDB 테이블 및 Amazon SNS와 상호 작용하는 방식을 보여줍니다.

추적 맵은 프런트 엔드 서비스가 요청을 처리하고 데이터를 유지하기 위해 호출하는 클라이언트, 프런트 엔드 서비스 및 백엔드 서비스를 보여줍니다.

다음 이미지는 추적의 단일 세그먼트에 대해 콘솔에서 사용할 수 있는 데이터의 예입니다. 이 이미지는 여러 세그먼트를 나열한 타임라인과 각 세그먼트를 다른 세그먼트와 비교하여 실행한 시작 시간 및 기간을 보여줍니다. 이 이미지는 세그먼트 상태와 HTTP 응답 코드도 보여줍니다.

X-Ray는 상태, 기간 및 HTTP 응답 코드를 포함하여 애플리케이션 요청에 대한 자세한 정보를 표시합니다.

개념

AWS X-Ray 서비스에서 데이터를 세그먼트로 수신합니다. X-Ray는 공통 요청이 있는 세그먼트를 트레이스로 그룹화합니다. X-Ray는 트레이스를 처리하여 애플리케이션을 시각적으로 표현하는 서비스 그래프를 생성합니다.

세그먼트

애플리케이션 로직을 실행하는 컴퓨팅 리소스는 작업에 대한 데이터를 세그먼트의 형식으로 전송합니다. 세그먼트는 리소스의 이름, 요청의 세부 정보, 완료된 작업의 세부 정보를 제공합니다. 예를 들어 HTTP 요청이 애플리케이션에 도달하면 세그먼트가 다음 데이터를 기록할 수 있습니다.

  • 호스트 — 호스트 이름, 별칭 또는 IP 주소.

  • 요청 — 메서드, 클라이언트 주소, 경로, 사용자 에이전트

  • 응답 — 상태, 내용.

  • 완료된 작업 — 시작 및 종료 시간, 하위 세그먼트.

  • 발생하는 문제 – 예외 스택의 자동 캡처를 포함한 오류, 결함 및 예외

다음 이미지는 세그먼트에 대해 반환된 개요 정보의 예시입니다. 이 이미지는 ID, 시작 및 종료 시간, 오류 또는 장애, HTTP 요청의 요청 및 응답 코드에 대한 정보를 보여줍니다.

X-Ray 트레이스를 위한 세그먼트 데이터

SDK 또는 API로 구성된 추적 프레임워크는 요청 및 응답 헤더, 애플리케이션의 코드, 애플리케이션이 실행되는 AWS 리소스에 대한 메타데이터에서 정보를 수집합니다. 들어오는 요청, 다운스트림 요청 및 AWS 서비스를 계측하도록 애플리케이션 구성 또는 코드를 수정하여 X-Ray에서 수집하는 데이터를 선택합니다.

전달된 요청

로드 밸런서 또는 기타 중개자가 애플리케이션으로 요청을 전달하는 경우, X-Ray는 IP 패킷 내 소스 IP가 아니라 요청의 X-Forwarded-For 헤더로부터 클라이언트 IP를 가져옵니다. 전달된 요청에 대해 기록된 클라어언트 IP는 위조될 수 있으므로 신뢰하면 안 됩니다.

SDK 또는 API와 같은 추적 프레임워크를 사용하여 주석 및 메타데이터를 포함한 추가 정보를 기록할 수 있습니다. 세그먼트 및 하위 세그먼트 구조와 기록된 정보에 대한 자세한 내용은 을 참조하십시오. X-Ray 세그먼트 문서 세그먼트 문서의 크기는 최대 64kB까지 가능합니다.

하위 세그먼트

세그먼트를 하위 세그먼트로 나눌 수 있습니다. 하위 세그먼트는 애플리케이션이 원래 요청을 처리하기 위해 수행하는 다운스트림 호출에 대한 보다 세분화된 타이밍 정보와 세부 정보를 제공합니다. 하위 세그먼트에는 외부 HTTP API 또는 SQL 데이터베이스 호출에 대한 추가 세부 정보가 포함됩니다. AWS 서비스또한 서브세그먼트를 정의하여 애플리케이션의 특정 함수 또는 코드 라인을 계측할 수 있습니다.

서브세그먼트는 세그먼트보다 더 세분화된 정보를 제공합니다.

X-Ray는 Amazon DynamoDB와 같이 자체 세그먼트를 전송하지 않는 서비스의 추적 맵에서 하위 세그먼트를 사용하여 추론된 세그먼트와 다운스트림 노드를 생성합니다. 하위 세그먼트를 사용하면 종속성이 추적을 지원하지 않거나 외부에 있더라도 모든 다운스트림 종속성을 확인할 수 있습니다. AWS

하위 세그먼트는 다운스트림 호출의 애플리케이션 보기를 클라이언트로 표현합니다. 다운스트림 서비스도 인스트루먼트된 경우 해당 세그먼트는 업스트림 클라이언트의 하위 세그먼트에서 추론된 세그먼트를 대체합니다. 서비스 그래프의 노드는 가능한 경우 서비스 세그먼트의 정보를 사용합니다. 두 노드 사이의 에지는 업스트림 서비스의 하위 세그먼트를 사용합니다.

예를 들어 AWS 계측 SDK 클라이언트를 사용하여 DynamoDB를 호출하면 X-Ray SDK는 해당 호출에 대한 하위 세그먼트를 기록합니다. DynamoDB는 세그먼트를 전송하지 않으므로 하위 세그먼트에는 다음에 대한 정보가 포함됩니다.

  • 트레이스의 추론된 세그먼트.

  • 서비스 그래프의 DynamoDB; 노드.

  • 서비스와 DynamoDB 사이의 엣지.

다음 다이어그램은 샘플 애플리케이션의 서비스 맵을 보여줍니다. 이미지에서 클라이언트는 샘플 Scorekeep 애플리케이션을 요청합니다. 스코어킵 애플리케이션은 DynamoDB를 두 번 호출합니다. 서비스 맵의 엣지는 이러한 각 호출을 나타냅니다. Edge를 선택하면 DynamoDB 테이블에 대한 호출 상태, 횟수, 빈도를 확인할 수 있습니다. 다음 이미지는 응답 시간을 기준으로 필터링된 엣지에 해당하는 트레이스를 보여줍니다.

엣지는 계측 애플리케이션과 DynamoDB 테이블을 연결합니다.

계측 애플리케이션으로 다른 계측 서비스를 호출하면 다운스트림 서비스가 자체 세그먼트를 전송합니다. 이 세그먼트는 업스트림 서비스가 하위 세그먼트에 기록한 것과 동일한 통화의 뷰를 기록합니다. 서비스 그래프에서 두 서비스의 노드 모두 해당 세그먼트의 타이밍 및 오류 정보를 포함합니다. 이들 사이의 경계에는 업스트림 서비스 하위 세그먼트의 정보가 포함됩니다. 다운스트림 서비스는 요청 작업을 시작하고 종료한 시간을 기록합니다. 업스트림 서비스는 요청이 두 서비스 사이를 이동하는 데 소요된 시간을 포함하여 왕복 지연 시간을 기록합니다.

다음 이미지는 업스트림 Lambda 함수에 해당하는 엣지에서 응답 시간을 기준으로 필터링된 추적 정보를 보여줍니다.

다른 계측 애플리케이션을 호출하는 계측 애플리케이션의 요청에 대한 시간 경과에 따른 값으로 표시된 응답 시간.

서비스 그래프

X-Ray는 애플리케이션이 전송하는 데이터를 사용하여 서비스 그래프를 생성합니다. X-Ray로 데이터를 보내는 각 AWS 리소스는 그래프에서 서비스 노드로 나타납니다. 에지는 함께 작동하는 서비스를 연결하여 요청을 처리하고, 클라이언트를 애플리케이션에 연결하고, 애플리케이션을 애플리케이션이 사용하는 다운스트림 서비스 및 리소스에 연결합니다.

서비스 이름

세그먼트의 name은 해당 세그먼트를 생성한 서비스의 도메인 이름 또는 논리적 이름과 일치해야 합니다. 하지만 이것이 적용되지는 않습니다. PutTraceSegments 허가를 받은 애플리케이션은 어떠한 이름을 사용하여도 세그먼트를 전송할 수 있습니다.

서비스 그래프는 애플리케이션을 구성하는 서비스 및 리소스에 대한 정보를 담고 있는 JSON 문서입니다. X-Ray 콘솔은 서비스 그래프를 사용하여 시각화 또는 서비스 맵을 생성합니다.

다음 이미지는 서비스 맵을 보여줍니다. 서비스 맵은 애플리케이션에 대한 클라이언트의 요청과 애플리케이션이 요청을 처리하기 위해 상호 작용하는 서비스 간의 관계를 표시합니다. 다음 이미지에서 샘플 Scorekeep 애플리케이션은 두 개의 DynamoDB 테이블 및 Amazon SNS와 상호 작용합니다.

트레이스 맵

분산 애플리케이션에서 X-Ray는 동일한 추적 ID로 요청을 처리하는 모든 서비스의 노드를 단일 서비스 그래프로 결합합니다. 요청이 상호 작용하는 첫 번째 서비스는 프런트 엔드와 해당 서비스가 호출하는 서비스 간에 전파되는 추적 헤더를 추가합니다.

예를 들어 Scorekeep은 AWS Lambda 함수를 호출하여 임의의 이름을 생성하는 웹 API를 실행합니다. 그런 다음, X-Ray SDK는 추적 ID를 생성하고 Lambda 함수에 대한 호출을 추적합니다. AWS Lambda 추적 데이터와 추적 ID를 Lambda 함수에 전달합니다. 또한 X-Ray SDK는 동일한 추적 ID를 사용하여 에이전트나 수집기에 데이터를 전송합니다. 따라서 API, AWS Lambda 서비스 및 Lambda 함수의 노드는 모두 별개이지만 연결된 노드로 추적 맵에 나타납니다.

서비스 그래프 데이터는 30일 동안 보관됩니다.

트레이스

트레이스는 단일 요청에 의해 생성된 모든 세그먼트를 수집합니다. 트레이스는 트레이스 ID를 사용하여 애플리케이션을 통한 요청 경로를 추적합니다. 이 요청은 일반적으로 로드 밸런서를 통과하여 애플리케이션 코드와 상호 작용하고 다른 AWS 서비스 또는 외부 웹 API에 대한 다운스트림 호출을 생성하는 HTTP GET 또는 POST 요청입니다. HTTP 요청과 상호 작용하는 첫 번째 지원 서비스는 요청에 추적 ID 헤더를 추가합니다. 그러면 서비스가 추적 ID를 다운스트림으로 전파하여 지연 시간, 처리 및 기타 요청 데이터를 추적합니다.

다음 이미지는 요청을 처리하는 애플리케이션의 예를 보여줍니다. HTTP 추적 요약에는 HTTP 응답 코드, 요청 처리 시간, 애플리케이션이 요청을 처리한 시간이 포함됩니다. 다음 이미지는 각 추적 세그먼트의 타임라인도 보여줍니다. 타임라인에는 상태, HTTP 응답 코드, 세그먼트를 완료하는 데 걸린 시간이 표시됩니다. 차트는 트레이스에 있는 각 세그먼트의 지속 시간, 시작 및 종료 시간을 다른 세그먼트와 비교하여 보여줍니다.

단일 요청에 의해 생성되는 모든 세그먼트를 수집하는 트레이스의 타임라인 보기

X-Ray Bills Trace 징수 방식에 대한 자세한 내용은 AWS X-Ray 가격 책정에서 X-Ray Trace의 청구 방식에 대한 정보를 참조하십시오. 트레이스 데이터는 30일 동안 보관됩니다.

샘플링

X-Ray SDK는 샘플링 알고리즘을 적용하여 효율적인 추적을 보장하고 애플리케이션이 처리하는 요청의 대표적인 샘플을 제공합니다. 이 알고리즘은 추적되는 요청을 결정합니다. 기본적으로 X-Ray SDK는 1초가 시작될 때 수신된 첫 번째 요청과 모든 추가 요청의 5% 를 기록합니다.

시작할 때 서비스 요금이 발생하지 않도록 하려는 경우 기본 샘플링 비율은 보수적입니다. 기본 샘플링 비율을 변경하도록 X-Ray를 구성하고 서비스 또는 요청의 속성에 따라 샘플링을 적용하는 추가 규칙을 구성할 수 있습니다.

예를 들어, 샘플링을 비활성화하고 상태를 수정하거나 사용자 또는 트랜잭션을 처리하는 호출에 대한 모든 요청을 트레이스하고자 할 수 있습니다. 백그라운드 폴링, 상태 확인 또는 연결 유지 관리와 같은 대용량 읽기 전용 통화의 경우.

자세한 내용은 샘플링 규칙을 구성합니다. 및 API를 참조하십시오. CreateSamplingRule

추적 헤더

모든 요청은 구성할 수 있는 최소 수까지 추적됩니다. 이 최소값에 도달하면 X-Ray는 요청의 일부만 추적하므로 추가 비용이 발생하지 않습니다. X-Ray는 로 시작하는 추적 헤더의 HTTP 요청에 샘플링 결정 및 추적 ID를 추가합니다. X-Amzn-Trace-Id 요청이 X-Ray와 통합된 첫 번째 AWS 서비스와 상호 작용할 때 X-Ray는 이러한 헤더를 추가합니다. X-Ray SDK는 이러한 헤더를 읽고 응답에 포함합니다.

예 루트 트레이스 ID 및 샘플링 결정이 포함된 트레이스 헤더
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793;Sampled=1
트레이스 헤더 보안

추적 헤더는 X-Ray SDK AWS 서비스, 또는 클라이언트 요청에서 생성될 수 있습니다. 애플리케이션은 수신 요청에서 X-Amzn-Trace-Id를 제거하여 사용자가 트레이스 ID 또는 샘플링 결정을 요청에 추가하여 발생하는 문제를 방지할 수 있습니다.

또한 요청이 구성된 애플리케이션에서 생성된 경우 트레이스 헤더에 상위 세그먼트 ID가 포함될 수 있습니다. 예를 들어 애플리케이션이 구성된 HTTP 클라이언트를 사용하여 다운스트림 HTTP 웹 API를 호출하는 경우 X-Ray SDK가 원래 요청에 대한 세그먼트 ID를 다운스트림 요청의 트레이스 헤더에 추가합니다. 다운스트림 요청을 처리하는 계측 애플리케이션은 상위 세그먼트 ID를 사용하여 두 요청을 연결합니다.

예 트레이스 ID, 상위 세그먼트 ID 및 샘플링 결정이 포함된 트레이스 헤더
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=1

Lambda 또는 AWS 서비스 다른 업체는 처리 메커니즘의 일부로 Lineage 시작하는 헤더의 일부를 추가할 수 있습니다. 추적 헤더의 추가된 부분을 직접 사용해서는 안 됩니다.

예 리니지를 이용한 헤더 추적
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793;Sampled=1;Lineage=a87bd80c:1|68fd508a:5|c512fbe3:2

필터 표현식

소량의 데이터를 샘플링하더라도 복잡한 응용 프로그램에서는 많은 추적 데이터가 생성될 수 있습니다. 필터 표현식을 사용하면 개별 요청, 특정 경로 또는 사용자에 대한 트레이스를 비롯한 특정 트레이스를 찾을 수 있습니다.

다음 이미지는 정의한 그룹을 기준으로 필터링하는 데 사용할 수 있는 X-Ray 콘솔의 텍스트 상자를 보여줍니다. 그룹에 대한 자세한 내용은 다음 섹션 그룹을 참조하십시오.

추적을 선택하면 개별 요청에 대한 세부 정보를 볼 수 있습니다.

그룹

필터 표현식 내의 그룹을 사용하여 추적 데이터의 양을 줄이고 그룹 기준에 맞는 데이터에 집중할 수 있습니다.

그룹을 사용하여 해당 그룹과 관련된 서비스 그래프, 추적 요약 및 CloudWatch 메트릭을 생성할 수 있습니다. 이름 또는 Amazon 리소스 이름 (ARN) 으로 호출할 수 있습니다. X-Ray는 들어오는 트레이스가 X-Ray 서비스에 저장될 때 그룹 필터 표현식과 비교하여 확인합니다. CloudWatch그룹 기준과 일치하는 트레이스에 대한 메트릭을 1분마다 게시합니다.

그룹의 필터 표현식을 업데이트해도 이미 기록한 데이터는 변경되지 않습니다. 업데이트는 후속 추적에만 적용됩니다. 이렇게 하면 새 표현식과 이전 표현식의 그래프를 병합할 수 있습니다. 연결되지 않은 그룹이 단일 그래프 내에 병합되지 않도록 하려면 현재 그룹을 삭제하고 https://docs.aws.amazon.com/xray/latest/api/API_CreateGroup.html 새 그룹을 만드십시오.

참고

그룹 요금은 검색된 트레이스 중 필터 표현식과 일치하는 트레이스 수를 기준으로 청구됩니다. 자세한 내용은 AWS X-Ray 요금을 참조하십시오.

그룹에 대한 자세한 정보는 그룹 구성 섹션을 참조하세요.

주석 및 메타데이터

애플리케이션을 계측할 때, X-Ray SDK는 수신 및 발신 요청에 대한 정보를 기록합니다. SDK는 사용된 AWS 리소스 및 애플리케이션 자체에 대한 정보도 기록합니다. 세그먼트 문서에 주석 및 메타데이터로 다른 정보를 추가할 수 있습니다. 주석과 메타데이터는 추적 수준에서 결합됩니다. 모든 세그먼트나 하위 세그먼트에 추가할 수 있습니다.

주석은 필터 표현식에 사용하기 위해 인덱싱되는 키-값 쌍입니다. 주석은 콘솔의 트레이스를 그룹화할 때 사용할 데이터를 기록하거나 GetTraceSummaries API를 호출할 때 사용하십시오.

X-Ray가 트레이스당 최대 50개의 주석까지 인덱싱합니다.

메타데이터는 객체와 목록을 포함하여 인덱싱되지 않은 모든 유형의 값을 포함하는 키-값 쌍입니다. 메타데이터를 사용하여 트레이스에 저장하고 싶지만 트레이스 검색에는 사용하지 않을 데이터를 기록합니다.

콘솔의 트레이스 세부 정보 페이지에 있는 세그먼트 또는 하위 세그먼트 세부 정보 창에서 주석과 메타데이터를 볼 수 있습니다. CloudWatch 자세한 내용은 에서 추적 및 추적 세부 정보 보기를 참조하십시오. X-Ray 콘솔 살펴보기

오류, 결함 및 예외

X-Ray는 애플리케이션 코드의 오류와 다운스트림 서비스에서 반환된 오류를 추적합니다. X-Ray는 요청에서 다음과 같은 HTTP 응답 코드를 추적합니다.

  • Error— 클라이언트 오류 (400 시리즈 오류) 는 요청 자체에 오류가 있어 서버가 클라이언트의 요청을 이해하거나 처리할 수 없음을 나타냅니다. 이러한 오류는 구문 오류, 정보 누락 또는 잘못된 요청 본문 때문에 발생할 수 있습니다.

  • Fault— 서버 장애 (500 시리즈 오류) 는 서버 자체에 문제가 있어 서버가 유효한 요청을 처리할 수 없었음을 나타냅니다. 이러한 오류는 소프트웨어 또는 하드웨어 장애 또는 서버의 리소스 제한과 같은 문제로 인해 발생할 수 있습니다.

  • Throttle— 제한 오류 (429 Too Many Requests) 는 클라이언트가 일정 기간 동안 서버 또는 API에 너무 많은 요청을 보낼 때 발생하는 특정 유형의 클라이언트 오류입니다.

애플리케이션이 계측된 요청을 처리하는 동안 예외가 발생하는 경우, X-Ray SDK는 스택 추적 ID (사용 가능한 경우) 를 포함하여 예외에 대한 세부 정보를 기록합니다. X-Ray 콘솔의 세그먼트 세부 정보에서 예외를 볼 수 있습니다.