사용 AWS Management Console - AWS X-Ray

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

사용 AWS Management Console

최소한의 코딩이 필요한 그래픽 사용자 인터페이스 (GUI) 를 AWS Management Console 원한다면 를 사용하십시오. X-Ray를 처음 사용하는 사용자는 사전 구축된 시각화를 사용하고 기본 작업을 수행하여 빠르게 시작할 수 있습니다. 콘솔에서 직접 다음 작업을 수행할 수 있습니다.

  • X-Ray 활성화하기

  • 애플리케이션 성능에 대한 개괄적인 요약을 볼 수 있습니다.

  • 애플리케이션 상태를 확인하세요.

  • 높은 수준의 오류를 식별하십시오.

  • 기본 추적 요약을 확인하세요.

https://console.aws.amazon.com/cloudwatch/ 의 Amazon CloudWatch 콘솔 또는 https://console.aws.amazon.com/xray/home 의 X-Ray 콘솔 중 하나를 사용하여 X-Ray와 상호 작용할 수 있습니다.

Amazon CloudWatch 콘솔 사용

CloudWatch 콘솔에는 사용하기 쉽도록 X-Ray 콘솔에서 재설계된 새로운 X-Ray 기능이 포함되어 있습니다. CloudWatch 콘솔을 사용하는 경우 X-Ray Trace 데이터와 함께 CloudWatch 로그 및 메트릭을 볼 수 있습니다. CloudWatch 콘솔을 사용하여 다음을 포함한 데이터를 보고 분석할 수 있습니다.

  • X-Ray trace — 요청을 처리할 때 애플리케이션과 관련된 트레이스를 보고, 분석하고, 필터링합니다. 이러한 추적을 사용하여 높은 지연 시간을 찾고, 오류를 디버깅하고, 애플리케이션 워크플로를 최적화하십시오. 추적 맵과 서비스 맵을 보고 애플리케이션 워크플로를 시각적으로 확인할 수 있습니다.

  • 로그 — 애플리케이션에서 생성되는 로그를 보고, 분석하고, 필터링합니다. 로그를 사용하여 오류를 해결하고 특정 로그 값을 기반으로 모니터링을 설정합니다.

  • 지표 — 리소스가 내보내는 지표를 사용하여 애플리케이션 성능을 측정 및 모니터링하거나 자체 지표를 생성합니다. 이러한 지표를 그래프와 차트로 볼 수 있습니다.

  • 네트워크 및 인프라 모니터링 — 주요 네트워크의 정전 여부와 컨테이너식 애플리케이션, 기타 AWS 서비스, 클라이언트를 포함한 인프라의 상태 및 성능을 모니터링합니다.

  • 다음 X-Ray 콘솔 사용 섹션에 나열된 X-Ray 콘솔의 모든 기능

CloudWatch 콘솔에 대한 자세한 내용은 Amazon 시작하기를 참조하십시오 CloudWatch.

https://console.aws.amazon.com/cloudwatch/ 에서 아마존 CloudWatch 콘솔에 로그인합니다.

X-Ray 콘솔 사용하기

X-Ray 콘솔은 애플리케이션 요청에 대한 분산 추적 기능을 제공합니다. 보다 간단한 콘솔 환경을 원하거나 애플리케이션 코드를 업데이트하고 싶지 않은 경우 X-Ray 콘솔을 사용하십시오. AWS 더 이상 X-Ray 콘솔을 개발하지 않습니다. X-Ray 콘솔에는 계측 애플리케이션을 위한 다음과 같은 기능이 포함되어 있습니다.

  • 인사이트 — 애플리케이션 성능의 이상을 자동으로 감지하고 근본 원인을 찾아냅니다. 인사이트는 CloudWatch 콘솔의 Insights 아래에 포함됩니다. 자세한 내용은 X-Ray Insights 사용을 참조하십시오X-Ray 콘솔 살펴보기.

  • 서비스 맵 — 애플리케이션의 그래픽 구조 및 클라이언트, 리소스, 서비스 및 종속성과의 연결을 그래프로 표시합니다.

  • 트레이스 — 애플리케이션이 요청을 처리할 때 생성되는 트레이스의 개요를 확인하세요. 추적 데이터를 사용하여 HTTP 응답 및 응답 시간을 비롯한 기본 지표에 대한 애플리케이션 성능을 파악할 수 있습니다.

  • 분석 — 응답 시간 분포를 위한 그래프를 사용하여 추적 데이터를 해석, 탐색 및 분석합니다.

  • 구성 — 사용자 지정 트레이스를 생성하여 다음에 대한 기본 구성을 변경합니다.

    • 샘플링 — 애플리케이션에서 추적 정보를 샘플링하는 빈도를 정의하는 규칙을 만드십시오. 자세한 내용은 에서 샘플링 규칙 구성을 참조하십시오X-Ray 콘솔 살펴보기.

    • 암호화 - 감사하거나 사용하지 않도록 설정할 수 있는 키를 사용하여 저장된 데이터를 암호화합니다. AWS Key Management Service

    • 그룹 - 필터 표현식을 사용하여 URL 이름 또는 응답 시간과 같은 공통 기능을 가진 추적 그룹을 정의합니다. 자세한 내용은 그룹 구성을 참조하십시오.

https://console.aws.amazon.com/xray/home 에서 X-Ray 콘솔에 로그인합니다.

X-Ray 콘솔 살펴보기

X-Ray 콘솔을 사용하여 애플리케이션이 제공하는 요청에 대한 서비스 맵 및 관련 트레이스를 보고, 트레이스가 X-Ray로 전송되는 방식에 영향을 미치는 그룹 및 샘플링 규칙을 구성할 수 있습니다.

참고

X-Ray Service CloudWatch ServiceLens 맵과 맵이 Amazon CloudWatch 콘솔 내의 X-Ray 추적 맵에 통합되었습니다. CloudWatch콘솔을 열고 왼쪽 탐색 창의 X-Ray 트레이스에서 Trace Map을 선택합니다.

CloudWatch 이제 애플리케이션 서비스, 클라이언트, Synthetics canary 및 서비스 종속성을 검색하고 모니터링할 수 있는 애플리케이션 시그널이 포함됩니다. Application Signals를 사용하여 서비스의 목록 또는 시각적 맵을 확인하고, 서비스 수준 목표(SLO)를 기준으로 상태 지표를 확인하고, 더 자세한 문제 해결을 위해 상관관계가 있는 X-Ray 트레이스를 드릴다운할 수 있습니다.

기본 X-Ray 콘솔 페이지는 애플리케이션에서 생성된 추적 데이터로부터 X-Ray가 생성하는 JSON 서비스 그래프를 시각적으로 표현한 추적 맵입니다. 맵은 요청을 처리하는 계정 내 각 애플리케이션에 대한 서비스 노드, 요청의 오리진을 나타내는 업스트림 클라이언트 노드, 애플리케이션이 요청을 처리하는 동안 사용하는 웹 서비스 및 리소스를 나타내는 다운스트림 서비스 노드로 구성됩니다. 추가 페이지에서 추적 및 추적 세부 정보를 보고 그룹 및 샘플링 규칙을 구성할 수 있습니다.

다음 섹션에서 X-Ray의 콘솔 환경을 보고 CloudWatch 콘솔과 비교해 보십시오.

X-Ray 및 CloudWatch 콘솔 살펴보기

    X-Ray trace 맵을 보고 오류가 발생한 서비스, 대기 시간이 긴 연결 또는 실패한 요청에 대한 추적을 식별할 수 있습니다.

    참고

    CloudWatch 이제 애플리케이션 서비스, 클라이언트, 합성 카나리아 및 서비스 종속성을 검색하고 모니터링할 수 있는 애플리케이션 시그널이 포함됩니다. Application Signals를 사용하여 서비스의 목록 또는 시각적 맵을 확인하고, 서비스 수준 목표(SLO)를 기준으로 상태 지표를 확인하고, 더 자세한 문제 해결을 위해 상관관계가 있는 X-Ray 트레이스를 드릴다운할 수 있습니다.

    X-Ray 서비스 맵과 CloudWatch ServiceLens 맵은 Amazon CloudWatch 콘솔 내의 X-Ray 추적 맵에 통합됩니다. CloudWatch콘솔을 열고 왼쪽 탐색 창의 X-Ray 트레이스에서 Trace Map을 선택합니다.

    추적 맵 보기

    트레이스 맵은 애플리케이션에서 생성된 트레이스 데이터를 시각적으로 표현한 것입니다. 맵에는 요청을 처리하는 서비스 노드, 요청의 출처를 나타내는 업스트림 클라이언트 노드, 요청을 처리하는 동안 애플리케이션에서 사용하는 웹 서비스 및 리소스를 나타내는 다운스트림 서비스 노드가 표시됩니다.

    추적 맵은 Amazon SQS 및 Lambda를 사용하는 이벤트 기반 애플리케이션 전반의 추적에 대한 연결된 보기를 표시합니다. 자세한 내용은 다음 Trace 이벤트 기반 애플리케이션 섹션을 참조하십시오. 추적 맵은 계정 간 추적도 지원하여 여러 계정의 노드를 단일 맵에 표시합니다.

    CloudWatch console
    콘솔에서 트레이스 맵을 보려면 CloudWatch
    1. CloudWatch 콘솔을 엽니다. 왼쪽 탐색 창의 X-Ray Traces 섹션에서 Trace Map을 선택합니다.

      CloudWatch 콘솔 트레이스 맵 페이지
    2. 노드에 대한 요청을 보려는 서비스 노드 또는 그 사이를 이동하는 요청을 보려는 두 노드 간 에지를 선택합니다.

    3. 지표, 알림, 응답 시간 분포 탭을 비롯한 추가 정보가 트레이스 맵 아래에 표시됩니다. Metrics 탭에서 각 그래프 내의 범위를 선택하여 자세히 살펴보거나 Fault 또는 Error 옵션을 선택하여 트레이스를 필터링할 수 있습니다. 응답 시간 분포 탭에서 그래프 내의 범위를 선택하여 응답 시간별로 추적을 필터링합니다.

    4. 트레이스 보기를 선택하여 트레이스를 보거나, 필터가 적용된 경우 필터링된 트레이스 보기를 선택합니다.

    5. 선택한 노드와 관련된 CloudWatch 로그를 보려면 로그 보기를 선택합니다. 모든 트레이스 맵 노드가 로그 보기를 지원하는 것은 아닙니다. 자세한 내용은 문제 해결 CloudWatch 로그를 참조하십시오.

    추적 맵은 각 노드의 문제를 색상으로 윤곽선으로 표시하여 나타냅니다.

    • 빨간색은 서버 장애를 의미합니다(500 시리즈 오류)

    • 노란색은 클라이언트 오류를 의미합니다(400 시리즈 오류)

    • 보라색은 병목 오류를 의미합니다(429 요청 과다)

    트레이스 맵이 크면 화면 컨트롤이나 마우스를 사용하여 맵을 확대 및 축소하고 이리저리 이동할 수 있습니다.

    X-Ray console
    서비스 맵을 보려면
    1. X-Ray 콘솔을 엽니다. 기본적으로 서비스 맵이 표시됩니다. 왼쪽 탐색 창에서 서비스 맵을 선택할 수도 있습니다.

      X-Ray 콘솔 서비스 맵 페이지
    2. 노드에 대한 요청을 보려는 서비스 노드 또는 그 사이를 이동하는 요청을 보려는 두 노드 간 에지를 선택합니다.

    3. 응답 분포 히스토그램을 사용하여 트레이스를 기간별로 필터링하고 트레이스를 보려는 상태 코드를 선택합니다. 그런 다음 [View traces]를 선택하여 필터 표현식이 적용된 트레이스 목록을 엽니다. 분포 히스토그램에 대한 자세한 내용은 을 참조하십시오. 지연 시간 히스토그램을 사용하세요.

    이 서비스는 오류 및 장애 호출 성공 비율을 토대로 각 노드의 색상을 다르게 표시해 노드의 상태를 보여줍니다:

    • 녹색은 성공적인 호출을 의미합니다

    • 빨간색은 서버 장애를 의미합니다(500 시리즈 오류)

    • 노란색은 클라이언트 오류를 의미합니다(400 시리즈 오류)

    • 보라색은 병목 오류를 의미합니다(429 요청 과다)

    서비스 맵이 큰 경우 화면의 컨트롤이나 마우스를 사용하여 맵을 확대/축소하거나 이동할 수 있습니다.

    참고

    X-Ray 추적 맵은 최대 10,000개의 노드를 표시할 수 있습니다. 드문 경우지만 총 서비스 노드 수가 이 제한을 초과하는 경우 오류가 발생하여 콘솔에 전체 추적 맵을 표시하지 못할 수 있습니다.

    그룹별 트레이스 맵 필터링

    필터 표현식을 사용하여 그룹에 트레이스를 허용하는 기준을 정의할 수 있습니다. 필터 표현식에 대한 자세한 내용은 필터 표현식 사용을 참조하십시오. 그런 다음 다음 단계를 사용하여 추적 맵에 해당 특정 그룹을 표시하십시오.

    CloudWatch console

    추적 맵의 왼쪽 상단에 있는 그룹 필터에서 그룹 이름을 선택합니다.

    X-Ray console

    검색 창 왼쪽에 있는 드롭다운 메뉴에서 그룹 이름을 선택합니다.

    이제 서비스 맵이 필터링되어 선택한 그룹의 필터 표현식과 일치하는 추적을 표시합니다.

    트레이스 맵 범례 및 옵션

    추적 맵에는 범례와 맵 표시를 사용자 지정하기 위한 여러 옵션이 포함되어 있습니다.

    CloudWatch console

    지도 오른쪽 상단의 범례 및 옵션 드롭다운을 선택합니다. 다음을 포함하여 노드 내에 표시할 항목을 선택합니다:

    • 지표는 선택한 시간 범위 동안 분당 평균 응답 시간과 전송된 추적 횟수를 표시합니다.

    • 노드는 각 노드 내의 서비스 아이콘이 표시됩니다.

    맵 오른쪽 상단의 톱니바퀴 아이콘을 통해 액세스할 수 있는 기본 설정 창에서 추가 맵 설정을 선택합니다. 이러한 설정에는 각 노드의 크기를 결정하는 데 사용되는 메트릭과 맵에 표시할 카나리아를 선택하는 것이 포함됩니다.

    X-Ray console

    맵 오른쪽 상단의 맵 레전드 링크를 선택하여 서비스 맵 범례를 표시합니다. 트레이스 맵의 오른쪽 하단에서 다음을 포함한 서비스 맵 옵션을 선택할 수 있습니다.

    • 서비스 아이콘은 각 노드 내에 표시되는 내용을 전환하여 서비스 아이콘 또는 선택한 시간 범위 동안 분당 평균 응답 시간 및 전송된 추적 횟수를 표시합니다.

    • 노드 크기 조정: 없음은 모든 노드의 크기를 동일하게 설정합니다.

    • 노드 크기 조정: Health는 오류, 결함 또는 병목 현상이 발생한 요청을 포함하여 영향을 받는 요청 수를 기준으로 노드 크기를 조정합니다.

    • 노드 크기 조정: 트래픽 총 요청 수를 기준으로 노드의 크기를 조정합니다.

    X-Ray 콘솔의 트레이스 페이지를 사용하여 URL, 응답 코드 또는 트레이스 요약의 다른 데이터를 기준으로 트레이스를 검색할 수 있습니다. 추적 목록에서 트레이스를 선택하면 트레이스 세부 정보 페이지에 선택한 트레이스와 관련된 서비스 노드의 맵과 트레이스 세그먼트의 타임라인이 표시됩니다.

    추적 보기

    CloudWatch console
    CloudWatch 콘솔에서 트레이스를 보려면
    1. https://console.aws.amazon.com/cloudwatch/ 에서 AWS Management Console 로그인하고 CloudWatch 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 X-Ra-traces를 선택한 다음 Traces를 선택합니다. 그룹별로 필터링하거나 페이지 하단의 트레이스 섹션에 표시되는 트레이스를 필터링하는 필터 표현식을 입력할 수 있습니다. 자세한 내용은 필터 표현식 사용을 참조하십시오.

      또는 서비스 맵을 사용하여 특정 서비스 노드로 이동한 다음 트레이스를 볼 수 있습니다. 그러면 쿼리가 이미 적용된 Traces 페이지가 열립니다.

    3. 쿼리 세분화 섹션에서 쿼리를 구체화하세요. 트레이스를 공통 속성으로 필터링하려면 쿼리 세분화 기준 옆의 아래쪽 화살표에서 옵션을 선택합니다. 옵션에는 다음 사항이 포함됩니다.

      • 노드 - 트레이스를 서비스 노드별로 필터링합니다.

      • 리소스 ARN — 추적과 연결된 리소스를 기준으로 추적을 필터링합니다. 이러한 리소스의 예로는 Amazon Elastic Compute Cloud (Amazon EC2) AWS Lambda 인스턴스, 함수 또는 테이블이 있습니다. Amazon DynamoDB

      • 사용자 — 사용자 ID로 트레이스를 필터링합니다.

      • 오류 근본 원인 메시지 - 오류 근본 원인별로 트레이스를 필터링합니다.

      • URL - 애플리케이션에서 사용하는 URL 경로를 기준으로 트레이스를 필터링합니다.

      • HTTP 상태 코드 - 애플리케이션에서 반환한 HTTP 상태 코드를 기준으로 트레이스를 필터링합니다. 사용자 지정 응답 코드를 지정하거나 다음 중에서 선택할 수 있습니다.

        • 200— 요청이 성공했습니다.

        • 401— 요청에 유효한 인증 자격 증명이 부족했습니다.

        • 403— 요청에 유효한 권한이 없습니다.

        • 404— 서버가 요청된 리소스를 찾을 수 없습니다.

        • 500— 서버에 예상치 못한 상황이 발생하여 내부 오류가 발생했습니다.

      항목을 하나 이상 선택한 다음 쿼리에 추가를 선택하여 페이지 상단의 필터 표현식에 추가합니다.

    4. 단일 트레이스를 찾으려면 쿼리 필드에 트레이스 ID를 직접 입력합니다. X-Ray 형식 또는 월드 와이드 웹 컨소시엄 (W3C) 형식을 사용할 수 있습니다. 예를 들어 AWS 배포판을 사용하여 만든 트레이스는 W3C 형식입니다. OpenTelemetry

      참고

      W3C 형식 추적 ID로 만든 트레이스를 쿼리하면 콘솔에 일치하는 트레이스가 X-Ray 형식으로 표시됩니다. 예를 들어 W3C 형식으로 쿼리하면 4efaaf4d1e8720b39541901950019ee5 콘솔에 해당하는 X-Ray:가 표시됩니다. 1-4efaaf4d-1e8720b39541901950019ee5

    5. 페이지 하단의 트레이스 섹션에 일치하는 트레이스 목록을 표시하려면 언제든지 쿼리 실행을 선택하십시오.

    6. 단일 추적에 대한 추적 세부 정보 페이지를 표시하려면 목록에서 추적 ID를 선택합니다.

      다음 이미지는 트레이스와 관련된 서비스 노드가 포함된 트레이스 맵과 트레이스를 구성하는 세그먼트가 취한 경로를 나타내는 노드 사이의 에지를 보여줍니다. 트레이스 요약은 트레이스 맵 뒤에 표시됩니다. 요약에는 샘플 GET 작업, 응답 코드, 추적 실행 기간, 요청 기간에 대한 정보가 포함됩니다. 세그먼트 타임라인은 추적 세그먼트와 하위 세그먼트의 기간을 보여주는 추적 요약을 따릅니다.

      트레이스 맵, 요약 및 세그먼트 타임라인은 트레이스의 서비스 노드와 세그먼트에 대한 세부 정보를 제공합니다.

      Amazon SQS와 Lambda를 사용하는 이벤트 기반 애플리케이션이 있는 경우, Trace 맵에서 각 요청에 대한 추적의 연결된 보기를 볼 수 있습니다. 맵에서 메시지 생산자의 추적은 AWS Lambda 소비자의 추적에 연결되며 점선 가장자리로 표시됩니다. 이벤트 기반 애플리케이션에 대한 자세한 내용은 을 참조하십시오. 이벤트 기반 애플리케이션을 추적합니다.

      추적 및 추적 세부 정보 페이지는 추적 목록과 단일 추적 맵 내에 여러 계정의 흔적을 나열할 수 있는 교차 계정 추적도 지원합니다. 자세한 정보는 교차 계정 추적을 참조하세요.

    X-Ray console
    X-Ray 콘솔에서 트레이스를 보려면
    1. X-Ray 콘솔의 트레이스 페이지를 엽니다. 추적 개요 패널에는 오류 근본 원인, ResourceARN 등을 비롯한 일반적인 기능별로 그룹화된 추적 목록이 표시됩니다. InstanceId

    2. 그룹화된 추적 세트를 볼 수 있는 공통 기능을 선택하려면 그룹화 기준 옆의 아래쪽 화살표를 펼치십시오. 다음 그림은 의 URL별로 그룹화된 트레이스의 트레이스 개요와 관련 트레이스 목록을 보여줍니다. AWS X-Ray 샘플 애플리케이션

      URL별로 그룹화된 추적 개요의 예와 ID, 방법, 응답 등의 세부 정보가 포함된 추적 목록이 뒤따릅니다.
    3. 트레이스 목록에서 트레이스를 보려면 트레이스 ID를 선택하세요. 탐색 창에서 서비스 맵을 선택하여 특정 서비스 노드에 대한 트레이스를 볼 수도 있습니다. 그러면 해당 노드와 관련된 트레이스를 볼 수 있습니다.

      타임라인 탭에는 추적에 대한 요청 흐름이 표시되며, 여기에는 다음이 포함됩니다.

      • 트레이스에 있는 각 세그먼트의 경로 맵.

      • 세그먼트가 트레이스 맵의 노드에 도달하는 데 걸린 시간

      • 추적 맵의 노드에 대한 요청 횟수

      다음 그림은 샘플 애플리케이션에 대한 GET 요청과 관련된 예제 Trace Map을 보여줍니다. 화살표는 각 세그먼트가 요청을 완료하는 데 걸린 경로를 보여줍니다. 서비스 노드는 요청 중에 이루어진 요청 수를 보여줍니다. GET

      트레이스 맵 뒤에는 세그먼트가 표시된 타임라인, 기간, 출발지, 종착지가 표시됩니다.

      타임라인 탭에 대한 자세한 내용은 다음 추적 타임라인 살펴보기 섹션을 참조하십시오.

      원시 데이터 탭에는 트레이스와 트레이스를 구성하는 세그먼트 및 하위 세그먼트에 대한 정보가 형식으로 표시됩니다. JSON 이 정보에는 다음이 포함될 수 있습니다.

      • 타임스탬프

      • 고유 ID

      • 세그먼트 또는 하위 세그먼트와 관련된 리소스

      • 세그먼트 또는 하위 세그먼트의 출처 또는 출처

      • 애플리케이션에 대한 요청에 대한 추가 정보 (예: HTTP 요청의 응답)

    트레이스 타임라인 살펴보기

    타임라인 섹션에는 작업을 완료하는 데 사용한 시간에 해당하는 수평 막대 옆에 세그먼트와 하위 세그먼트의 계층 구조가 표시됩니다. 목록의 첫 번째 항목이 세그먼트인데, 단일 요청의 서비스에 의해 기록된 모든 데이터를 나타냅니다. 하위 세그먼트는 세그먼트 다음에 들여쓰여지고 나열됩니다. 열에는 각 세그먼트에 대한 정보가 포함됩니다.

    CloudWatch console

    CloudWatch 콘솔의 세그먼트 타임라인은 다음 정보를 제공합니다.

    • 첫 번째 열: 선택한 트레이스의 세그먼트와 하위 세그먼트를 나열합니다.

    • 세그먼트 상태 열: 각 세그먼트와 하위 세그먼트의 상태 결과를 나열합니다.

    • 응답 코드 열: 세그먼트나 하위 세그먼트에서 이루어진 브라우저 요청에 대한 HTTP 응답 상태 코드가 있는 경우 해당 코드를 나열합니다.

    • 기간 열: 세그먼트 또는 하위 세그먼트가 실행된 시간을 나열합니다.

    • Hosted in 열: 해당하는 경우 세그먼트 또는 하위 세그먼트가 실행되는 네임스페이스나 환경을 나열합니다. 자세한 정보는 https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AppSignals-StandardMetrics.html#AppSignals-StandardMetrics-Dimensions을 참조하세요.

    • 마지막 열: 타임라인의 다른 세그먼트 또는 하위 세그먼트와 비교하여 세그먼트 또는 하위 세그먼트가 실행된 기간에 해당하는 가로 막대를 표시합니다.

    세그먼트와 하위 세그먼트 목록을 서비스 노드별로 그룹화하려면 노드별 그룹화를 켜십시오.

    X-Ray console

    트레이스 세부 정보 페이지에서 타임라인 탭을 선택하면 트레이스를 구성하는 각 세그먼트와 하위 세그먼트의 타임라인을 볼 수 있습니다.

    X-Ray 콘솔의 타임라인은 다음 정보를 제공합니다.

    • 이름 열: 트레이스에 있는 세그먼트와 하위 세그먼트의 이름을 나열합니다.

    • Res. 열: 세그먼트나 하위 세그먼트의 브라우저 요청에 대한 HTTP 응답 상태 코드가 있는 경우 해당 세그먼트나 하위 세그먼트에서 이루어진 브라우저 요청에 대한 HTTP 응답 상태 코드를 나열합니다.

    • 기간 열: 세그먼트 또는 하위 세그먼트가 실행된 시간을 나열합니다.

    • 상태 열: 세그먼트 또는 하위 세그먼트 상태의 결과를 나열합니다.

    • 마지막 열: 타임라인의 다른 세그먼트 또는 하위 세그먼트와 비교하여 세그먼트 또는 하위 세그먼트가 실행된 기간에 해당하는 가로 막대를 표시합니다.

    콘솔이 타임라인을 생성하는 데 사용하는 원시 트레이스 데이터를 보려면 원시 데이터 탭을 선택합니다. 원시 데이터에는 트레이스에 대한 정보와 트레이스를 구성하는 세그먼트와 하위 세그먼트에 대한 정보가 형식으로 표시됩니다. JSON 이 정보에는 다음이 포함될 수 있습니다.

    • 타임스탬프

    • 고유 ID

    • 세그먼트 또는 하위 세그먼트와 관련된 리소스

    • 세그먼트 또는 하위 세그먼트의 출처 또는 출처

    • HTTP 요청의 응답과 같은 애플리케이션에 대한 요청에 대한 추가 정보.

    계측된 AWS SDK 또는 SQL 클라이언트를 사용하여 외부 리소스를 호출하면 X-Ray SDK가 하위 세그먼트를 자동으로 기록합니다. HTTP 또한 X-Ray SDK를 사용하여 모든 함수 또는 코드 블록에 대한 사용자 지정 하위 세그먼트를 기록할 수 있습니다. 사용자 지정 하위 세그먼트가 열려 있는 동안 기록된 추가 하위 세그먼트는 사용자 지정 하위 세그먼트의 하위 세그먼트가 됩니다.

    세그먼트 세부 정보 보기

    추적 타임라인에서 세그먼트의 이름을 선택하여 세부 정보를 확인합니다.

    세그먼트 세부 정보 패널에는 개요, 리소스, 주석, 메타데이터, 예외SQL 탭이 표시됩니다. 다음이 적용됩니다.

    • 개요 탭에 요청 및 응답에 대한 정보가 표시됩니다. 정보에는 이름, 시작 시간, 종료 시간, 기간, 요청 URL, 요청 작업, 요청 응답 코드, 오류 및 장애가 포함됩니다.

    • 세그먼트의 리소스 탭에는 X-Ray-SDK의 정보와 애플리케이션을 실행하는 AWS 리소스에 대한 정보가 표시됩니다. X-Ray SDK용 Amazon EC2 또는 Amazon ECS 플러그인을 사용하여 서비스별 리소스 정보를 기록할 수 있습니다. AWS Elastic Beanstalk플러그인에 대한 자세한 내용은 의 서비스 플러그인 섹션을 참조하십시오. Java용 X-Ray SDK 구성

    • 나머지 탭에는 세그먼트에 기록된 주석, 메타데이터예외가 표시됩니다. 계측된 요청에서 예외가 생성되면 자동으로 캡처됩니다. 주석과 메타데이터에는 X-Ray SDK가 제공하는 작업을 사용하여 기록하는 추가 정보가 포함됩니다. 세그먼트에 주석이나 메타데이터를 추가하려면 X-Ray SDK를 사용하세요. 자세한 내용은 SDK를 사용하여 애플리케이션 계측하기 아래에 나열된 언어별 링크를 참조하십시오. AWS X-Ray 애플리케이션 측정 대상 AWS X-Ray

    하위 세그먼트 세부 정보 보기

    트레이스 타임라인에서 세부 정보를 보려는 하위 세그먼트 이름을 선택합니다.

    • 개요 탭에는 요청 및 응답에 대한 정보가 포함되어 있습니다. 여기에는 이름, 시작 시간, 종료 시간, 기간, 요청URL, 요청 작업, 요청 응답 코드, 오류 및 오류가 포함됩니다. 구성된 클라이언트에 의해 생성된 하위 세그먼트의 경우, 개요 탭에 애플리케이션 관점에서의 요청 및 응답에 대한 정보가 포함됩니다.

    • 하위 세그먼트의 리소스 탭에는 해당 하위 세그먼트를 실행하는 데 사용된 AWS 리소스에 대한 세부 정보가 표시됩니다. 예를 들어 리소스 탭에는 AWS Lambda 함수 ARN, DynamoDB 테이블에 대한 정보, 호출된 모든 작업, 요청 ID가 포함될 수 있습니다.

    • 나머지 탭에는 하위 세그먼트에 기록된 주석, 메타데이터예외가 표시됩니다. 계측된 요청에서 예외가 생성되면 자동으로 캡처됩니다. 주석과 메타데이터에는 X-Ray SDK가 제공하는 작업을 사용하여 기록하는 추가 정보가 포함됩니다. X-Ray SDK를 사용하여 세그먼트에 주석 또는 메타데이터를 추가할 수 있습니다. 자세한 내용은 SDK를 사용하여 애플리케이션 계측하기 아래에 나열된 언어별 링크를 참조하십시오. AWS X-Ray 애플리케이션 측정 대상 AWS X-Ray

    사용자 지정 하위 세그먼트의 경우, 개요 탭에 하위 세그먼트의 이름이 표시됩니다. 이 이름은 이 하위 세그먼트가 기록하는 코드 영역이나 함수를 지정하는 데 설정할 수 있습니다. 자세한 내용은 SDK를 사용하여 애플리케이션 인스트루먼트에 나열된 언어별 링크를 참조하십시오. AWS X-Ray Java용 X-Ray SDK를 사용하여 사용자 지정 하위 세그먼트 생성하기

    다음 이미지는 사용자 지정 하위 세그먼트의 개요 탭을 보여줍니다. 개요에는 하위 세그먼트 ID, 상위 ID, 이름, 시작 및 종료 시간, 기간, 상태, 오류 또는 장애가 포함됩니다.

    ID, 상위 ID, 이름, 시간, 오류 및 장애를 포함한 하위 세그먼트에 대한 개요 정보.

    사용자 지정 하위 세그먼트의 메타데이터 탭에는 해당 하위 세그먼트에서 사용하는 리소스에 대한 JSON 형식 정보가 들어 있습니다.

    필터 표현식을 사용하여 특정 요청, 서비스, 두 서비스 간 연결 (에지) 또는 조건을 충족하는 요청에 대한 트레이스 맵 또는 트레이스를 볼 수 있습니다. X-Ray는 요청 헤더, 응답 상태 및 원래 세그먼트의 인덱싱된 필드에 포함된 데이터를 기반으로 요청, 서비스 및 엣지를 필터링하는 필터 표현식 언어를 제공합니다.

    X-Ray 콘솔에서 볼 트레이스의 기간을 선택할 때 콘솔에서 표시할 수 있는 결과보다 더 많은 결과를 얻을 수 있습니다. 우측 상단 모서리에서 콘솔은 스캔한 트레이스의 수 및 사용 가능한 트레이스가 더 있는지를 표시합니다. 필터 표현식을 사용하면 찾고자 하는 트레이스로 결과 범위를 좁힐 수 있습니다.

    추적 맵에서 노드를 선택하면 콘솔은 노드의 서비스 이름과 선택에 따라 나타나는 오류 유형을 기반으로 필터 표현식을 구성합니다. 성능 문제를 표시하거나 특정 요청과 관련된 트레이스를 찾으려면 콘솔에서 제공하는 표현식을 조정하거나 자체적으로 표현식을 생성합니다. X-Ray SDK로 주석을 추가하는 경우 주석 키의 존재 또는 키 값을 기준으로 필터링할 수도 있습니다.

    참고

    추적 맵에서 상대 시간 범위를 선택하고 노드를 선택하면 콘솔은 시간 범위를 절대 시작 및 종료 시간으로 변환합니다. 노드에 대한 트레이스가 검색 결과에 나타나도록 하고 노드가 활성 상태가 아닐 때 시간을 스캔하지 않도록 하기 위해 시간 범위에 노드가 트레이스를 보냈을 때 시간만 포함됩니다. 현재 시간에 상대적으로 검색하려는 경우 트레이스 페이지의 상대적 시간 범위로 다시 전환한 후 다시 스캔할 수 있습니다.

    콘솔에서 표시할 수 있는 것보다 더 많은 결과가 계속 제공되는 경우 콘솔에서 일치한 트레이스 수와 스캔한 트레이스 수를 표시합니다. 표시된 백분율은 스캔한 선택된 시간 프레임의 백분율입니다. 결과에 나타난 일치하는 트레이스를 모두 보려면 필터 표현식의 범위를 더 좁히거나 보다 짧은 시간 범위를 선택합니다.

    가장 최근 결과를 먼저 얻으려면 콘솔이 시간 범위의 끝에서 스캔을 시작하고 역방향으로 진행합니다. 트레이스 개수가 매우 많은데 결과가 거의 없는 경우 콘솔은 시간 범위를 청크로 분할하고 해당 청크를 병렬로 스캔합니다. 진행률 표시줄에서 스캔한 시간 범위 부분을 표시합니다.

    그룹은 필터 표현식으로 정의한 추적 모음입니다. 그룹을 사용하여 추가 서비스 그래프를 생성하고 Amazon CloudWatch 지표를 제공할 수 있습니다.

    그룹은 이름 또는 Amazon 리소스 이름(ARN)으로 식별되며 필터 표현식을 포함합니다. 이 서비스는 수신 트레이스를 표현식과 비교하여 그에 따라 저장합니다.

    필터 표현식 검색 창 왼쪽에 있는 드롭다운 메뉴를 사용하여 그룹을 생성하고 수정할 수 있습니다.

    참고

    서비스가 그룹을 규정하는 데 오류가 발생하면 해당 그룹은 더 이상 수신 트레이스 처리에 포함되지 않으며 오류 지표가 기록됩니다.

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

    필터 표현식은 키워드, 유너리 또는 바이너리 연산자, 비교를 위한 을 포함할 수 있습니다.

    keyword operator value

    다양한 유형의 키워드에 대해 다양한 연산자를 사용할 수 있습니다. 예를 들어 responsetime은 숫자 키워드이며 숫자와 관련된 연산자를 사용하여 비교할 수 있습니다.

    예 – 응답 시간이 5초를 초과한 요청
    responsetime > 5

    ANDOR 연산자를 사용하여 여러 표현식을 하나의 복합 표현식으로 결합할 수 있습니다.

    예 – 총 기간이 5~8초인 요청
    duration >= 5 AND duration <= 8

    단순한 키워드 및 연산자를 사용하면 트레이스 수준에서만 문제가 발견됩니다. 오류가 다운스트림에서 발생하지만 애플리케이션에 의해 처리되고 사용자에게 반환되지 않는 경우 error 검색에서는 발견되지 않습니다.

    다운스트림 문제가 있는 트레이스를 찾으려면 복잡한 service() 키워드와 edge() 를 사용할 수 있습니다. 이러한 키워드를 사용하면 필터 표현식을 모든 다운스트림 노드, 단일 다운스트림 노드 또는 두 노드 간 에지에 적용할 수 있습니다. 이러한 키워드에 대한 자세한 내용은 다음 복합 키워드 섹션을 참조하십시오. 더욱 세분화하려면 id() 함수를 사용하여 서비스와 엣지를 필터링할 수 있습니다. 자세한 내용은 다음 id 함수 섹션을 참조하십시오.

    부울 키워드 값은 true 또는 false입니다. 오류가 발생한 트레이스를 찾으려면 이 키워드를 사용합니다.

    부울 키워드
    • ok – 응답 상태 코드가 2XX Success.

    • error – 응답 상태 코드가 4XX Client Error.

    • throttle – 응답 상태 코드가 429 요청 과다.

    • fault – 응답 상태 코드가 5XX Server Error.

    • partial – 요청에 완료되지 않은 세그먼트가 있음.

    • inferred – 요청에 추론된 세그먼트가 있음

    • first – 요소가 열거된 목록의 첫 번째임

    • last – 요소가 열거된 목록의 마지막임

    • remote – 근본 원인 개체가 원격임

    • root – 서비스가 트레이스의 진입점 또는 루트 세그먼트임

    부울 연산자는 지정된 키가 true 또는 false인 세그먼트를 찾습니다.

    부울 연산
    • none – 키워드가 true이면 표현식이 true입니다.

    • ! – 키워드가 false이면 표현식이 true입니다.

    • =,!= – 키워드의 값을 문자열 true 또는 false와 비교합니다. 이러한 연산자는 다른 연산자와 동일하게 작동하지만 보다 명시적입니다.

    예 – 응답 상태가 2XX OK
    ok
    예 – 응답 상태가 2XX OK가 아님
    !ok
    예 – 응답 상태가 2XX OK가 아님
    ok = false
    예 – 마지막에 열거된 결함 트레이스의 오류 이름이 “deserialize”임
    rootcause.fault.entity { last and name = "deserialize" }
    예 – 범위가 0.7보다 크고 서비스 이름이 “traces"인 원격 세그먼트가 포함된 요청
    rootcause.responsetime.entity { remote and coverage > 0.7 and name = "traces" }
    예 – 서비스 유형이 "AWS:DynamonDB"인 추론 세그먼트가 포함된 요청
    rootcause.fault.service { inferred and name = traces and type = "AWS::DynamoDB" }
    예 – 이름이 “data-plane”인 세그먼트가 루트로 포함된 요청
    service("data-plane") {root = true and fault = true}

    숫자 키워드를 사용하면 특정 응답 시간, 기간 또는 응답 상태를 갖는 요청을 찾을 수 있습니다.

    숫자 키워드
    • responsetime – 서버가 응답을 전송하는 데 걸린 시간.

    • duration – 모든 다운스트림 호출을 포함한 총 요청 기간입니다.

    • http.status – 응답 상태 코드.

    • index – 열거 목록에서 요소의 위치

    • coverage – 루트 세그먼트 응답 시간 경과에 따른 개체 응답 시간의 십진 비율 응답 시간 근본 원인 개체일 때만 사용 가능합니다.

    숫자 연산자

    숫자 키워드는 표준 등식 및 비교 연산자를 사용합니다.

    • =,!= – 이 키워드는 숫자값과 같음 또는 같지 않음입니다.

    • <,<=, >,>= – 이 키워드는 숫자값보다 작음 또는 큼입니다.

    예 – 응답 상태가 200 OK가 아님
    http.status != 200
    예 – 총 기간이 5~8초인 요청
    duration >= 5 AND duration <= 8
    예 – 모든 다운스트림 호출을 포함하여 3초 이내에 성공적으로 완료된 요청
    ok !partial duration <3
    예 – 5보다 큰 인덱스가 포함된 열거된 목록 개체
    rootcause.fault.service { index > 5 }
    예 – 0.8보다 큰 범위가 포함된 마지막 개체인 요청
    rootcause.responsetime.entity { last and coverage > 0.8 }

    문자열 키워드를 사용하면 요청 헤더 또는 특정 사용자 ID에 특정 텍스트가 포함된 트레이스를 찾을 수 있습니다.

    문자열 키워드
    • http.url – 요청 URL.

    • http.method – 요청 메서드.

    • http.useragent – 요청 사용자 에이전트 문자열.

    • http.clientip – 요청자 IP 주소.

    • user – 트레이스 내 세그먼트의 사용자 필드 값.

    • name – 서비스 또는 예외 이름

    • type – 서비스 유형

    • message – 예외 메시지

    • availabilityzone – 트레이스 내 세그먼트의 availabilityzone 필드 값

    • instance.id – 트레이스 내 세그먼트의 인스턴스 ID 필드 값

    • resource.arn – 트레이스 내 세그먼트의 리소스 ARN 필드 값

    문자열 연산자는 특정 텍스트와 같거나 이를 포함하는 값을 찾습니다. 값은 항상 인용 부호를 사용하여 지정해야 합니다.

    문자열 연산자
    • =,!= – 이 키워드는 숫자값과 같음 또는 같지 않음입니다.

    • CONTAINS – 이 키워드는 특정 문자열을 포함합니다.

    • BEGINSWITH , ENDSWITH – 이 키워드는 특정 문자열로 시작하거나 끝납니다.

    예 – http.url 필터
    http.url CONTAINS "/api/game/"

    트레이스에서 값과 상관없이 특정 필드가 존재하는지 테스트하려면 필드가 빈 문자열을 포함하는지 확인합니다.

    예 – 사용자 필터

    사용자 ID가 있는 모든 트레이스를 찾습니다.

    user CONTAINS ""
    예 – “Auth”라는 이름의 서비스가 포함된 결함 근본 원인이 있는 트레이스를 선택합니다.
    rootcause.fault.service { name = "Auth" }
    예 – 마지막 서비스에 DynamoDB 유형이 포함된 응답 시간 근본 원인이 있는 트레이스를 선택합니다.
    rootcause.responsetime.service { last and type = "AWS::DynamoDB" }
    예 – 마지막 예외에 "access denied for account_id: 1234567890" 메시지가 포함된 결함 근본 원인이 있는 추적을 선택합니다.
    rootcause.fault.exception { last and message = "Access Denied for account_id: 1234567890"

    복합 키워드를 사용하여 서비스 이름, 엣지 이름 또는 주석 값을 기준으로 요청을 찾을 수 있습니다. 서비스 및 엣지의 경우 서비스 또는 엣지에 적용되는 추가 필터 표현식을 지정할 수 있습니다. 주석의 경우 부울, 숫자 또는 문자열 연산자를 사용하여 특정 키로 주석 값을 필터링할 수 있습니다.

    복합 키워드
    • annotation.keykey 필드가 있는 주석의 값. 주석 값은 부울, 숫자 또는 문자열일 수 있으므로 이러한 유형의 비교 연산자를 모두 사용할 수 있습니다. 이 키워드는 service 또는 edge 키워드와 함께 사용할 수 있습니다.

    • edge(source, destination) {filter}source 서비스와 destination 서비스 사이를 연결합니다. 선택적으로, 이 연결의 세그먼트에 적용되는 필터 표현식을 중괄호로 묶을 수 있습니다.

    • group.name / group.arn – 그룹 이름 또는 그룹 ARN으로 참조되는 그룹의 필터 표현식 값입니다.

    • json – JSON 근본 원인 객체. 프로그래밍 방식으로 JSON 항목을 생성하는 단계는 AWS X-Ray에서 데이터 가져오기를 참조하십시오.

    • service(name) {filter} – 이름이 name인 서비스. 선택적으로, 서비스에서 생성하는 세그먼트에 적용되는 필터 표현식을 중괄호로 묶을 수 있습니다.

    service 키워드를 사용하여 추적 맵의 특정 노드에 도달한 요청의 트레이스를 찾을 수 있습니다.

    복합 키워드 연산자는 지정된 키가 설정되었거나 설정되지 않은 세그먼트를 찾습니다.

    복합 키워드 연산자
    • none – 키워드가 설정된 경우 표현식이 true입니다. 키워드가 부울 유형인 경우 부울 값으로 평가됩니다.

    • ! – 키워드가 설정되지 않은 경우 표현식이 true입니다. 키워드가 부울 유형인 경우 부울 값으로 평가됩니다.

    • =,!= - 키워드의 값을 비교합니다.

    • edge(source, destination) {filter}source 서비스와 destination 서비스 사이를 연결합니다. 선택적으로, 이 연결의 세그먼트에 적용되는 필터 표현식을 중괄호로 묶을 수 있습니다.

    • annotation.keykey 필드가 있는 주석의 값. 주석 값은 부울, 숫자 또는 문자열일 수 있으므로 이러한 유형의 비교 연산자를 모두 사용할 수 있습니다. 이 키워드는 service 또는 edge 키워드와 함께 사용할 수 있습니다.

    • json – JSON 근본 원인 객체. 프로그래밍 방식으로 JSON 항목을 생성하는 단계는 AWS X-Ray에서 데이터 가져오기를 참조하십시오.

    service 키워드를 사용하여 추적 맵의 특정 노드에 도달한 요청의 트레이스를 찾을 수 있습니다.

    예 – 서비스 필터

    api.example.com 호출을 포함하고 오류(500 시리즈 오류)가 발생한 요청

    service("api.example.com") { fault }

    서비스 이름을 제외하여 필터 표현식을 서비스 맵의 모든 노드에 적용할 수 있습니다.

    예 – 서비스 필터

    트레이스 맵의 어느 곳에서든 장애를 일으킨 요청.

    service() { fault }

    에지 키워드는 필터 표현식을 두 노드 간 연결에 적용합니다.

    예 – 엣지 필터

    api.example.com 서비스가 backend.example.com을 호출했으나 실패하고 오류가 발생한 요청

    edge("api.example.com", "backend.example.com") { error }

    또한 서비스 및 에지 키워드와 함께 ! 연산자를 사용하여 다른 필터 표현식의 결과에서 서비스 또는 에지를 제외할 수 있습니다.

    예 – 서비스 및 요청 필터

    URL이 http://api.example.com/으로 시작하고 /v2/를 포함하지만 api.example.com 서비스에 연결되지 않는 요청

    http.url BEGINSWITH "http://api.example.com/" AND http.url CONTAINS "/v2/" AND !service("api.example.com")
    예 – 서비스 및 응답 시간 필터

    http url이 설정되어 있고 응답 시간이 2초보다 큰 트레이스를 찾습니다.

    http.url AND responseTime > 2

    주석의 경우 annotation.key가 설정된 모든 트레이스를 직접 호출하거나 값 유형에 해당하는 비교 연산자를 사용할 수 있습니다.

    예 – 문자열 값을 포함하는 주석

    문자열 값이 gameid"817DL6VO"라는 주석이 포함된 요청

    annotation.gameid = "817DL6VO"
    예 – 주석이 설정되었습니다.

    age set이라는 주석이 포함된 요청.

    annotation.age
    예 – 주석이 설정되지 않았습니다.

    age set이라는 주석이 없는 요청.

    !annotation.age
    예 – 숫자 값을 포함하는 주석

    주석의 수명이 숫자 값 29보다 큰 요청

    annotation.age > 29
    예 – 서비스 또는 엣지와 조합한 주석

    service { annotation.request_id = "917DL6VO" }
    edge { source.annotation.request_id = "916DL6VO" }
    edge { destination.annotation.request_id = "918DL6VO" }
    예 – 사용자가 있는 그룹

    트레이스가 high_response_time 그룹 필터(예:responseTime > 3)를 충족하고 사용자 이름이 Alice인 요청.

    group.name = "high_response_time" AND user = "alice"
    예 – 근본 원인 개체가 포함된 JSON

    일치하는 근본 원인 개체가 포함된 요청

    rootcause.json = #[{ "Services": [ { "Name": "GetWeatherData", "EntityPath": [{ "Name": "GetWeatherData" }, { "Name": "get_temperature" } ] }, { "Name": "GetTemperature", "EntityPath": [ { "Name": "GetTemperature" } ] } ] }]

    service 또는 edge 키워드에 서비스 이름을 제공하면 해당 이름의 모든 노드가 결과로 반환됩니다. 보다 세밀하게 필터링하려면 id 함수로 이름 외에 서비스 유형도 지정하여 이름이 같은 노드를 구별할 수 있습니다.

    모니터링 계정에서 여러 계정의 트레이스를 볼 때 이 account.id 함수를 사용하여 서비스의 특정 계정을 지정합니다.

    id(name: "service-name", type:"service::type", account.id:"account-ID")

    서비스 및 엣지 필터에 서비스 이름 대신 id 함수를 사용할 수 있습니다.

    service(id(name: "service-name", type:"service::type")) { filter }
    edge(id(name: "service-one", type:"service::type"), id(name: "service-two", type:"service::type")) { filter }

    예를 들어, AWS Lambda 함수는 추적 맵에 두 개의 노드를 생성합니다. 하나는 함수 호출용이고 다른 하나는 Lambda 서비스용입니다. 두 노드는 이름이 같지만 유형이 다릅니다. 표준 서비스 필터는 두 노드 모두의 트레이스를 찾습니다.

    예 – 서비스 필터

    random-name이라는 서비스에 대한 오류를 포함하는 요청

    service("function-name") { error }

    서비스로 인한 오류를 제외하고 함수 자체의 오류로 검색 범위를 좁히려면 id 함수를 사용합니다.

    예 – id 함수를 사용한 서비스 필터

    유형이 random-nameAWS::Lambda::Function 서비스의 오류를 포함하는 요청

    service(id(name: "random-name", type: "AWS::Lambda::Function")) { error }

    또한 이름을 완전히 제외하여 노드를 유형별로 검색할 수 있습니다.

    예 – id 기능 및 서비스 유형을 포함하는 서비스 필터

    유형이 AWS::Lambda::Function인 서비스의 오류를 포함하는 요청

    service(id(type: "AWS::Lambda::Function")) { error }

    특정 AWS 계정노드를 검색하려면 계정 ID를 지정하십시오.

    예 – id 기능 및 계정 ID를 사용한 서비스 필터

    특정 계정 ID AWS::Lambda::Function 내에 서비스를 포함하는 요청.

    service(id(account.id: "account-id"))

    AWS X-Ray 계정 간 관찰 기능을 지원하므로 한 계정 내 여러 계정에 걸쳐 있는 애플리케이션을 모니터링하고 문제를 해결할 수 있습니다. AWS 리전연결된 모든 계정의 지표, 로그 및 추적을 마치 하나의 계정에서 작업하는 것처럼 원활하게 검색, 시각화 및 분석할 수 있습니다. 이를 통해 여러 계정에 걸쳐 발생하는 요청을 전체적으로 볼 수 있습니다. CloudWatch콘솔의 X-Ray trace 맵과 트레이스 페이지에서 계정 간 트레이스를 볼 수 있습니다.

    공유된 통합 관찰성 데이터에는 다음 유형의 원격 분석이 포함될 수 있습니다.

    • 아마존의 지표 CloudWatch

    • Amazon CloudWatch 로그의 로그 그룹

    • 트레이스 인 AWS X-Ray

    • Amazon의 애플리케이션 CloudWatch 애플리케이션 인사이트

    교차 계정 관찰성 구성

    교차 계정 관찰성을 활성화하려면 하나 이상의 AWS 모니터링 계정을 설정하고 여러 소스 계정과 연결하세요. 모니터링 계정은 소스 계정에서 생성된 통합 가시성 데이터를 보고 상호 작용할 수 AWS 계정 있는 중앙 계정입니다. 소스 계정은 포함된 리소스에 대한 가시성 데이터를 생성하는 AWS 계정 개인입니다.

    소스 계정은 관찰성 데이터를 모니터링 계정과 공유합니다. 트레이스는 각 소스 계정에서 최대 5개의 모니터링 계정으로 복사됩니다. 소스 계정에서 첫 번째 모니터링 계정으로의 트레이스 사본은 무료입니다. 추가 모니터링 계정으로 전송된 트레이스 사본은 표준 요금에 따라 각 소스 계정에 청구됩니다. 자세한 내용은 AWS X-Ray 요금 및 Amazon CloudWatch 가격을 참조하십시오.

    모니터링 계정과 소스 계정 간에 링크를 생성하려면 CloudWatch 콘솔 또는 AWS CLI 및 API의 새로운 Observability Access Manager 명령을 사용하십시오. 자세한 내용은 CloudWatch 계정 간 옵저버빌리티를 참조하십시오.

    참고

    X-Ray 트레이스는 수령한 AWS 계정 곳으로 요금이 청구됩니다. 샘플링된 요청이 둘 AWS 계정이상의 서비스에 걸쳐 있는 경우 각 계정은 별도의 트레이스를 기록하고 모든 트레이스는 동일한 트레이스 ID를 공유합니다. 교차 계정 옵저버빌리티 요금에 대한 자세한 내용은 요금 및 Amazon AWS X-Ray CloudWatch 요금을 참조하십시오.

    교차 계정 추적 보기

    교차 계정 추적은 모니터링 계정에 표시됩니다. 각 소스 계정에는 해당 특정 계정의 로컬 트레이스만 표시됩니다. 다음 섹션에서는 모니터링 계정에 로그인하고 Amazon CloudWatch 콘솔을 열었다고 가정합니다. 추적 맵과 추적 페이지 모두에서 오른쪽 상단에 모니터링 계정 배지가 표시됩니다.

    모니터링 계정 배지
    트레이스 맵

    CloudWatch 콘솔의 왼쪽 탐색 창의 X-Ray 트레이스에서 Trace Map을 선택합니다. 기본적으로 추적 맵에는 모니터링 계정으로 추적을 보내는 모든 소스 계정의 노드와 모니터링 계정 자체의 노드가 표시됩니다. 추적 맵의 왼쪽 상단에서 필터를 선택하여 계정 드롭다운을 사용하여 추적 맵을 필터링합니다. 계정 필터가 적용되면 현재 필터와 일치하지 않는 계정의 서비스 노드는 회색으로 표시됩니다.

    필터링된 트레이스 맵

    서비스 노드를 선택하면 노드 세부정보 창에 서비스의 계정 ID와 레이블이 포함됩니다.

    노드 세부 정보 창

    추적 맵의 오른쪽 상단에서 목록 보기를 선택하여 서비스 노드 목록을 확인합니다. 서비스 노드 목록에는 모니터링 계정 및 구성된 모든 소스 계정의 서비스가 포함됩니다. 노드 필터에서 선택하여 계정 레이블 또는 계정 ID를 기준으로 노드 목록을 필터링합니다.

    필터링된 서비스 목록
    트레이스

    모니터링 계정에서 CloudWatch 콘솔을 열고 왼쪽 탐색 창의 X-Ray 트레이스에서 트레이스를 선택하여 여러 계정에 걸친 트레이스의 트레이스 세부 정보를 확인합니다. X-Ray Trace Map에서 노드를 선택한 다음 노드 세부 정보 창에서 추적 보기를 선택하여 이 페이지를 열 수도 있습니다.

    Traces(추적) 페이지는 계정 ID로 쿼리를 지원합니다. 시작하려면 하나 이상의 계정 ID가 포함된 쿼리를 입력합니다. 쿼리에 대한 자세한 내용은 을 참조하십시오필터 표현식 사용. 다음 예시에서는 계정 ID X 또는 Y를 통과한 트레이스를 쿼리합니다.

    service(id(account.id:"X")) OR service(id(account.id:"Y"))
    계정별 쿼리 추적

    계정별로 쿼리를 구체화하세요. 목록에서 하나 이상의 계정을 선택하고 Add to query(쿼리에 추가)를 선택합니다.

    계정별로 추적 쿼리를 세분화하세요.
    트레이스 세부 정보

    트레이스 페이지 하단의 트레이스 목록에서 트레이스를 선택하여 트레이스의 세부 정보를 볼 수 있습니다. 트레이스가 통과한 모든 계정의 서비스 노드가 포함된 트레이스 세부 정보 맵을 포함한 트레이스 세부 정보가 표시됩니다. 특정 서비스 노드를 선택하면 해당 계정을 확인할 수 있습니다.

    세그먼트 타임라인 섹션에는 타임라인의 각 세그먼트에 대한 계정 세부 정보가 표시됩니다.

    세그먼트 타임라인

    AWS X-Ray Amazon SQS 및 를 사용하는 이벤트 기반 애플리케이션 추적을 지원합니다. AWS Lambda CloudWatch 콘솔을 사용하면 Amazon SQS로 대기하고 하나 이상의 Lambda 함수로 처리되는 각 요청의 연결된 보기를 볼 수 있습니다. 업스트림 메시지 생산자의 트레이스는 다운스트림 Lambda 소비자 노드의 트레이스에 자동으로 연결되어 애플리케이션 뷰를 생성합니다. end-to-end

    참고

    각 추적 세그먼트는 최대 20개의 추적에 연결할 수 있으며, 추적에는 최대 100개의 링크가 포함될 수 있습니다. 특정 시나리오에서 추가 추적을 연결하면 최대 추적 문서 크기를 초과하여 잠재적으로 불완전한 추적을 초래할 수 있습니다. 예를 들어 추적이 활성화된 Lambda 함수가 한 번의 간접 호출로 많은 SQS 메시지를 대기열에 전송하는 경우 이런 일이 발생할 수 있습니다. 이 문제가 발생하는 경우 X-Ray SDK를 사용하는 완화 방법을 사용할 수 있습니다. 자세한 내용은 자바, Node.js, Python, Go 또는 .NET용 X-Ray SDK를 참조하십시오.

    추적 맵에서 연결된 추적 보기

    CloudWatch콘솔 내의 Trace Map 페이지를 사용하여 Lambda 소비자의 트레이스에 연결된 메시지 생산자의 트레이스가 포함된 트레이스 맵을 볼 수 있습니다. 이러한 링크는 Amazon SQS 노드와 다운스트림 Lambda 소비자 노드를 연결하는 점선 엣지와 함께 표시됩니다.

    Amazon SQS와 Lambda 노드 사이의 엣지

    점선 엣지를 선택하면 수신된 이벤트 기간 히스토그램을 표시합니다. 이 히스토그램은 소비자가 수신한 이벤트 기간의 분포를 매핑합니다. 기간은 이벤트가 수신될 때마다 계산됩니다.

    수신된 이벤트 기간 히스토그램의 엣지.

    연결된 추적 세부 정보 보기

    메시지 생산자, Amazon SQS 대기열 또는 람다 소비자로부터 전송된 추적 세부 정보를 확인합니다:
    1. 추적 맵을 사용하여 메시지 생산자, Amazon SQS 또는 Lambda 소비자 노드를 선택합니다.

    2. 노드 세부 정보 창에서 추적 보기를 선택하여 추적 목록을 표시합니다. 콘솔 내에서 Traces 페이지로 직접 이동할 수도 있습니다. CloudWatch

    3. 목록에서 특정 추적을 선택하면 추적 세부정보 페이지가 열립니다. 선택한 추적이 연결된 추적 집합의 일부인 경우 추적 세부정보 페이지에 메시지가 표시됩니다.

      연결된 추적 세부 정보

    추적 세부 정보 맵에는 업스트림 및 다운스트림 연결 추적과 함께 현재 트레이스가 표시되며, 각 트레이스는 각 트레이스의 범위를 나타내는 상자 안에 들어 있습니다. 현재 선택된 트레이스가 여러 업스트림 또는 다운스트림 트레이스에 연결되어 있는 경우, 연결된 업스트림 또는 다운스트림 트레이스 내의 노드가 스택되고 트레이스 선택 버튼이 표시됩니다.

    여러 개의 연결된 업스트림 트레이스

    트레이스 세부 정보 맵 아래에는 업스트림 및 다운스트림 연결 트레이스를 포함한 트레이스 세그먼트의 타임라인이 표시됩니다. 업스트림 또는 다운스트림에 연결된 트레이스가 여러 개 있는 경우 해당 세그먼트 세부 정보를 표시할 수 없습니다. 연결된 트레이스 세트 내 단일 트레이스의 세그먼트 세부 정보를 보려면 다음 섹션에 설명된 대로 트레이스 하나를 선택하십시오.

    연결된 트레이스를 보여주는 세그먼트 타임라인

    연결된 트레이스 세트 내에서 단일 트레이스 선택하기

    연결된 트레이스 세트를 단일 트레이스에 필터링하여 타임라인에서 세그먼트 세부 정보를 확인할 수 있습니다.
    1. 트레이스 세부 정보 맵에서 연결된 트레이스 아래에 있는 트레이스 선택을 선택합니다. 추적 목록이 표시됩니다.

      연결된 추적 목록
    2. 트레이스 옆의 라디오 버튼을 선택하면 트레이스 세부 정보 맵 내에서 트레이스를 볼 수 있습니다.

    3. 연결된 트레이스의 전체 세트를 보려면 트레이스 선택 취소를 선택합니다.

      단일 연결 추적

    추적 맵에서 노드나 에지를 선택하면 X-Ray 콘솔에 지연 시간 분포 히스토그램이 표시됩니다.

    지연 시간

    지연 시간은 요청 시작에서 요청 완료까지의 시간입니다. 히스토그램은 지연 시간의 분포를 보여줍니다. x축에는 기간이 표시되고, y축에는 각 기간에 해당하는 요청의 비율이 표시됩니다.

    이 히스토그램은 300ms 미만에 요청이 대부분 완료되는 서비스를 보여줍니다. 소수의 요청이 최대 2초까지 걸리며, 몇몇 특이값은 이보다 오래 걸립니다.

    x축에 기간이 표시되고 y축에 각 기간에 해당하는 요청의 비율이 표시되는 지연 시간 히스토그램

    서비스 세부 정보 해석

    서비스 히스토그램과 에지 히스토그램은 서비스 또는 요청자의 관점에서 지연 시간을 시각적으로 표현합니다.

    • 원을 클릭하여 서비스 노드를 선택합니다. X-Ray는 서비스에서 처리한 요청에 대한 히스토그램을 보여줍니다. 지연 시간은 서비스에 의해 기록된 것이며 서비스와 요청자 간 네트워크 지연 시간은 포함하지 않습니다.

    • 두 서비스 간 가장자리의 선이나 화살표 끝을 클릭하여 엣지를 선택합니다. X-Ray는 다운스트림 서비스에서 처리한 요청자의 요청에 대한 히스토그램을 보여줍니다. 지연 시간은 요청자에 의해 기록된 것이며 두 서비스 간 네트워크 연결 지연 시간을 포함합니다.

    [Service details] 패널 히스토그램을 해석하려면 히스토그램에서 대부분의 값과 다른 값을 찾아야 합니다. 이러한 특이값은 히스토그램에서 피크 또는 스파이크로 보일 수 있으며, 현재 상황을 조사하기 위해 특정 영역의 트레이스를 볼 수 있습니다.

    지연 시간을 기준으로 필터링된 트레이스를 보려면 히스토그램에서 범위를 선택합니다. 선택을 시작하려는 지점을 클릭하고 왼쪽에서 오른쪽으로 끌어 트레이스 필터에 포함시킬 지연 시간 범위를 강조 표시합니다.

    시작하려는 지점을 클릭하고 왼쪽에서 오른쪽으로 끌어 트레이스 필터용 범위를 생성하여 트레이스를 볼 범위를 선택

    범위를 선택한 후 [Zoom]를 선택하여 히스토그램의 해당 부분만 보고 선택을 미세 조정할 수 있습니다.

    히스토그램에서 선택된 범위를 보려면 Zoom(확대/축소)을 선택

    보려는 영역에 초점을 맞췄으면 [View traces]를 선택합니다.

    AWS X-Ray 계정의 추적 데이터를 지속적으로 분석하여 애플리케이션에서 발생하는 긴급 문제를 식별합니다. 결함률이 예상 범위를 초과하면 문제를 기록하고 문제가 해결될 때까지 그 영향을 추적하는 인사이트를 생성합니다. Insights를 사용하면 다음을 수행할 수 있습니다.

    • 애플리케이션에서 문제가 발생하는 위치, 문제의 근본 원인 및 관련 영향을 파악합니다. Insights에서 제공하는 영향 분석을 통해 문제의 심각도와 우선순위를 도출할 수 있습니다.

    • 시간이 지남에 따라 문제가 변경될 때마다 알림을 받습니다. EventBridgeAmazon을 사용하여 Insights 알림을 모니터링 및 경고 솔루션과 통합할 수 있습니다. 이 통합 기능을 사용하면 문제의 심각도에 따라 자동화된 이메일 또는 알림을 보낼 수 있습니다.

    X-Ray 콘솔은 추적 맵에서 진행 중인 사고가 있는 노드를 식별합니다. 인사이트 요약을 보려면 해당 노드를 선택하십시오. 왼쪽 탐색 창에서 Insights를 선택하여 Insights를 보고 필터링할 수도 있습니다.

    인사이트 요약이 포함된 트레이스 맵 노드.

    X-Ray는 서비스 맵에서 하나 이상의 노드에서 이상을 감지할 때 인사이트를 제공합니다. 이 서비스는 통계적 모델링을 사용하여 애플리케이션에서 예상되는 서비스 장애율을 예측합니다. 위 예제에서 이상 현상은 의 결함 증가입니다. AWS Elastic Beanstalk Elastic Beanstalk 서버에서 여러 번의 API 직접 호출 시간 초과 현상이 발생하여 다운스트림 노드에 이상 징후가 발생했습니다.

    X-Ray 콘솔에서 인사이트 활성화

    인사이트 기능을 사용하려는 각 그룹에서 인사이트를 활성화해야 합니다. 그룹 페이지에서 인사이트를 활성화할 수 있습니다.

    1. X-Ray 콘솔을 엽니다.

    2. 기존 그룹을 선택하거나 그룹 생성을 선택하여 새 그룹을 만든 다음 인사이트 활성화를 선택합니다. X-Ray 콘솔에서 그룹을 구성하는 방법에 대한 자세한 내용은 그룹 구성를 참조하세요.

    3. 왼쪽의 탐색 창에서 인사이트를 선택한 다음 확인하려는 인사이트를 선택합니다.

      X-Ray 콘솔의 인사이트 목록
    참고

    X-Ray는 GetInsightSummaries GetInsight, GetInsightEvents, 및 GetInsightImpactGraph API 작업을 사용하여 인사이트로부터 데이터를 검색합니다. 통찰력을 보려면 AWSXrayReadOnlyAccess IAM 관리형 정책을 사용하거나 IAM 역할에 다음 사용자 지정 정책을 추가하십시오.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:GetInsightSummaries", "xray:GetInsight", "xray:GetInsightEvents", "xray:GetInsightImpactGraph" ], "Resource": [ "*" ] } ] }

    자세한 정보는 AWS X-Ray IAM과의 작동 방식을 참조하세요.

    인사이트 알림 활성화

    인사이트 알림을 사용하면 인사이트가 생성되거나, 크게 변경되거나, 종료된 시점과 같은 각 인사이트 이벤트에 대해 알림이 생성됩니다. 고객은 Amazon EventBridge 이벤트를 통해 이러한 알림을 수신하고 조건부 규칙을 사용하여 SNS 알림, Lambda 호출, SQS 대기열에 메시지 게시 또는 대상 지원 등의 조치를 취할 수 있습니다. EventBridge 인사이트 알림은 최선의 노력을 다해 발송되지만 반드시 발송된다는 보장은 없습니다. 대상에 대한 자세한 내용은 Amazon EventBridge 대상을 참조하십시오.

    그룹 페이지에서 인사이트가 활성화된 모든 그룹에 대해 인사이트 알림을 활성화할 수 있습니다.

    X-Ray 그룹에 대한 알림을 활성화하려면
    1. X-Ray 콘솔을 엽니다.

    2. 기존 그룹을 선택하거나 그룹 생성을 선택하여 새 그룹을 만든 다음 인사이트 활성화가 선택되어 있는지 확인한 다음, 알림 활성화를 선택합니다. X-Ray 콘솔에서 그룹을 구성하는 방법에 대한 자세한 내용은 그룹 구성를 참조하세요.

    Amazon EventBridge 조건부 규칙을 구성하려면
    1. Amazon EventBridge 콘솔을 엽니다.

    2. 왼쪽 탐색 표시줄의 규칙으로 이동하여 규칙 생성을 선택합니다.

    3. 규칙의 이름 및 설명을 입력합니다.

    4. 이벤트 패턴을 선택한 다음 사용자 지정 패턴을 선택합니다. "source": [ "aws.xray" ]"detail-type": [ "AWS X-Ray Insight Update" ]를 포함하는 패턴을 제공하십시오. 다음은 가능한 패턴의 몇 가지 예입니다.

      • X-Ray 인사이트에서 들어오는 모든 이벤트와 일치하는 이벤트 패턴:

        { "source": [ "aws.xray" ], "detail-type": [ "AWS X-Ray Insight Update" ] }
      • 지정된 statecategory와 일치하는 이벤트 패턴:

        { "source": [ "aws.xray" ], "detail-type": [ "AWS X-Ray Insight Update" ], "detail": { "State": [ "ACTIVE" ], "Category": [ "FAULT" ] } }
    5. 이벤트가 이 규칙과 일치할 때 간접 호출할 대상을 선택하고 구성합니다.

    6. (선택 사항) 이 규칙을 더 쉽게 식별하고 선택할 수 있도록 태그를 입력합니다.

    7. 생성을 선택합니다.

    참고

    X-Ray Insights 알림은 현재 고객 관리 키를 지원하지 않는 EventBridge Amazon으로 이벤트를 전송합니다. 자세한 정보는 AWS X-Ray의 데이터 보호을 참조하세요.

    인사이트 개요

    인사이트 개요 페이지에서는 세 가지 주요 질문에 대한 답변을 제시합니다:

    • 근본적인 문제는 무엇인가요?

    • 근본 원인은 무엇인가요?

    • 어떤 영향이 있나요?

    Anomalous Services 섹션에는 인시던트 중 결함률의 변화를 보여주는 각 서비스에 대한 타임라인이 표시됩니다. 타임라인에는 결함이 있는 추적의 개수와 기록된 트래픽 양에 따라 예상되는 결함 수를 나타내는 실선 밴드가 겹쳐져 표시됩니다. 인사이트 지속 시간은 인시던트 윈도우에 시각화되어 표시됩니다. 인시던트 윈도우는 X-Ray에서 지표가 비정상적으로 변하는 것을 관찰할 때 시작되며 인사이트가 활성화되어 있는 동안 지속됩니다.

    다음 예는 인시던트를 발생시킨 결함의 증가를 보여줍니다:

    X-Ray 인사이트 개요 페이지

    근본 원인 섹션에는 근본 원인 서비스 및 영향을 받는 경로에 초점을 맞춘 추적 맵이 표시됩니다. 근본 원인 맵의 오른쪽 상단에 있는 눈 아이콘을 선택하면 영향을 받지 않은 노드를 숨길 수 있습니다. 근본 원인 서비스는 X-Ray가 이상 징후를 식별한 가장 멀리 위치한 다운스트림 노드입니다. 이는 사용자가 계측한 서비스 또는 서비스가 계측된 클라이언트로 호출한 외부 서비스를 나타낼 수 있습니다. 예를 들어 AWS 계측된 SDK 클라이언트를 사용하여 Amazon DynamoDB를 호출하는 경우 DynamoDB의 장애가 증가하면 DynamoDB를 근본 원인으로 파악하게 됩니다.

    근본 원인을 자세히 조사하려면 근본 원인 그래프에서 근본 원인 세부 정보 보기를 선택하십시오. 분석 페이지를 사용하여 근본 원인 및 관련 메시지를 조사할 수 있습니다. 자세한 정보는 애널리틱스 콘솔과 상호 작용하세요.을 참조하세요.

    X-Ray 인사이트 개요 페이지

    맵의 업스트림에서 계속해서 발생하는 오류는 여러 노드에 영향을 미치고 여러 이상 징후를 유발할 수 있습니다. 오류가 요청을 한 사용자에게까지 전달되면클라이언트 오류가 발생하게 됩니다. 이는 추적 맵의 루트 노드에 발생한 결함입니다. 영향 그래프는 전체 그룹에 대한 클라이언트 경험의 타임라인을 제공합니다. 이 경험은 장애, 오류, 스로틀, 정상 상태의 백분율을 기반으로 계산됩니다.

    X-Ray 인시던트에 대한 영향 그래프.

    이 예는 인시던트 발생 시간 동안 루트 노드에서 결함이 발생하여 트레이스가 증가한 것을 보여줍니다. 다운스트림 서비스의 인시던트가 항상 클라이언트 오류의 증가와 일치하는 것은 아닙니다.

    인사이트 분석을 선택하면 인사이트의 원인이 되는 일련의 트레이스에 대해 자세히 살펴볼 수 있는 X-Ray 분석 콘솔이 창에 열립니다. 자세한 정보는 애널리틱스 콘솔과 상호 작용하세요.을 참조하세요.

    영향력 이해하기

    AWS X-Ray 인사이트 및 알림 생성의 일환으로 진행 중인 문제로 인한 영향을 측정합니다. 영향력은 두 가지 방법으로 측정됩니다:

    • X-Ray 그룹에 미치는 영향. 자세한 내용은 그룹 구성을 참조하십시오.

    • 근본 원인 서비스에 미치는 영향

    이 영향력은 지정된 기간 내에 실패하거나 오류를 일으키는 요청의 비율에 따라 결정됩니다. 이 영향력 분석을 통해 특정 시나리오를 기반으로 문제의 심각도와 우선 순위를 도출할 수 있습니다. 이 영향력은 인사이트 알림 외에도 콘솔 환경의 일부로 제공됩니다.

    중복 제거

    AWS X-Ray 인사이트는 여러 마이크로서비스 전반의 중복 문제를 제거합니다. 이상 징후 탐색을 사용하여 문제의 근본 원인이 되는 서비스를 파악하고, 동일한 근본 원인으로 인해 다른 관련 서비스에서 이상 행동을 보이는지 확인하고, 그 결과를 하나의 인사이트로 기록합니다.

    인사이트 진행 상황 검토

    X-Ray는 인사이트가 해결될 때까지 주기적으로 재평가하고, 각 주목할 만한 중간 변경 사항을 알림으로 기록하여 Amazon 이벤트로 전송할 수 있습니다. EventBridge 이를 통해 프로세스와 워크플로를 구축하여 시간이 지남에 따라 문제가 어떻게 변했는지 파악하고 이메일을 보내거나 를 사용하여 경고 시스템과 통합하는 등의 적절한 조치를 취할 수 있습니다. EventBridge

    검사 페이지의 영향 타임라인에서 인시던트 이벤트를 검토할 수 있습니다. 다른 서비스를 선택할 때까지 타임라인에는 기본값으로 가장 영향을 많이 받는 서비스가 표시됩니다.

    영향력 타임라인이 있는 페이지를 살펴보세요.

    이벤트에 대한 추적 맵과 그래프를 보려면 영향 타임라인에서 이벤트를 선택하십시오. 트레이스 맵은 인시던트의 영향을 받는 애플리케이션 내 서비스를 보여줍니다. 영향 분석은 선택한 노드와 그룹 내 클라이언트의 장애 타임라인을 그래프로 표시합니다.

    X-Ray 인사이트에 대한 영향 분석 그래프.

    인시던트와 관련된 트레이스를 더 자세히 살펴보려면 검사 페이지에서 이벤트 분석을 선택하십시오. 분석 페이지를 사용하여 추적 목록을 세분화하고 영향을 받는 사용자를 식별할 수 있습니다. 자세한 정보는 애널리틱스 콘솔과 상호 작용하세요.을 참조하세요.

    AWS X-Ray Analytics 콘솔은 추적 데이터를 해석하여 애플리케이션과 기본 서비스가 어떻게 작동하는지 빠르게 이해할 수 있는 대화형 도구입니다. 콘솔에서는 대화형 응답 시간 및 시계열 그래프를 통해 트레이스를 탐색, 분석 및 시각화할 수 있습니다.

    분석 콘솔에서 선택하면 콘솔이 선택한 트레이스의 하위 집합까지 반영하여 필터를 생성합니다. 현재 트레이스 집합과 연결된 지표 및 필드의 그래프와 패널을 클릭하면 더욱 세부적인 필터로 활성 데이터 세트를 구체화할 수 있습니다.

    X-Ray 분석 콘솔은 다음과 같이 트레이스 데이터의 그룹화, 필터링, 비교 및 정량화 같은 주요 기능을 사용합니다.

    특성
    기능 설명

    그룹

    처음에 선택되는 그룹은 Default입니다. 검색된 그룹을 변경하려면 메인 필터 표현식 검색 창 오른쪽에 있는 메뉴에서 다른 그룹을 선택하십시오. 그룹에 대해 자세히 알아보려면 그룹 구성을 참조하십시오.

    Retrieved traces(검색된 트레이스)

    기본적으로 분석 콘솔은 선택된 그룹 내 모든 트레이스를 기준으로 그래프를 생성합니다. 검색된 트레이스란 유효 집합에 속한 모든 트레이스를 의미합니다. 트레이스 수는 현재 타일에서 찾을 수 있습니다. 메인 검색창에 적용하는 필터 표현식이 검색된 트레이스를 구체화하여 업데이트합니다.

    Show in charts/Hide from charts(차트에 표시/차트에서 숨기기)

    활성 그룹을 검색된 트레이스와 비교할 수 있는 토글입니다. 그룹 관련 데이터를 활성 필터와 비교하려면 Show in charts(차트에 표시)를 선택합니다. 현재 뷰를 차트에서 제거하려면 Hide from charts(차트에서 숨기기)를 선택합니다.

    Filtered trace set A(필터링된 트레이스 집합 A)

    그래프 및 표와의 상호 작용을 통해 필터를 적용하여 필터링된 추적 세트 A의 기준을 생성합니다. 필터가 적용되면 이 타일 내에서 적용 가능한 추적의 수와 검색된 전체에서 차지하는 추적의 비율이 계산됩니다. 필터가 Filtered trace set A(필터링된 추적 집합 A) 타일 내에서 태그로 채워지며, 타일에서 필터를 제거할 수도 있습니다.

    Refine(구체화)

    이 기능은 검색된 추적 집합을 추적 집합 A에 적용되는 필터를 기준으로 업데이트합니다. 검색된 추적 집합을 구체화하면 추적 집합 A의 필터를 기준으로 검색된 모든 추적의 유효 집합이 새로 고쳐집니다. 검색된 추적의 유효 집합이란 그룹에 속한 모든 추적의 하위 집합 샘플을 말합니다.

    Filtered trace set B(필터링된 트레이스 집합 B)

    필터링된 추적 세트 B가 생성되면 필터링된 추적 세트 A의 복사본이 됩니다. 두 추적 세트를 비교하려면 추적 세트 A는 고정된 상태로 유지하면서 추적 세트 B에 적용할 새 필터를 선택합니다. 필터가 적용되면 사용 가능한 트레이스 수와 검색된 트레이스의 전체 대비 비율이 현재 타일 내에서 계산됩니다. 필터가 Filtered trace set B(필터링된 추적 집합 B) 타일 내에서 태그로 채워지며, 타일에서 필터를 제거할 수도 있습니다.

    Response Time Root Cause Entity Paths(응답 시간 근본 원인 개체 경로)

    기록된 개체 경로의 테이블입니다. X-Ray는 트레이스에서 응답 시간 원인으로 가장 가능성이 높은 경로가 무엇인지 결정합니다. 포맷은 발생하는 개체 계층 구조를 나타내며, 응답 시간 근본 원인으로 끝납니다. 이러한 계층 구조의 행을 사용해 반복되는 응답 시간 결함을 필터링합니다. 근본 원인 필터를 사용자 지정하고 API를 통해 데이터를 가져오는 방법에 대한 자세한 내용은 의 근본 원인 분석 검색 및 구체화 섹션을 참조하십시오. X-Ray에서 데이터 가져오기

    델타()

    추적 집합 A와 추적 집합 B가 모두 활성 상태일 때 지표 테이블에 추가되는 열입니다. 델타 열은 추적 집합 A와 추적 집합 B의 추적 비율 차이를 계산합니다.

    분석 콘솔은 기본적으로 두 가지 그래프인 Response Time Distribution(응답 시간 분포)Time Series Activity(시계열 활동)을 생성하여 트레이스를 시각화합니다. 이번 섹션과 다음 섹션에서는 각 그래프의 예를 살펴보고 그래프를 읽는 기본적인 방법에 대해서 살펴보겠습니다.

    다음은 응답 시간 선 그래프와 연결되는 색상을 나타낸 것입니다(시계열 그래프는 동일한 색상 체계를 사용함).

    • All traces in the group(그룹 내 모든 트레이스 – 회색

    • Retrieved traces(검색된 트레이스) – 주황색

    • Filtered trace set A(필터링된 트레이스 집합 A) – 녹색

    • Filtered trace set B(필터링된 트레이스 집합 B) – 파란색

    예 – 응답 시간 분포

    응답 시간 분포란 임의 응답 시간을 갖는 트레이스 수를 나타낸 차트를 말합니다. 응답 시간 분포 내에서 선택하려면 클릭하여 끌어오면 됩니다. 그러면 특정 응답 시간에 속하는 모든 트레이스를 대상으로 responseTime이라고 하는 유효 트레이스 집합에 필터가 선택 및 생성됩니다.

    트레이스의 응답 시간 분포를 보여주는 차트입니다.

    시계열 활동 차트에는 특정 시간의 범위에 속하는 트레이스 수가 표시됩니다. 색상 표시기에는 응답 시간 분포의 선 그래프 색상이 그대로 반영됩니다. 연속된 활동 내에서 색상 블록이 더욱 어둡고 진할수록 해당 시간에 트레이스가 더욱 많다는 것을 의미합니다.

    예 – 시계열 활동

    시계열 활동 그래프 내에서 선택하려면 클릭하고 드래그하면 됩니다. 그러면 특정 시간 범위에 속하는 모든 트레이스를 대상으로 유효 트레이스 집합에 timerange이라고 하는 필터가 선택 및 생성됩니다.

    필터 선택 및 생성

    다음은 X-Ray 분석 콘솔의 공통 사용 사례를 나타낸 예시입니다. 각 예시는 콘솔 환경의 주요 기능을 설명하고 있습니다. 또한 그룹으로서 기본적인 문제 해결 워크플로우를 따릅니다. 이 단계에서는 비정상 노드를 먼저 찾아낸 다음 Analytics 콘솔과 상호 작용하여 비교 쿼리를 자동으로 생성하는 방법을 안내합니다. 쿼리를 통해 범위를 좁혔으면 마지막으로 관심 있는 추적을 자세히 살펴보고 서비스 상태를 저하시키는 것이 무엇인지 파악합니다.

    추적 맵은 오류 및 장애에 대한 성공적인 호출의 비율을 기준으로 색상을 지정하여 각 노드의 상태를 나타냅니다. 노드에서 빨간색 비율은 결함을 의미합니다. 이때는 X-Ray 분석 콘솔을 사용해 조사하십시오.

    추적 맵을 읽는 방법에 대한 자세한 내용은 X-Ray 추적 맵 사용을 참조하십시오.

    결함 관찰

    응답 시간 분포를 사용해 응답 시간 피크를 관찰할 수 있습니다. 응답 시간 피크를 선택하면 그래프 아래 테이블이 업데이트되면서 상태 코드 등 연결된 지표가 모두 표시됩니다.

    클릭하고 끌면 X-Ray에서 필터를 선택하고 생성합니다. 그래프의 선 위에 회색 그림자로 표시됩니다. 이제 해당 그림자를 분포 그래프를 따라 왼쪽 또는 오른쪽으로 끌어서 선택 항목과 필터를 업데이트할 수 있습니다.

    필터 선택 및 생성

    그래프 아래 지표 테이블을 사용해 선택한 피크 범위에 속하는 트레이스를 자세하게 살펴볼 수 있습니다. HTTP STATUS CODE 테이블에서 행을 클릭하면 유효한 데이터 세트에 필터가 자동으로 생성됩니다. 예를 들어 상태 코드가 500인 트레이스를 모두 볼 수 있습니다. 동시에 트레이스 집합 타일에 http.status라는 이름으로 필터 태그가 생성됩니다.

    사용자, URL, 응답 시간 근본 원인 또는 기타 사전 설정된 속성을 기준으로 오류 집합을 자세하게 살펴봅니다. 예를 들어 상태 코드가 500인 트레이스 집합을 추가로 필터링한다고 가정할 경우, 먼저 USERS 테이블에서 행을 선택합니다. 그러면 트레이스 집합 타일에 앞서 지정했던 http.statususer까지 필터 태그 2개가 생성됩니다.

    다양한 사용자와 사용자의 POST 요청을 비교하여 불일치 및 상관관계를 찾습니다. 첫 번째 필터 집합을 적용합니다. 이 집합은 응답 시간 분포 그래프에서 파란색 선으로 정의됩니다. 그런 다음 비교를 선택합니다. 그러면 처음에는 트레이스 집합 A에 필터 복사본이 생성됩니다.

    계속 하려면 트레이스 집합 B에 적용할 필터 집합을 새로 정의합니다. 두 번째 집합은 녹색 선으로 표시됩니다. 아래 예에서는 파란색 및 녹색 체계에 따라 다른 선으로 표시되어 있습니다.

    선 그래프 비교

    콘솔 필터를 사용해 범위를 좁히면 지표 테이블 아래 트레이스 목록이 더 의미있게 바뀝니다. 추적 목록 테이블은 URL, USERSTATUS CODE에 대한 정보를 결합하여 단일 뷰로 표시합니다. 더 많은 세부 정보를 원한다면 테이블에서 행을 선택하여 트레이스 세부 정보 페이지를 열고 타임라인과 원시 데이터를 확인합니다.

    그룹은 필터 표현식으로 정의한 추적 모음입니다. 그룹을 사용하여 추가 서비스 그래프를 생성하고 Amazon CloudWatch 지표를 제공할 수 있습니다. AWS X-Ray 콘솔 또는 X-Ray API를 사용하여 서비스에 대한 그룹을 만들고 관리할 수 있습니다. 이 항목에서는 X-Ray 콘솔을 사용하여 그룹을 만들고 관리하는 방법에 대해 설명합니다. X-Ray API를 사용하여 그룹을 관리하는 방법에 대한 자세한 내용은 X-Ray API를 사용하여 샘플링, 그룹 및 암호화 설정 구성을 참조하십시오.

    트레이스 맵, 트레이스 또는 분석을 위한 트레이스 그룹을 생성할 수 있습니다. 그룹을 생성하면 트레이스 맵, 트레이스, 애널리틱스의 세 페이지 모두에 있는 그룹 드롭다운 메뉴에서 해당 그룹을 필터로 사용할 수 있습니다.

    그룹 메뉴

    그룹은 이름 또는 Amazon 리소스 이름(ARN)으로 식별되며 필터 표현식을 포함합니다. 이 서비스는 수신 트레이스를 표현식과 비교하여 그에 따라 저장합니다. 필터 표현식을 작성하는 방법에 대한 자세한 내용은 필터 표현식 사용을 참조하십시오.

    그룹의 필터 표현식을 업데이트해도 이미 기록한 데이터는 변경되지 않습니다. 업데이트는 후속 추적에만 적용됩니다. 이렇게 하면 새 표현식과 이전 표현식의 그래프를 병합할 수 있습니다. 이를 방지하려면 현재 그룹을 삭제하고 새로 만드십시오.

    참고

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

    그룹 생성

    참고

    이제 Amazon CloudWatch 콘솔 내에서 X-Ray 그룹을 구성할 수 있습니다. X-Ray 콘솔을 계속 사용할 수도 있습니다.

    CloudWatch console
    1. https://console.aws.amazon.com/cloudwatch/ 에서 AWS Management Console 로그인하고 CloudWatch 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 설정을 선택합니다.

    3. X-Ray 추적 섹션의 그룹에서 설정 보기를 선택합니다.

    4. 그룹 목록 위에 있는 그룹 만들기를 선택합니다.

    5. Create group(그룹 생성) 페이지에서 그룹의 이름을 입력합니다. 그룹 이름은 최대 32자여야 하며 영숫자와 대시를 포함할 수 있습니다. 그룹 이름은 대/소문자를 구분합니다.

    6. 필터 표현식을 입력하세요. 필터 표현식을 작성하는 방법에 대한 자세한 내용은 필터 표현식 사용을 참조하십시오. 다음 예제에서 그룹은 서비스의 api.example.com에서 오류 추적과 응답 시간이 5초 이상인 서비스에 대한 요청을 필터링합니다.

      fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
    7. Insights(인사이트)에서 그룹에 대한 인사이트 액세스를 활성화하거나 비활성화합니다. Insights(인사이트)에 대한 자세한 내용은 X-Ray 인사이트 사용 단원을 참조하십시오.

      그룹 페이지의 인사이트 확인란
    8. 태그에서 새 태그 추가를 선택하여 태그 키를 입력하고 선택적으로 태그 값을 입력합니다. 원하는 대로 태그를 계속 추가합니다. 각 태그 키는 고유해야 합니다. 태그를 삭제하려면 Remove(제거)를 선택합니다. 태그에 대한 자세한 내용은 X-Ray 샘플링 규칙 및 그룹 태그 지정하기 단원을 참조하세요.

      그룹 페이지의 태그 필드
    9. 그룹 생성을 선택합니다.

    X-Ray console
    1. https://console.aws.amazon.com/xray/home 에서 AWS Management Console 로그인하고 X-Ray 콘솔을 엽니다.

    2. 왼쪽 탐색 창의 그룹 페이지 또는 추적 맵, 추적분석 페이지 중 하나의 그룹 메뉴에서 그룹 생성 페이지를 엽니다.

    3. Create group(그룹 생성) 페이지에서 그룹의 이름을 입력합니다. 그룹 이름은 최대 32자여야 하며 영숫자와 대시를 포함할 수 있습니다. 그룹 이름은 대/소문자를 구분합니다.

    4. 필터 표현식을 입력하세요. 필터 표현식을 작성하는 방법에 대한 자세한 내용은 필터 표현식 사용을 참조하십시오. 다음 예제에서 그룹은 서비스의 api.example.com에서 오류 추적과 응답 시간이 5초 이상인 서비스에 대한 요청을 필터링합니다.

      fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
    5. Insights(인사이트)에서 그룹에 대한 인사이트 액세스를 활성화하거나 비활성화합니다. Insights(인사이트)에 대한 자세한 내용은 X-Ray 인사이트 사용 단원을 참조하십시오.

      그룹 페이지의 인사이트 확인란
    6. 태그에서 태그 키와 태그 값(선택 사항)을 입력합니다. 태그를 추가하면 다른 태그를 입력할 수 있는 새 줄이 나타납니다. 각 태그 키는 고유해야 합니다. 태그를 삭제하려면 태그 행 끝에 있는 X를 선택합니다. 태그에 대한 자세한 내용은 X-Ray 샘플링 규칙 및 그룹 태그 지정하기 단원을 참조하세요.

      그룹 페이지의 태그 필드
    7. 그룹 생성을 선택합니다.

    그룹 적용

    CloudWatch console
    1. AWS Management Console 로그인하고 https://console.aws.amazon.com/cloudwatch/ 에서 CloudWatch 콘솔을 엽니다.

    2. 탐색 창의 X-Ray traces에서 다음 페이지 중 하나를 엽니다.

      • 트레이스 맵

      • 트레이스

    3. X-Ray 그룹으로 필터링 필터에 그룹 이름을 입력합니다. 페이지에 표시되는 데이터는 그룹에 설정된 필터 표현식과 일치하도록 변경됩니다.

    X-Ray console
    1. https://console.aws.amazon.com/xray/home 에서 AWS Management Console 로그인하고 X-Ray 콘솔을 엽니다.

    2. 탐색 창에서 다음 페이지 중 하나를 엽니다:

      • 트레이스 맵

      • 트레이스

      • 분석

    3. 그룹 메뉴에서 그룹 생성에서 생성한 그룹을 선택합니다. 페이지에 표시되는 데이터는 그룹에 설정된 필터 표현식과 일치하도록 변경됩니다.

    그룹 편집

    CloudWatch console
    1. 에 AWS Management Console 로그인하고 https://console.aws.amazon.com/cloudwatch/ 에서 CloudWatch 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 설정을 선택합니다.

    3. X-Ray 추적 섹션의 그룹에서 설정 보기를 선택합니다.

    4. 그룹 섹션에서 그룹을 선택한 다음 편집을 선택합니다.

    5. 그룹 이름을 바꿀 수는 없지만 필터 표현식은 업데이트할 수 있습니다. 필터 표현식을 작성하는 방법에 대한 자세한 내용은 필터 표현식 사용을 참조하십시오. 다음 예제에서 그룹은 요청 URL 주소에 example/game가 포함되어 있고 요청에 대한 응답 시간이 5초 이상인 api.example.com 서비스에서 오류 추적을 필터링합니다.

      fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
    6. Insights(인사이트)에서 그룹에 대한 인사이트 액세스를 활성화하거나 비활성화합니다. Insights(인사이트)에 대한 자세한 내용은 X-Ray 인사이트 사용 단원을 참조하십시오.

      그룹 페이지의 인사이트 확인란
    7. 태그에서 새 태그 추가를 선택하여 태그 키를 입력하고 선택적으로 태그 값을 입력합니다. 원하는 대로 태그를 계속 추가합니다. 각 태그 키는 고유해야 합니다. 태그를 삭제하려면 Remove(제거)를 선택합니다. 태그에 대한 자세한 내용은 X-Ray 샘플링 규칙 및 그룹 태그 지정하기 단원을 참조하세요.

      그룹 페이지의 태그 필드
    8. 그룹 업데이트를 마치면 그룹 업데이트를 선택합니다.

    X-Ray console
    1. https://console.aws.amazon.com/xray/home 에서 AWS Management Console 로그인하고 X-Ray 콘솔을 엽니다.

    2. 다음 중 하나를 수행하여 그룹 편집 페이지를 엽니다.

      1. 그룹 페이지에서 편집할 그룹 이름을 선택합니다.

      2. 다음 페이지 중 하나의 그룹 메뉴에서 그룹을 가리킨 다음 편집을 선택합니다.

        • 트레이스 맵

        • 트레이스

        • 분석

    3. 그룹 이름을 바꿀 수는 없지만 필터 표현식은 업데이트할 수 있습니다. 필터 표현식을 작성하는 방법에 대한 자세한 내용은 필터 표현식 사용을 참조하십시오. 다음 예제에서 그룹은 요청 URL 주소에 example/game가 포함되어 있고 요청에 대한 응답 시간이 5초 이상인 api.example.com 서비스에서 오류 추적을 필터링합니다.

      fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
    4. Insights(인사이트)에서 그룹에 대한 통찰력 및 통찰력 알림을 활성화하거나 비활성화합니다. Insights(인사이트)에 대한 자세한 내용은 X-Ray 인사이트 사용 단원을 참조하십시오.

      그룹 페이지의 인사이트 확인란
    5. 태그에서 태그 키 및 값을 편집합니다. 각 태그 키는 고유해야 합니다. 태그 값은 선택 사항이며 원하는 경우 값을 삭제할 수 있습니다. 태그를 삭제하려면 태그 행 끝에 있는 X를 선택합니다. 태그에 대한 자세한 내용은 X-Ray 샘플링 규칙 및 그룹 태그 지정하기 단원을 참조하세요.

      그룹 페이지의 태그 필드
    6. 그룹 업데이트를 마치면 그룹 업데이트를 선택합니다.

    그룹 복제

    그룹을 복제하면 기존 그룹의 필터 표현식과 태그가 포함된 새 그룹이 생성됩니다. 그룹을 복제하면 새 그룹은 해당 그룹이 복제된 그룹과 이름이 같으며 이름 뒤에 -clone이 추가됩니다.

    CloudWatch console
    1. 에 AWS Management Console 로그인하고 https://console.aws.amazon.com/cloudwatch/ 에서 CloudWatch 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 설정을 선택합니다.

    3. X-Ray 추적 섹션의 그룹에서 설정 보기를 선택합니다.

    4. 그룹 섹션에서 그룹을 선택한 다음 복제을 선택합니다.

    5. 그룹 생성 페이지에서 그룹 이름은 그룹이름-clone입니다. 그룹의 새 이름을 입력합니다(선택 사항). 그룹 이름은 최대 32자여야 하며 영숫자와 대시를 포함할 수 있습니다. 그룹 이름은 대/소문자를 구분합니다.

    6. 기존 그룹의 필터 표현식을 그대로 유지하거나 선택적으로 새 필터 표현식을 입력할 수 있습니다. 필터 표현식을 작성하는 방법에 대한 자세한 내용은 필터 표현식 사용을 참조하십시오. 다음 예제에서 그룹은 서비스의 api.example.com에서 오류 추적과 응답 시간이 5초 이상인 서비스에 대한 요청을 필터링합니다.

      service("api.example.com") { fault = true OR responsetime >= 5 }
    7. 필요한 경우 태그에서 태그 키 및 값을 편집합니다. 각 태그 키는 고유해야 합니다. 태그 값은 선택 사항이며 원하는 경우 값을 삭제할 수 있습니다. 태그를 삭제하려면 태그 행 끝에 있는 X를 선택합니다. 태그에 대한 자세한 내용은 X-Ray 샘플링 규칙 및 그룹 태그 지정하기 단원을 참조하세요.

    8. 그룹 생성을 선택합니다.

    X-Ray console
    1. https://console.aws.amazon.com/xray/home 에서 AWS Management Console 로그인하고 X-Ray 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 그룹 페이지를 열고 복제할 그룹 이름을 선택합니다.

    3. [작업(Actions)] 메뉴에서 [그룹 복제(Clone group)]를 선택합니다.

    4. 그룹 생성 페이지에서 그룹 이름은 그룹이름-clone입니다. 그룹의 새 이름을 입력합니다(선택 사항). 그룹 이름은 최대 32자여야 하며 영숫자와 대시를 포함할 수 있습니다. 그룹 이름은 대/소문자를 구분합니다.

    5. 기존 그룹의 필터 표현식을 그대로 유지하거나 선택적으로 새 필터 표현식을 입력할 수 있습니다. 필터 표현식을 작성하는 방법에 대한 자세한 내용은 필터 표현식 사용을 참조하십시오. 다음 예제에서 그룹은 서비스의 api.example.com에서 오류 추적과 응답 시간이 5초 이상인 서비스에 대한 요청을 필터링합니다.

      service("api.example.com") { fault = true OR responsetime >= 5 }
    6. 필요한 경우 태그에서 태그 키 및 값을 편집합니다. 각 태그 키는 고유해야 합니다. 태그 값은 선택 사항이며 원하는 경우 값을 삭제할 수 있습니다. 태그를 삭제하려면 태그 행 끝에 있는 X를 선택합니다. 태그에 대한 자세한 내용은 X-Ray 샘플링 규칙 및 그룹 태그 지정하기 단원을 참조하세요.

    7. 그룹 생성을 선택합니다.

    그룹 삭제

    이 섹션의 단계를 따르면 그룹을 삭제할 수 있습니다. 기본 그룹은 삭제할 수 없습니다.

    CloudWatch console
    1. https://console.aws.amazon.com/cloudwatch/ 에서 AWS Management Console 로그인하고 CloudWatch 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 설정을 선택합니다.

    3. X-Ray 추적 섹션의 그룹에서 설정 보기를 선택합니다.

    4. 그룹 섹션에서 그룹을 선택한 다음 삭제를 선택합니다.

    5. 확인 메시지가 표시되면 삭제를 선택합니다.

    X-Ray console
    1. https://console.aws.amazon.com/xray/home 에서 AWS Management Console 로그인하고 X-Ray 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 그룹 페이지를 열고 삭제할 그룹 이름을 선택합니다.

    3. 작업 메뉴에서 그룹 삭제를 선택합니다.

    4. 확인 메시지가 표시되면 삭제를 선택합니다.

    Amazon에서 그룹 지표 보기 CloudWatch

    그룹이 생성된 후 수신 추적은 X-Ray 서비스에 저장될 때 그룹의 필터 표현식에 대해 확인됩니다. 각 기준과 일치하는 트레이스 수에 대한 지표는 CloudWatch 1분마다 Amazon에 게시됩니다. 그룹 편집 페이지에서 지표 보기를 선택하면 CloudWatch 콘솔에서 지표 페이지가 열립니다. CloudWatch 메트릭을 사용하는 방법에 대한 자세한 내용은 Amazon 사용 CloudWatch 설명서의 Amazon CloudWatch 메트릭스 사용을 참조하십시오.

    CloudWatch console
    1. AWS Management Console 로그인하고 https://console.aws.amazon.com/cloudwatch/ 에서 CloudWatch 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 설정을 선택합니다.

    3. X-Ray 추적 섹션의 그룹에서 설정 보기를 선택합니다.

    4. 그룹 섹션에서 그룹을 선택한 다음 편집을 선택합니다.

    5. 그룹 편집 페이지에서 지표 보기을 선택합니다.

      CloudWatch 콘솔 메트릭 페이지가 새 탭에 열립니다.

    X-Ray console
    1. https://console.aws.amazon.com/xray/home 에서 AWS Management Console 로그인하고 X-Ray 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 그룹 페이지를 열고 지표를 보려는 그룹의 이름을 선택합니다.

    3. 그룹 편집 페이지에서 지표 보기을 선택합니다.

      CloudWatch 콘솔 메트릭 페이지가 새 탭에 열립니다.

    AWS X-Ray 콘솔을 사용하여 서비스의 샘플링 규칙을 구성할 수 있습니다. 샘플링 구성을 통한 능동적 추적을 AWS 서비스 지원하는 X-Ray SDK는 샘플링 규칙을 사용하여 기록할 요청을 결정합니다.

    샘플링 규칙을 구성합니다.

    다음 사용 사례에 대한 샘플링을 구성할 수 있습니다.

    • API 게이트웨이 진입점 — API 게이트웨이는 샘플링 및 활성 추적을 지원합니다. API 단계에서 적극 추적을 활성화하려면 Amazon API Gateway 액티브 트레이싱 지원 대상 AWS X-Ray 단원을 참조하십시오.

    • AWS AppSync— 샘플링 및 활성 추적을 AWS AppSync 지원합니다. AWS AppSync 요청에 대한 활성 추적을 활성화하려면 AWS X-Ray를 사용한 추적을 참조하십시오.

    • 컴퓨팅 플랫폼 기반 인스트루먼트 X-Ray SDK — Amazon EC2, Amazon ECS AWS Elastic Beanstalk또는 같은 컴퓨팅 플랫폼을 사용하는 경우 애플리케이션이 최신 X-Ray SDK로 계측된 경우 샘플링이 지원됩니다.

    샘플링 규칙 사용자 정의

    샘플링 규칙을 사용자 지정하여 기록하는 데이터의 양을 제어할 수 있습니다. 코드를 수정하거나 다시 배포하지 않고도 샘플링 동작을 수정할 수도 있습니다. 샘플링 규칙은 X-Ray SDK에 기준 세트에 대해 얼마나 많은 요청을 기록할지 알려줍니다. 기본적으로 X-Ray SDK는 1초가 시작될 때 수신된 첫 번째 요청과 모든 추가 요청의 5% 를 기록합니다. 초당 하나의 요청은 리저버입니다. 이는 서비스가 요청을 처리 중인 동안 하나 이상의 트레이스가 매초 기록되도록 합니다. 5퍼센트는 리저버 크기를 넘는 추가 요청이 샘플링되는 비율입니다.

    코드에 포함시키는 JSON 문서에서 샘플링 규칙을 읽도록 X-Ray SDK를 구성할 수 있습니다. 그러나 여러 서비스 인스턴스를 실행할 때 각 인스턴스는 독립적으로 샘플링을 수행합니다. 이로 인해 샘플링되는 요청의 전체 백분율이 증가합니다. 모든 인스턴스의 리저버가 함께 효과적으로 추가되기 때문입니다. 또한 로컬 샘플링 규칙을 업데이트하려면 코드를 다시 배포해야 합니다.

    X-Ray 콘솔에서 샘플링 규칙을 정의하고 X-Ray 서비스에서 규칙을 읽도록 SDK를 구성하면 이러한 문제를 모두 피할 수 있습니다. 서비스는 각 규칙의 리저버를 관리하고, 서비스의 각 인스턴스에 할당량을 할당하여 실행 중인 인스턴스의 수에 따라 리저버를 고르게 배포합니다. 리저버 제한은 설정한 규칙에 따라 계산됩니다. 그리고 규칙이 서비스에 구성되어 있기 때문에 추가로 배포하지 않고도 규칙을 관리할 수 있습니다. AWS SDK에 대한 자세한 내용은 SDK 사용을 참조하십시오.

    참고

    X-Ray는 샘플링 규칙을 적용할 때 최선의 방법을 사용하며, 경우에 따라 유효 샘플링 속도가 구성된 샘플링 규칙과 정확히 일치하지 않을 수 있습니다. 하지만 시간이 지나면서 샘플링된 요청 수는 구성된 비율에 가까워야 합니다.

    이제 Amazon CloudWatch 콘솔 내에서 X-Ray 샘플링 규칙을 구성할 수 있습니다. X-Ray 콘솔을 계속 사용할 수도 있습니다.

    CloudWatch console
    CloudWatch 콘솔에서 샘플링 규칙을 구성하려면
    1. https://console.aws.amazon.com/cloudwatch/ 에서 AWS Management Console 로그인하고 CloudWatch 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 설정을 선택합니다.

    3. X-Ray 추적 섹션의 샘플링 규칙에서 설정 보기를 선택합니다.

    4. 샘플링 규칙 생성을 선택하여 규칙을 생성합니다.

      규칙을 편집하려면 규칙을 선택한 다음 편집을 선택하여 편집합니다.

      규칙을 삭제하려면 규칙을 선택하고 삭제 를 선택하여 삭제합니다.

    X-Ray console
    X-Ray 콘솔에서 샘플링 규칙을 구성하려면
    1. X-Ray 콘솔을 엽니다.

    2. 왼쪽 탐색 창에서 Sampling(샘플링)을 선택합니다.

    3. 샘플링 규칙 생성을 선택하여 규칙을 생성합니다.

      규칙 이름을 선택하여 규칙을 편집합니다.

      규칙을 선택하고 작업메뉴를 사용하여 규칙을 삭제합니다.

    샘플링 규칙 옵션

    다음과 같은 옵션을 각 규칙에 사용할 수 있습니다. 문자열 값은 와일드카드를 사용하여 단일 문자(?) 또는 0개 이상의 문자(*)와 일치시킬 수 있습니다.

    샘플링 규칙 옵션
    • 규칙 이름(문자열) - 규칙의 고유한 이름입니다.

    • 우선 순위(1~9999 사이의 정수) - 샘플링 규칙의 우선 순위입니다. 서비스에서 규칙의 우선 순위를 오름차순으로 평가하며 일치하는 첫 번째 규칙으로 샘플링을 결정합니다.

    • 리저버 (음수가 아닌 정수) – 고정 비율을 적용하기 전의 초당 구성과 일치하는 요청의 일정한 수. 리저버는 서비스에서 직접 사용하지 않지만 규칙을 총체적으로 사용하여 모든 서비스에 적용됩니다.

    • 속도(0~100 사이의 정수) - 리저버가 소진된 후, 계측과 일치하는 요청의 백분율입니다. 콘솔에서 샘플링 규칙을 구성할 때 0에서 100 사이의 백분율을 선택합니다. JSON 문서를 사용하여 클라이언트 SDK에서 샘플링 규칙을 구성할 때는 0에서 1 사이의 백분율 값을 입력합니다.

    • 서비스 이름 (문자열) - 추적 맵에 나타나는 계측 서비스의 이름입니다.

      • X-Ray SDK – 레코더에서 구성한 서비스 이름.

      • Amazon API Gateway – api-name/stage.

    • 서비스 유형 (문자열) - 추적 맵에 나타나는 서비스 유형입니다. X-Ray SDK의 경우 적절한 플러그인을 적용하여 서비스 유형을 설정합니다.

      • AWS::ElasticBeanstalk::Environment— AWS Elastic Beanstalk 환경 (플러그인).

      • AWS::EC2::Instance – Amazon EC2 인스턴스 (플러그인).

      • AWS::ECS::Container – 아마존 ECS 컨테이너 (플러그인).

      • AWS::APIGateway::Stage – Amazon API Gateway 단계

      • AWS::AppSync::GraphQLAPI — AWS AppSync API 요청.

    • 호스트(문자열) - HTTP 호스트 헤더에 있는 호스트 이름.

    • HTTP 메서드(문자열) – HTTP 요청 메서드.

    • URL 경로(문자열) - 요청의 URL 경로.

      • X-Ray SDK – HTTP 요청 URL의 경로 부분.

    • 리소스 ARN (문자열) - 서비스를 실행하는 AWS 리소스의 ARN입니다.

      • X-Ray SDK – 지원되지 않습니다. SDK는 리소스 ARN*로 설정된 규칙만 사용할 수 있습니다.

      • Amazon API Gateway – 스테이지 ARN.

    • (선택 사항) 속성(키와 값) – 샘플링 결정을 내릴 때 알려진 세그먼트 속성.

      • X-Ray SDK – 지원되지 않습니다. SDK는 속성을 지정하는 규칙을 무시합니다.

      • Amazon API Gateway – 원본 HTTP 요청의 헤더.

    샘플링 규칙 예

    예 – 리저버가 없고 비율이 낮은 기본 규칙

    기본 규칙의 리저버와 비율을 수정할 수 있습니다. 기본 규칙은 다른 규칙과 일치하지 않는 요청에 적용됩니다.

    • 리저버: 0

    • 속도: 5 (JSON 문서를 사용하여 구성한 경우 0.05)

    예 – 문제가 있는 경로에 대한 모든 요청을 추적하는 디버깅 규칙

    디버깅을 위해 우선 순위가 높은 규칙이 일시적으로 적용되었습니다.

    • 규칙 이름: DEBUG – history updates

    • 우선 순위: 1

    • 리저버: 1

    • 속도: 100 (JSON 문서를 사용하여 구성한 경우 1)

    • 서비스 이름: Scorekeep

    • 서비스 유형: *

    • 호스트: *

    • HTTP 메서드: PUT

    • URL 경로: /history/*

    • 리소스 ARN: *

    예 – POST에 대한 더 높은 최소 비율
    • 규칙 이름: POST minimum

    • 우선 순위: 100

    • 리저버: 10

    • 속도: 10 (JSON 문서를 사용하여 구성한 경우 .1)

    • 서비스 이름: *

    • 서비스 유형: *

    • 호스트: *

    • HTTP 메서드: POST

    • URL 경로: *

    • 리소스 ARN: *

    샘플링 규칙을 사용하도록 서비스를 구성합니다.

    콘솔에서 구성한 샘플링 규칙을 사용하려면 X-Ray SDK에 추가 구성이 필요합니다. 샘플링 전략 구성에 대한 자세한 내용은 해당 언어의 구성 주제를 참조하십시오.

    API 게이트웨이의 경우 Amazon API Gateway 액티브 트레이싱 지원 대상 AWS X-Ray 단원을 참조하십시오.

    샘플링 결과 보기

    X-Ray 콘솔 샘플링 페이지에는 서비스가 각 샘플링 규칙을 사용하는 방법에 대한 자세한 정보가 표시됩니다.

    Trend(추세) 열에는 규칙이 지난 몇 분간 사용된 방법이 표시됩니다. 각 열에는 10초 동안의 통계가 표시됩니다.

    샘플링 통계
    • 총 일치된 규칙: 이 규칙과 일치한 요청 수입니다. 이 수에는 이 규칙과 일치했을 수 있었지만 먼저 우선 순위가 더 높은 규칙과 일치한 요청은 포함되지 않습니다.

    • 총 샘플링 수: 기록된 요청 수입니다.

    • 고정 비율로 샘플링됨: 규칙의 고정 비율을 적용하여 샘플링된 요청 수입니다.

    • 리저버 한도로 샘플링됨: 가 할당한 할당량을 사용하여 샘플링된 요청 수입니다.

    • 리저버에서 빌림: 리저버에서 빌려 샘플링된 요청 수입니다. 서비스에서 요청을 규칙에 처음 일치시킬 때 X-Ray가 아직 할당량을 할당하지 않았습니다. 그러나 리저버가 1이상인 경우 X-Ray가 할당량을 할당할 때까지 서비스는 초당 트레이스 하나를 빌립니다.

    샘플링 통계와 서비스가 샘플링 규칙을 사용하는 방법에 대한 자세한 내용은 X-Ray API에 샘플링 규칙 사용 단원을 참조하십시오.

    다음 단계

    X-Ray API를 사용하여 샘플링 규칙을 관리할 수 있습니다. API를 사용하여 일정을 기반으로 또는 경보나 알림에 대한 응답으로 규칙을 프로그래밍 방식으로 생성하고 업데이트할 수 있습니다. 지침 및 추가 규칙 예제는 X-Ray API를 사용하여 샘플링, 그룹 및 암호화 설정 구성 단원을 참조하십시오.

    X-Ray SDK와 X-Ray API를 사용하여 샘플링 규칙을 읽고, 샘플링 결과를 보고하고, 샘플링 대상을 얻을 AWS 서비스 수도 있습니다. 서비스는 각 규칙을 적용하는 빈도를 추적하고, 우선 순위에 따라 규칙을 평가하며, 요청이 X-Ray가 아직 서비스에 할당량을 할당하지 않은 규칙과 일치하는 경우 리저버에서 빌려야 합니다. 서비스가 API를 샘플링에 사용하는 방법에 대한 자세한 내용은 을 참조하십시오X-Ray API에 샘플링 규칙 사용.

    X-Ray SDK가 샘플링 API를 호출할 때, X-Ray 대몬(daemon)을 프록시로 사용합니다. TCP 포트 2000을 이미 사용하는 경우, 다른 포트에서 프록시를 실행하도록 데몬을 구성할 수 있습니다. 세부 정보는 AWS X-Ray 데몬 설정하기를 참조하세요.

    경로와 쿼리를 사용하여 특정 트레이스에 딥링크하거나 트레이스 및 트레이스 맵의 필터링된 보기를 만들 수 있습니다.

    콘솔 페이지

    개별 트레이스의 타임라인, 원시 및 맵 보기에서 링크를 생성할 수 있습니다.

    트레이스 타임라인xray/home#/traces/trace-id

    원시 트레이스 데이터xray/home#/traces/trace-id/raw

    예 – 원시 트레이스 데이터
    https://console.aws.amazon.com/xray/home#/traces/1-57f5498f-d91047849216d0f2ea3b6442/raw

    필터링된 트레이스 목록으로 연결합니다.

    필터링된 트레이스 보기xray/home#/traces?filter=filter-expression

    예 – 필터 표현식
    https://console.aws.amazon.com/xray/home#/traces?filter=service("api.amazon.com") { fault = true OR responsetime > 2.5 } AND annotation.foo = "bar"
    예 – 필터 표현식(URL로 인코딩됨)
    https://console.aws.amazon.com/xray/home#/traces?filter=service(%22api.amazon.com%22)%20%7B%20fault%20%3D%20true%20OR%20responsetime%20%3E%202.5%20%7D%20AND%20annotation.foo%20%3D%20%22bar%22

    필터 표현식에 대한 자세한 내용은 필터 표현식 사용 단원을 참조하십시오.

    기간 또는 시작 및 종료 시간을 ISO8601 형식으로 지정합니다. 시간 범위는 UTC 기준이며 최대 6시간까지 가능합니다.

    기간xray/home#/page?timeRange=range-in-minutes

    예 — 지난 1시간 동안의 트레이스 맵
    https://console.aws.amazon.com/xray/home#/service-map?timeRange=PT1H

    시작 및 종료 시간xray/home#/page?timeRange=start~end

    예 – 초 단위 시간 범위
    https://console.aws.amazon.com/xray/home#/traces?timeRange=2023-7-01T16:00:00~2023-7-01T22:00:00
    예 – 분 단위 시간 범위
    https://console.aws.amazon.com/xray/home#/traces?timeRange=2023-7-01T16:00~2023-7-01T22:00

    해당 지역의 페이지로 AWS 리전 연결하려면 an을 지정합니다. 리전을 지정하지 않을 경우 콘솔이 마지막으로 방문한 리전으로 리디렉션됩니다.

    리전xray/home?region=region#/page

    예 — 미국 서부 (오레곤) 의 트레이스 맵 (us-west-2)
    https://console.aws.amazon.com/xray/home?region=us-west-2#/service-map

    쿼리 파라미터가 다른 리전을 포함시킬 경우 리전 쿼리가 해시 앞에 오고 X-Ray 고유 쿼리가 페이지 이름 뒤에 옵니다.

    예 — 미국 서부 (오레곤) 의 지난 시간 동안의 트레이스 맵 (us-west-2)
    https://console.aws.amazon.com/xray/home?region=us-west-2#/service-map?timeRange=PT1H
    예 – 최근 트레이스와 기간 필터
    https://console.aws.amazon.com/xray/home#/traces?timeRange=PT15M&filter=duration%20%3E%3D%205%20AND%20duration%20%3C%3D%208
    출력
    • 페이지 – 트레이스

    • 시간 범위 – 마지막 15분

    • 필터 – duration >= 5 AND duration <= 8