

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

# 콘솔 사용
<a name="aws-xray-interface-console"></a>

최소한의 코딩이 필요한 그래픽 사용자 인터페이스(GUI)를 원하는 경우 콘솔을 사용합니다. X-Ray를 처음 사용하는 사용자는 미리 빌드된 시각화를 사용하고 기본 작업을 수행하여 빠르게 시작할 수 있습니다. 콘솔에서 직접 다음을 수행할 수 있습니다.
+ X-Ray 활성화하기
+ 애플리케이션 성능에 대한 간략한 요약 확인
+ 애플리케이션 상태 확인
+ 상위 수준 오류 식별
+ 기본 트레이스 요약 확인

Amazon CloudWatch 콘솔([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) 또는 X-Ray 콘솔([https://console.aws.amazon.com/xray/home](https://console.aws.amazon.com/xray/home))을 사용하여 X-Ray와 상호 작용할 수 있습니다.

## Amazon CloudWatch 콘솔 사용
<a name="aws-xray-interface-console-cw"></a>

CloudWatch 콘솔에는 더 쉽게 사용할 수 있도록 X-Ray 콘솔에서 다시 설계된 새로운 X-Ray 기능이 포함되어 있습니다. CloudWatch 콘솔을 사용하는 경우 X-Ray 트레이스 데이터와 함께 CloudWatch 로그와 지표를 확인할 수 있습니다. CloudWatch 콘솔을 사용하여 다음을 포함한 데이터를 확인하고 분석할 수 있습니다.
+ X-Ray 트레이스 - 요청을 처리할 때 애플리케이션과 연관된 트레이스를 확인, 분석 및 필터링할 수 있습니다. 이러한 트레이스를 사용하여 지연 시간이 높은 항목을 찾고 오류를 디버깅하며 애플리케이션 워크플로를 최적화할 수 있습니다. 트레이스 맵과 서비스 맵을 확인하여 애플리케이션 워크플로를 시각적으로 확인할 수 있습니다.
+ 로그 - 애플리케이션에서 생성하는 로그를 확인, 분석 및 필터링할 수 있습니다. 로그를 사용하여 오류를 해결하고 특정 로그 값을 기반으로 모니터링을 설정할 수 있습니다.
+ 지표 - 리소스가 제공하는 지표를 사용하여 애플리케이션 성능을 측정 및 모니터링하거나 직접 지표를 생성할 수 있습니다. 이러한 지표는 그래프와 차트로 확인할 수 있습니다.
+ 네트워크 및 인프라 모니터링 - 주요 네트워크의 중단 여부와 컨테이너화된 애플리케이션, 기타 AWS 서비스 및 클라이언트를 포함한 인프라의 상태와 성능을 모니터링할 수 있습니다.
+ 다음 **X-Ray 콘솔 사용하기** 섹션에 나열된 X-Ray 콘솔의 모든 기능

CloudWatch 콘솔에 대한 자세한 내용은 [Amazon CloudWatch 시작하기](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/GettingStarted.html)를 참조하세요.

Amazon CloudWatch 콘솔([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/))에 로그인합니다.

## X-Ray 콘솔 사용하기
<a name="xray-console"></a>

X-Ray 콘솔은 애플리케이션 요청에 대한 분산 추적 기능을 제공합니다. 더 간단한 콘솔 환경을 원하거나 애플리케이션 코드를 업데이트하고 싶지 않은 경우 X-Ray 콘솔을 사용합니다. AWS는 더 이상 X-Ray 콘솔을 개발하지 않습니다. X-Ray 콘솔에는 계측 애플리케이션을 위한 다음과 같은 기능이 포함되어 있습니다.
+ [인사이트](xray-console-insights.md) - 애플리케이션 성능의 이상 징후를 자동으로 감지하고 근본적인 원인을 찾아냅니다. 인사이트는 CloudWatch 콘솔의 **인사이트** 아래에 포함되어 있습니다. 자세한 내용은 [X-Ray 콘솔 사용하기](#xray-console)에서 **X-Ray 인사이트 사용**을 참조하세요.
+ 서비스 맵 - 애플리케이션의 그래픽 구조와 클라이언트, 리소스, 서비스 및 종속성과의 연결을 볼 수 있습니다.
+ 트레이스 - 애플리케이션이 요청을 처리할 때 생성되는 트레이스의 개요를 확인할 수 있습니다. 트레이스 데이터를 사용하여 HTTP 응답 및 응답 시간을 비롯한 기본 지표에 대한 애플리케이션의 성능을 파악할 수 있습니다.
+ 분석 - 응답 시간 분포 그래프를 사용하여 트레이스 데이터를 해석, 탐색 및 분석할 수 있습니다.
+ 구성 - 사용자 지정 트레이스를 생성하여 다음에 대한 기본 구성을 변경할 수 있습니다.
  + 샘플링 - 애플리케이션에서 트레이스 정보를 샘플링하는 빈도를 정의하는 규칙을 생성합니다. 자세한 내용은 [X-Ray 콘솔 사용하기](#xray-console)에서 **샘플링 규칙 구성**을 참조하세요.
  + [암호화](xray-console-encryption.md) - AWS Key Management Service를 통해 감사하거나 비활성화할 수 있는 키를 사용하여 저장 데이터를 암호화합니다.
  + 그룹 - 필터 표현식을 사용하여 URL 이름이나 응답 시간과 같은 공통된 특성을 가진 트레이스 그룹을 정의할 수 있습니다. 자세한 내용은 [그룹 구성](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray-interface-console.html#xray-console-groups)을 참조하세요.

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

## X-Ray 콘솔 살펴보기
<a name="xray-console-explore"></a>

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

**참고**  
X-Ray 서비스 맵과 CloudWatch ServiceLens 맵은 Amazon CloudWatch 콘솔 내에서 X-Ray 트레이스 맵으로 통합되었습니다. [CloudWatch 콘솔](https://console.aws.amazon.com/cloudwatch/)을 열고 왼쪽 탐색 창의 **X-Ray 트레이스**에서 **트레이스 맵**을 선택합니다.  
 이제 CloudWatch에 애플리케이션 서비스, 클라이언트, Synthetics Canary 및 서비스 종속성을 검색하고 모니터링할 수 있는 [Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html)가 포함됩니다. Application Signals를 사용하여 서비스의 목록 또는 시각적 맵을 확인하고, 서비스 수준 목표(SLO)를 기준으로 상태 지표를 확인하고, 더 자세한 문제 해결을 위해 상관관계가 있는 X-Ray 트레이스를 드릴다운할 수 있습니다.

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

다음 단원에서 X-Ray의 콘솔 환경을 살펴보고 CloudWatch 콘솔과 비교해 보세요.

**Topics**
+ [Amazon CloudWatch 콘솔 사용](#aws-xray-interface-console-cw)
+ [X-Ray 콘솔 사용하기](#xray-console)
+ [X-Ray 콘솔 살펴보기](#xray-console-explore)
+ [X-Ray 트레이스 맵 사용](xray-console-servicemap.md)
+ [트레이스 및 트레이스 세부 정보 보기](xray-console-traces.md)
+ [필터 표현식 사용](xray-console-filters.md)
+ [교차 계정 추적](xray-console-crossaccount.md)
+ [이벤트 기반 애플리케이션 추적](xray-tracelinking.md)
+ [지연 시간 히스토그램 사용](xray-console-histograms.md)
+ [X-Ray 인사이트 사용](xray-console-insights.md)
+ [분석 콘솔과 상호 작용](xray-console-analytics.md)
+ [그룹 구성](xray-console-groups.md)
+ [샘플링 규칙 구성](xray-console-sampling.md)
+ [적응형 샘플링 구성](xray-adaptive-sampling.md)
+ [콘솔 심층 연결](xray-console-deeplinks.md)

# X-Ray 트레이스 맵 사용
<a name="xray-console-servicemap"></a>

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

**참고**  
 이제 CloudWatch에 애플리케이션 서비스, 클라이언트, Synthetics Canary 및 서비스 종속성을 검색하고 모니터링할 수 있는 [Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html)가 포함됩니다. Application Signals를 사용하여 서비스의 목록 또는 시각적 맵을 확인하고, 서비스 수준 목표(SLO)를 기준으로 상태 지표를 확인하고, 더 자세한 문제 해결을 위해 상관관계가 있는 X-Ray 트레이스를 드릴다운할 수 있습니다.  
X-Ray 서비스 맵과 CloudWatch ServiceLens 맵은 Amazon CloudWatch 콘솔 내의 X-Ray 트레이스 맵에 결합됩니다. [CloudWatch 콘솔](https://console.aws.amazon.com/cloudwatch/)을 열고 왼쪽 탐색 창의 **X-Ray 트레이스**에서 **트레이스 맵**을 선택합니다.

## 추적 맵 보기
<a name="xray-console-servicemap-view"></a>

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

트레이스 맵은 Amazon SQS 및 Lambda를 사용하는 이벤트 기반 애플리케이션 전반의 트레이스에 대한 연관성을 표시합니다. 자세한 내용은 [이벤트 중심 애플리케이션 트레이싱](xray-tracelinking.md)을 참조하세요. 또한 트레이스 맵은 [교차 계정 추적](xray-console-crossaccount.md)을 지원하여 여러 계정의 노드를 단일 맵에 표시합니다.

------
#### [ CloudWatch console ]

**CloudWatch 콘솔에서 트레이스 맵을 보려면**

1. [CloudWatch 콘솔을 엽니다](https://console.aws.amazon.com/cloudwatch/). 왼쪽 탐색 창의 **X-Ray 트레이스** 섹션에서 **트레이스 맵**을 선택합니다.  
![\[CloudWatch 콘솔 트레이스 맵 페이지\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-servicemap-cw.png)

1. 노드에 대한 요청을 보려는 서비스 노드 또는 그 사이를 이동하는 요청을 보려는 두 노드 간 에지를 선택합니다.

1.  트레이스 맵 아래에 지표, 알림 및 응답 시간 분포에 대한 탭을 비롯한 추가 정보가 표시됩니다. **지표** 탭에서 각 그래프 내 범위를 선택하여 드릴다운하여 자세한 내용을 보거나, **결함** 또는 **오류** 옵션을 선택하여 트레이스를 필터링합니다. **응답 시간 분포** 탭에서 그래프 내의 범위를 선택하여 응답 시간별로 추적을 필터링합니다.  
![\[Dashboard showing latency, requests, and faults metrics for an ElasticBeanstalk environment.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-cw-servicemap-node-detail.png)

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

1.  선택한 노드와 관련된 CloudWatch 로그를 보려면 **로그 보기** 를 선택합니다. 모든 트레이스 맵 노드가 로그 보기를 지원하는 것은 아닙니다. 자세한 내용은 [CloudWatch 로그 문제 해결](xray-troubleshooting.md#xray-troubleshooting-Nologs)을 참조하세요.

트레이스 맵은 각 노드 내의 문제를 색상별로 표시합니다.
+ **빨간색**은 서버 장애를 의미합니다(500 시리즈 오류)
+ **노란색**은 클라이언트 오류를 의미합니다(400 시리즈 오류)
+ **보라색**은 병목 오류를 의미합니다(429 요청 과다)

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

------
#### [ X-Ray console ]

**서비스 맵을 보려면**

1. [X-Ray 콘솔](https://console.aws.amazon.com/xray/home#)을 엽니다. 기본적으로 서비스 맵이 표시됩니다. 왼쪽 탐색 창에서 **서비스 맵**을 선택할 수도 있습니다.  
![\[X-Ray 콘솔 서비스 맵 페이지\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-servicemap-xray.png)

1. 노드에 대한 요청을 보려는 서비스 노드 또는 그 사이를 이동하는 요청을 보려는 두 노드 간 에지를 선택합니다.

1. 응답 분포 [히스토그램](xray-console-histograms.md)을 사용하여 트레이스를 기간별로 필터링하고 트레이스를 보려는 상태 코드를 선택합니다. 그런 다음 [**View traces**]를 선택하여 필터 표현식이 적용된 트레이스 목록을 엽니다.  
![\[Response distribution graph showing latency peaks and service details for Scorekeep AWS ECS container.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-servicemap-nodedetail-xray.png)

이 서비스는 오류 및 장애 호출 성공 비율을 토대로 각 노드의 색상을 다르게 표시해 노드의 상태를 보여줍니다:
+ **녹색**은 성공적인 호출을 의미합니다
+ **빨간색**은 서버 장애를 의미합니다(500 시리즈 오류)
+ **노란색**은 클라이언트 오류를 의미합니다(400 시리즈 오류)
+ **보라색**은 병목 오류를 의미합니다(429 요청 과다)

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

------

**참고**  
X-Ray 트레이스 맵에는 최대 10,000개의 노드가 표시될 수 있습니다. 드물지만 총 서비스 노드 수가 이 한도를 초과할 경우 오류가 발생하여 콘솔에 전체 트레이스 맵이 표시되지 않을 수 있습니다.

## 그룹으로 트레이스 맵 필터링
<a name="xray-console-servicemap-groups"></a>

[필터 표현식](xray-console-filters.md)을 사용하여 그룹에 트레이스를 허용하는 기준을 정의할 수 있습니다. 다음 단계에 따라 트레이스 맵에 해당 특정 그룹을 표시합니다.

------
#### [ CloudWatch console ]

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

![\[Search bar for filtering by X-Ray group, with "TestGroup" displayed as an option.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-servicemap-groups-cw.png)


------
#### [ X-Ray console ]

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

![\[Drop-down menu showing Default, TestGroup, Create group, and Learn more options.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/group-select-console.png)


------

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

## 트레이스 맵 범례 및 옵션
<a name="xray-console-servicemap-options"></a>

트레이스 맵에는 범례와 맵 표시를 사용자 지정할 수 있는 몇 가지 옵션이 포함되어 있습니다.

------
#### [ CloudWatch console ]

지도 오른쪽 상단의 **범례 및 옵션** 드롭다운을 선택합니다. 다음을 포함하여 노드 내에 표시할 항목을 선택합니다:
+  **지표는** 선택한 시간 범위 동안 분당 평균 응답 시간과 전송된 추적 횟수를 표시합니다.
+  **노드는** 각 노드 내의 서비스 아이콘이 표시됩니다.

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

------
#### [ X-Ray console ]

맵 오른쪽 상단의 맵 레전드 링크를 선택하여 서비스 **맵 범례**를 표시합니다. 서비스 맵 오른쪽 하단에서 다음을 포함한 트레이스 맵 옵션을 선택할 수 있습니다.
+  **서비스 아이콘**은 각 노드 내에 표시되는 내용을 전환하여 서비스 아이콘 또는 선택한 시간 범위 동안 분당 평균 응답 시간 및 전송된 추적 횟수를 표시합니다.
+  **노드 크기 조정: 없음**은 모든 노드의 크기를 동일하게 설정합니다.
+  **노드 크기 조정: Health**는 오류, 결함 또는 병목 현상이 발생한 요청을 포함하여 영향을 받는 요청 수를 기준으로 노드 크기를 조정합니다.
+  **노드 크기 조정: 트래픽** 총 요청 수를 기준으로 노드의 크기를 조정합니다.

------

# 트레이스 및 트레이스 세부 정보 보기
<a name="xray-console-traces"></a>

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

## 추적 보기
<a name="xray-console-traces-view"></a>

------
#### [ CloudWatch console ]

**CloudWatch 콘솔에서 트레이스를 보려면**

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

1. 왼쪽 탐색 창에서 **X-Ray 트레이스**를 선택한 다음 **트레이스**를 선택합니다. 그룹으로 필터링하거나 [필터 표현식](xray-console-filters.md)을 입력할 수 있습니다. 이 경우 페이지 하단의 트레이스 섹션에 표시되는 **트레이스**가 필터링됩니다.

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

1. **쿼리 세분화** 섹션에서 쿼리를 구체화하세요. 공통 속성을 기준으로 트레이스를 필터링하려면 **쿼리 세분화 기준** 옆의 아래쪽 화살표에서 옵션을 선택합니다. 옵션에는 다음 사항이 포함됩니다.
   + 노드 - 서비스 노드로 트레이스를 필터링합니다.
   + 리소스 ARN - 트레이스와 연결된 리소스로 트레이스를 필터링합니다. 이러한 리소스의 예로는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스, AWS Lambda 함수, Amazon DynamoDB 테이블 등이 있습니다.
   + 사용자 - 사용자 ID로 트레이스를 필터링합니다.
   + 오류 근본 원인 메시지 - 오류 근본 원인으로 트레이스를 필터링합니다.
   + URL - 애플리케이션에서 사용하는 URL 경로로 트레이스를 필터링합니다.
   + HTTP 상태 코드 - 애플리케이션에서 반환하는 HTTP 상태 코드로 트레이스를 필터링합니다. 사용자 지정 응답 코드를 지정하거나 다음 중에서 선택할 수 있습니다.
     + `200` - 요청이 성공했습니다.
     + `401` - 요청에 유효한 인증 자격 증명이 부족합니다.
     + `403` – 요청에 유효한 권한이 부족합니다.
     + `404` - 서버에서 요청된 리소스를 찾을 수 없습니다.
     + `500` - 서버에서 예기치 않은 조건이 발생하여 내부 오류가 발생했습니다.

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

1. 단일 트레이스를 찾으려면 쿼리 필드에 [트레이스 ID](xray-api-sendingdata.md#xray-api-traceids)를 직접 입력합니다. X-Ray 형식 또는 W3C(World Wide Web Consortium) 형식을 사용할 수 있습니다. 예를 들어 [AWS Distro for OpenTelemetry](xray-instrumenting-your-app.md#xray-instrumenting-opentel)를 사용하여 생성된 트레이스는 W3C 형식입니다.
**참고**  
W3C 형식의 트레이스 ID로 생성된 트레이스를 쿼리하면 일치하는 트레이스가 콘솔에 X-Ray 형식으로 표시됩니다. 예를 들어 `4efaaf4d1e8720b39541901950019ee5`를 W3C 형식으로 쿼리하면 동등한 X-Ray 형식인 `1-4efaaf4d-1e8720b39541901950019ee5`가 콘솔에 표시됩니다.

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

1. 단일 트레이스에 대한 **트레이스 세부 정보** 페이지를 표시하려면 목록에서 트레이스 ID를 선택합니다.

   다음 이미지는 트레이스와 관련된 서비스 노드와 트레이스를 구성하는 세그먼트가 이동한 경로를 나타내는 노드 간의 엣지가 포함된 **트레이스 맵**을 보여줍니다. **트레이스 맵** 다음에 **트레이스 요약**이 표시됩니다. 요약에는 샘플 `GET` 작업, **응답 코드**, 트레이스가 실행되는 데 걸린 **기간** 및 요청 **기간**에 대한 정보가 포함되어 있습니다. 트레이스 세그먼트 및 하위 세그먼트의 기간을 보여주는 **세그먼트 타임라인**은 **트레이스 요약** 뒤에 표시됩니다.  
![\[트레이스 맵, 요약 및 세그먼트 타임라인은 서비스 노드 및 트레이스의 세그먼트에 대한 정보를 자세히 설명합니다.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/xray-trace-details-cw.png)

   Amazon SQS 및 Lambda를 사용하는 이벤트 기반 애플리케이션이 있는 경우, **트레이스 맵**에서 각 요청에 대한 트레이스를 연결된 형태로 볼 수 있습니다. 맵에서 메시지 생산자의 트레이스는 AWS Lambda 소비자의 트레이스와 연결되며, 점선 형태의 엣지로 표시됩니다. 이벤트 기반 애플리케이션에 대한 자세한 내용은 [이벤트 기반 애플리케이션 추적](xray-tracelinking.md) 단원을 참조하세요.

   **트레이스** 및 **트레이스 세부 정보** 페이지에서는 [교차 계정 추적](xray-console-crossaccount.md)을 지원합니다. 이를 통해 트레이스 목록과 단일 트레이스 맵 내에서 여러 계정의 트레이스를 나열할 수 있습니다.

------
#### [ X-Ray console ]

**X-Ray 콘솔에서 트레이스를 보려면**

1. X-Ray 콘솔의 [트레이스](https://console.aws.amazon.com/xray/home#/traces) 페이지를 엽니다. **트레이스 개요** 패널에는 **오류 근본 원인**, **ResourceARN**, **InstanceId**를 포함한 일반적인 기능별로 그룹화된 트레이스 목록이 표시됩니다.

1. 공통 기능을 선택해 그룹화된 트레이스를 보려면 **그룹화 기준** 옆의 아래쪽 화살표를 확장합니다. 다음 그림은 [AWS X-Ray 샘플 애플리케이션](xray-scorekeep.md)의 URL별로 그룹화된 트레이스의 트레이스 개요와 관련 트레이스 목록을 보여줍니다.  
![\[URL별로 그룹화된 트레이스 개요 및 ID, 메서드, 응답 등의 세부 정보가 포함된 트레이스 목록 예시입니다.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/scorekeep-traces.png)

1. **트레이스 목록**에서 확인할 트레이스의 **ID**를 선택합니다. 탐색 창에서 **서비스 맵**을 선택하여 특정 서비스 노드에 대한 트레이스를 볼 수도 있습니다. 그런 다음 해당 노드와 연관된 트레이스를 볼 수 있습니다.

   **타임라인** 탭에는 트레이스에 대한 요청 흐름이 표시되며 다음 정보가 포함됩니다.
   + 트레이스의 각 세그먼트에 대한 경로 맵
   + 세그먼트가 트레이스 맵의 노드에 도달하는 데 걸린 시간
   + 트레이스 맵의 노드에 대한 요청 횟수

   다음 그림은 샘플 애플리케이션에 대한 `GET` 요청과 관련된 **트레이스 맵**의 예시를 보여줍니다. 화살표는 각 세그먼트가 요청을 완료하기 위해 이동한 경로를 표시합니다. 서비스 노드에는 `GET` 요청 중에 이루어진 요청 횟수가 표시됩니다.  
![\[트레이스 맵 아래에는 타임라인이 표시되며 세그먼트, 기간, 시작점, 종료점이 서로의 관계에 따라 나타납니다.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/xray-trace-details.png)

   **타임라인** 탭에 대한 자세한 내용은 아래의 **Exploring the trace timeline** 단원을 참조하세요.

   **원시 데이터** 탭에는 트레이스와 이를 구성하는 세그먼트 및 하위 세그먼트에 대한 정보가 `JSON` 형식으로 표시됩니다. 여기에는 다음 정보가 포함될 수 있습니다.
   + 타임스탬프
   + 고유 ID
   + 세그먼트 또는 하위 세그먼트와 연관된 리소스
   + 세그먼트 또는 하위 세그먼트의 소스 또는 오리진
   + 애플리케이션 요청에 대한 추가 정보(예: HTTP 요청의 응답)

------

## 트레이스 타임라인 살펴보기
<a name="xray-console-traces-timeline"></a>

**타임라인** 섹션에는 세그먼트와 하위 세그먼트가 계층 구조로 표시되며, 그 옆에는 작업 완료 시간에 해당하는 가로 막대가 나타납니다. 목록의 첫 번째 항목이 세그먼트인데, 단일 요청의 서비스에 의해 기록된 모든 데이터를 나타냅니다. 하위 세그먼트는 들여쓰기되어 세그먼트 아래에 나열됩니다. 열에는 각 세그먼트에 대한 정보가 포함되어 있습니다.

------
#### [ CloudWatch console ]

CloudWatch 콘솔에서 **세그먼트 타임라인**은 다음 정보를 제공합니다.
+ 첫 번째 열: 선택한 트레이스의 세그먼트 및 하위 세그먼트가 나열됩니다.
+ **세그먼트 상태** 열: 각 세그먼트 및 하위 세그먼트의 상태 결과가 나열됩니다.
+ **응답 코드** 열: 세그먼트 또는 하위 세그먼트의 브라우저 요청에 대한 HTTP 응답 상태 코드가 나열됩니다(제공되는 경우).
+ **기간** 열: 세그먼트 또는 하위 세그먼트가 실행된 시간이 나열됩니다.
+ **호스팅 위치** 열: 세그먼트 또는 하위 세그먼트가 실행되는 네임스페이스 또는 환경이 나열됩니다(해당되는 경우). 자세한 내용은 [수집된 측정기준 및 측정기준 조합](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AppSignals-StandardMetrics.html#AppSignals-StandardMetrics-Dimensions)을 참조하세요.
+ 마지막 열: 타임라인의 다른 세그먼트 또는 하위 세그먼트와 비교하여 세그먼트 또는 하위 세그먼트가 실행된 기간에 해당하는 가로 막대가 표시됩니다.

서비스 노드별로 세그먼트 및 하위 세그먼트 목록을 그룹화하려면 **노드별 그룹화**를 켭니다.

------
#### [ X-Ray console ]

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

X-Ray 콘솔에서 **타임라인**은 다음 정보를 제공합니다.
+ **이름** 열: 트레이스의 세그먼트 및 하위 세그먼트의 이름이 나열됩니다.
+ **응답** 열: 세그먼트 또는 하위 세그먼트의 브라우저 요청에 대한 HTTP 응답 상태 코드가 나열됩니다(제공되는 경우).
+ **기간** 열: 세그먼트 또는 하위 세그먼트가 실행된 시간이 나열됩니다.
+ **상태** 열: 세그먼트 또는 하위 세그먼트 상태의 결과가 나열됩니다.
+ 마지막 열: 타임라인의 다른 세그먼트 또는 하위 세그먼트와 비교하여 세그먼트 또는 하위 세그먼트가 실행된 기간에 해당하는 가로 막대가 표시됩니다.

콘솔에서 타임라인을 생성하는 데 사용하는 원시 트레이스 데이터를 보려면 **원시 데이터** 탭을 선택합니다. 원시 데이터에는 트레이스와 이를 구성하는 세그먼트 및 하위 세그먼트에 대한 정보가 `JSON` 형식으로 표시됩니다. 여기에는 다음 정보가 포함될 수 있습니다.
+ 타임스탬프
+ 고유 ID
+ 세그먼트 또는 하위 세그먼트와 연관된 리소스
+ 세그먼트 또는 하위 세그먼트의 소스 또는 오리진
+ 애플리케이션 요청에 대한 추가 정보(예: HTTP 요청의 응답)

------

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

## 세그먼트 세부 정보 보기
<a name="xray-console-segments"></a>

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

**세그먼트 세부 정보** 패널에는 **개요**, **리소스**, **주석**, **메타데이터**, **예외**, **SQL** 탭이 표시됩니다. 다음 사항이 적용됩니다.
+ **개요** 탭에 요청 및 응답에 대한 정보가 표시됩니다. 이름, 시작 시간, 종료 시간, 기간, 요청 URL, 요청 작업, 요청 응답 코드, 오류 및 결함 등의 정보가 포함됩니다.
+ 세그먼트의 **리소스** 탭에는 X-Ray SDK의 정보 및 애플리케이션을 실행하는 AWS 리소스에 대한 정보가 표시됩니다. Amazon EC2, AWS Elastic Beanstalk 또는 X-Ray SDK용 Amazon ECS 플러그인을 사용하면 서비스별 리소스 정보를 기록할 수 있습니다. 플러그인에 대한 자세한 내용은 [Java용 X-Ray SDK 구성](xray-sdk-java-configuration.md)에서 **서비스 플러그인** 단원을 참조하세요.
+ 나머지 탭에는 세그먼트에 대해 기록된 **주석**, **메타데이터** 및 **예외**가 표시됩니다. 계측된 요청에서 발생하는 예외는 자동으로 캡처됩니다. 주석 및 메타데이터에는 X-Ray SDK에서 제공하는 작업을 사용하여 기록되는 추가 정보가 포함됩니다. 세그먼트에 주석 또는 메타데이터를 추가하려면 X-Ray SDK를 사용합니다. 자세한 내용은 [용 애플리케이션 계측 AWS X-Ray](xray-instrumenting-your-app.md)에서 AWS X-Ray SDK로 애플리케이션 계측 아래에 나열된 언어별 링크를 참조하세요.

## 하위 세그먼트 세부 정보 보기
<a name="xray-console-subsegments"></a>

트레이스 타임라인에서 세부 정보를 보려는 하위 세그먼트 이름을 선택합니다.
+ **개요** 탭에는 요청 및 응답에 대한 정보가 포함되어 있습니다. 여기에는 이름, 시작 시간, 종료 시간, 기간, 요청 URL, 요청 작업, 요청 응답 코드, 오류 및 결함 등이 포함됩니다. 구성된 클라이언트에 의해 생성된 하위 세그먼트의 경우, **개요** 탭에 애플리케이션 관점에서의 요청 및 응답에 대한 정보가 포함됩니다.
+ 하위 세그먼트의 **리소스** 탭에는 하위 세그먼트를 실행하는 데 사용된 AWS 리소스에 대한 세부 정보가 표시됩니다. 예를 들어 리소스 탭에는 AWS Lambda 함수 ARN, DynamoDB 테이블에 대한 정보, 직접 호출되는 작업 및 요청 ID가 포함될 수 있습니다.
+ 나머지 탭에는 하위 세그먼트에 대해 기록된 **주석**, **메타데이터** 및 **예외**가 표시됩니다. 계측된 요청에서 발생하는 예외는 자동으로 캡처됩니다. 주석 및 메타데이터에는 X-Ray SDK에서 제공하는 작업을 사용하여 기록되는 추가 정보가 포함됩니다. 세그먼트에 주석 또는 메타데이터를 추가하려면 X-Ray SDK를 사용합니다. 자세한 내용은 [용 애플리케이션 계측 AWS X-Ray](xray-instrumenting-your-app.md)에서 AWS X-Ray SDK로 애플리케이션 계측 아래에 나열된 언어별 링크를 참조하세요.

사용자 지정 하위 세그먼트의 경우, **개요** 탭에 하위 세그먼트의 이름이 표시됩니다. 이 이름은 이 하위 세그먼트가 기록하는 코드 영역이나 함수를 지정하는 데 설정할 수 있습니다. 자세한 내용은 [Java용 X-Ray SDK를 사용하여 사용자 지정 하위 세그먼트 생성하기](xray-sdk-java-subsegments.md)에서 AWS X-Ray SDK로 애플리케이션 계측 아래에 나열된 언어별 링크를 참조하세요.

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

![\[ID, 상위 ID, 이름, 시간, 오류, 결함을 포함한 하위 세그먼트에 대한 개요 정보입니다.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/scorekeep-PUTrules-customsubsegment-overview.png)


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

# 필터 표현식 사용
<a name="xray-console-filters"></a>

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

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

**Topics**
+ [필터 표현식 세부 정보](#xray-console-filters-details)
+ [그룹에 필터 표현식 사용](#groups)
+ [필터 표현식 구문](#console-filters-syntax)
+ [부울 키워드](#console-filters-boolean)
+ [숫자 키워드](#console-filters-number)
+ [문자열 키워드](#console-filters-string)
+ [복합 키워드](#console-filters-complex)
+ [id 함수](#console-filters-functions)

## 필터 표현식 세부 정보
<a name="xray-console-filters-details"></a>

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

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

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

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

![\[Progress bar showing 52% of time range scanned, with 49 matching traces found.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-tracescan-parallel.png)


## 그룹에 필터 표현식 사용
<a name="groups"></a>

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

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

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

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

그룹에 대한 자세한 정보는 [그룹 구성](xray-console-groups.md) 섹션을 참조하세요.

## 필터 표현식 구문
<a name="console-filters-syntax"></a>

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

```
keyword operator value
```

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

**Example – 응답 시간이 5초를 초과한 요청**  

```
responsetime > 5
```

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

**Example – 총 기간이 5\$18초인 요청**  

```
duration >= 5 AND duration <= 8
```

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

다운스트림 문제가 있는 트레이스를 찾기 위해 [복합 키워드](#console-filters-complex) `service()`와 `edge()`를 사용할 수 있습니다. 이러한 키워드를 사용하면 필터 표현식을 모든 다운스트림 노드, 단일 다운스트림 노드 또는 두 노드 간 에지에 적용할 수 있습니다. 더욱 세분화하려면 [id() 함수](#console-filters-functions)를 사용하여 서비스와 엣지를 필터링할 수 있습니다.

## 부울 키워드
<a name="console-filters-boolean"></a>

부울 키워드 값은 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`와 비교합니다. 이러한 연산자는 다른 연산자와 동일하게 작동하지만 보다 명시적입니다.

**Example – 응답 상태가 2XX OK**  

```
ok
```

**Example – 응답 상태가 2XX OK가 아님**  

```
!ok
```

**Example – 응답 상태가 2XX OK가 아님**  

```
ok = false
```

**Example – 마지막에 열거된 결함 트레이스의 오류 이름이 “deserialize”임**  

```
rootcause.fault.entity { last and name = "deserialize" }
```

**Example – 범위가 0.7보다 크고 서비스 이름이 “traces"인 원격 세그먼트가 포함된 요청**  

```
rootcause.responsetime.entity { remote and coverage > 0.7 and name = "traces" }
```

**Example – 서비스 유형이 "AWS:DynamonDB"인 추론 세그먼트가 포함된 요청**  

```
rootcause.fault.service { inferred and name = traces and type = "AWS::DynamoDB" }
```

**Example – 이름이 “data-plane”인 세그먼트가 루트로 포함된 요청**  

```
service("data-plane") {root = true and fault = true}
```

## 숫자 키워드
<a name="console-filters-number"></a>

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

**숫자 키워드**
+ `responsetime` – 서버가 응답을 전송하는 데 걸린 시간.
+ `duration` – 모든 다운스트림 호출을 포함한 총 요청 기간입니다.
+ `http.status` – 응답 상태 코드.
+ `index` – 열거 목록에서 요소의 위치
+ `coverage` – 루트 세그먼트 응답 시간 경과에 따른 개체 응답 시간의 십진 비율 응답 시간 근본 원인 개체일 때만 사용 가능합니다.

**숫자 연산자**

숫자 키워드는 표준 등식 및 비교 연산자를 사용합니다.
+ `=`,`!=` – 이 키워드는 숫자값과 같음 또는 같지 않음입니다.
+ `<`,`<=`, `>`,`>=` – 이 키워드는 숫자값보다 작음 또는 큼입니다.

**Example – 응답 상태가 200 OK가 아님**  

```
http.status != 200
```

**Example – 총 기간이 5\$18초인 요청**  

```
duration >= 5 AND duration <= 8
```

**Example – 모든 다운스트림 호출을 포함하여 3초 이내에 성공적으로 완료된 요청**  

```
ok !partial duration <3
```

**Example – 5보다 큰 인덱스가 포함된 열거된 목록 개체**  

```
rootcause.fault.service { index > 5 }
```

**Example – 0.8보다 큰 범위가 포함된 마지막 개체인 요청**  

```
rootcause.responsetime.entity { last and coverage > 0.8 }
```

## 문자열 키워드
<a name="console-filters-string"></a>

문자열 키워드를 사용하면 요청 헤더 또는 특정 사용자 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` – 이 키워드는 특정 문자열로 시작하거나 끝납니다.

**Example – http.url 필터**  

```
http.url CONTAINS "/api/game/"
```

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

**Example – 사용자 필터**  
사용자 ID가 있는 모든 트레이스를 찾습니다.  

```
user CONTAINS ""
```

**Example – “Auth”라는 이름의 서비스가 포함된 결함 근본 원인이 있는 트레이스를 선택합니다.**  

```
rootcause.fault.service { name = "Auth" }
```

**Example – 마지막 서비스에 DynamoDB 유형이 포함된 응답 시간 근본 원인이 있는 트레이스를 선택합니다.**  

```
rootcause.responsetime.service { last and type = "AWS::DynamoDB" }
```

**Example – 마지막 예외에 "access denied for account\$1id: 1234567890" 메시지가 포함된 결함 근본 원인이 있는 추적을 선택합니다.**  

```
rootcause.fault.exception { last and message = "Access Denied for account_id: 1234567890" 
```

## 복합 키워드
<a name="console-filters-complex"></a>

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

**복합 키워드**
+ `annotation[key]` – *key* 필드가 있는 주석의 값. 주석 값은 부울, 숫자 또는 문자열일 수 있으므로 이러한 유형의 비교 연산자를 모두 사용할 수 있습니다. 이 키워드는 `service` 또는 `edge` 키워드와 함께 사용할 수 있습니다. 점(마침표)이 포함된 주석 키는 대괄호(**[ ]**)로 묶어야 합니다.
+ `edge(source, destination) {filter}` – *source* 서비스와 *destination* 서비스 사이를 연결합니다. 선택적으로, 이 연결의 세그먼트에 적용되는 필터 표현식을 중괄호로 묶을 수 있습니다.
+ `group.name / group.arn` – 그룹 이름 또는 그룹 ARN으로 참조되는 그룹의 필터 표현식 값입니다.
+ `json` – JSON 근본 원인 객체. 프로그래밍 방식으로 JSON 개체를 생성하는 단계는 [AWS X-Ray에서 데이터 가져오기](xray-api-gettingdata.md)를 참조하세요.
+ `service(name) {filter}` – 이름이 *name*인 서비스. 선택적으로, 서비스에서 생성하는 세그먼트에 적용되는 필터 표현식을 중괄호로 묶을 수 있습니다.

트레이스 맵에서 특정 노드에 도달한 요청의 트레이스를 찾으려면 서비스 키워드를 사용합니다.

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

**복합 키워드 연산자**
+ none – 키워드가 설정된 경우 표현식이 true입니다. 키워드가 부울 유형인 경우 부울 값으로 평가됩니다.
+ `!` – 키워드가 설정되지 않은 경우 표현식이 true입니다. 키워드가 부울 유형인 경우 부울 값으로 평가됩니다.
+ `=`,`!=` - 키워드의 값을 비교합니다.
+ `edge(source, destination) {filter}` – *source* 서비스와 *destination* 서비스 사이를 연결합니다. 선택적으로, 이 연결의 세그먼트에 적용되는 필터 표현식을 중괄호로 묶을 수 있습니다.
+ `annotation[key]` – *key* 필드가 있는 주석의 값. 주석 값은 부울, 숫자 또는 문자열일 수 있으므로 이러한 유형의 비교 연산자를 모두 사용할 수 있습니다. 이 키워드는 `service` 또는 `edge` 키워드와 함께 사용할 수 있습니다.
+ `json` – JSON 근본 원인 객체. 프로그래밍 방식으로 JSON 개체를 생성하는 단계는 [AWS X-Ray에서 데이터 가져오기](xray-api-gettingdata.md)를 참조하세요.

트레이스 맵에서 특정 노드에 도달한 요청의 트레이스를 찾으려면 서비스 키워드를 사용합니다.

**Example – 서비스 필터**  
`api.example.com` 호출을 포함하고 오류(500 시리즈 오류)가 발생한 요청  

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

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

**Example – 서비스 필터**  
트레이스 맵의 어느 곳에서든 오류를 일으킨 요청입니다.  

```
service() { fault }
```

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

**Example – 엣지 필터**  
`api.example.com` 서비스가 `backend.example.com`을 호출했으나 실패하고 오류가 발생한 요청  

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

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

**Example – 서비스 및 요청 필터**  
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")
```

**Example – 서비스 및 응답 시간 필터**  
`http url`이 설정되어 있고 응답 시간이 2초보다 큰 트레이스를 찾습니다.  

```
http.url AND responseTime > 2
```

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

**Example – 문자열 값을 포함하는 주석**  
문자열 값이 `gameid`인 `"817DL6VO"`라는 주석이 포함된 요청  

```
annotation[gameid] = "817DL6VO"
```

**Example – 주석이 설정되었습니다.**  
`age` set이라는 주석이 포함된 요청.  

```
annotation[age]
```

**Example – 주석이 설정되지 않았습니다.**  
`age` set이라는 주석이 없는 요청.  

```
!annotation[age]
```

**Example – 숫자 값을 포함하는 주석**  
주석의 수명이 숫자 값 29보다 큰 요청  

```
annotation[age] > 29
```

**Example – 서비스 또는 엣지와 조합한 주석**  
  

```
service { annotation[request.id] = "917DL6VO" }
```

```
edge { source.annotation[request.id] = "916DL6VO" }
```

```
edge { destination.annotation[request.id] = "918DL6VO" }
```

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

```
group.name = "high_response_time" AND user = "alice"
```

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

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

## id 함수
<a name="console-filters-functions"></a>

`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 서비스용입니다. 두 노드는 이름이 같지만 유형이 다릅니다. 표준 서비스 필터는 두 노드 모두의 트레이스를 찾습니다.

**Example – 서비스 필터**  
`random-name`이라는 서비스에 대한 오류를 포함하는 요청  

```
service("random-name") { error }
```

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

**Example – id 함수를 사용한 서비스 필터**  
유형이 `random-name`인 `AWS::Lambda::Function` 서비스의 오류를 포함하는 요청  

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

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

**Example – id 기능 및 서비스 유형을 포함하는 서비스 필터**  
유형이 `AWS::Lambda::Function`인 서비스의 오류를 포함하는 요청  

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

특정 노드를 검색하려면 계정 ID를 AWS 계정지정합니다.

**Example – id 기능 및 계정 ID를 사용한 서비스 필터**  
특정 계정 ID `AWS::Lambda::Function` 내에 서비스를 포함하는 요청.  

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

# 교차 계정 추적
<a name="xray-console-crossaccount"></a>

AWS X-Ray는 *계정 간 통합 관찰성*을 지원하므로 AWS 리전 내의 여러 계정에 걸쳐 있는 애플리케이션을 모니터링하고 문제를 해결할 수 있습니다. 연결된 모든 계정의 지표, 로그 및 추적을 마치 하나의 계정에서 작업하는 것처럼 원활하게 검색, 시각화 및 분석할 수 있습니다. 이를 통해 여러 계정에 걸쳐 발생하는 요청을 전체적으로 볼 수 있습니다. [CloudWatch 콘솔](https://console.aws.amazon.com/cloudwatch/) 내의 X-Ray 트레이스 맵과 트레이스 페이지에서 교차 계정 추적을 확인할 수 있습니다.

공유된 통합 관찰성 데이터에는 다음 유형의 원격 분석이 포함될 수 있습니다.
+ Amazon CloudWatch의 지표
+ Amazon CloudWatch Logs의 로그 그룹
+ AWS X-Ray의 추적
+ Amazon CloudWatch Application Insights의 애플리케이션

## 교차 계정 관찰성 구성
<a name="xray-console-crossaccount-configure"></a>

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

소스 계정은 관찰성 데이터를 모니터링 계정과 공유합니다. 트레이스는 각 소스 계정에서 최대 5개의 모니터링 계정으로 복사됩니다. 소스 계정에서 첫 번째 모니터링 계정으로의 트레이스 사본은 무료입니다. 추가 모니터링 계정으로 전송된 트레이스 사본은 표준 요금에 따라 각 소스 계정에 청구됩니다. 요금에 대한 자세한 정보는 [AWS X-Ray 요금](https://aws.amazon.com/xray/pricing/) 및 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요.

모니터링 계정과 소스 계정 간의 링크를 생성하려면 CloudWatch 콘솔 또는 AWS CLI 및 API의 새로운 Observability Access Manager 명령을 사용하세요. 자세한 내용은 [CloudWatch 교차 계정 관찰성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)을 참조하세요.

**참고**  
X-Ray 트레이스는 수령한 AWS 계정으로 요금이 청구됩니다. [샘플링된](xray-concepts.md#xray-concepts-sampling) 요청이 둘 이상의 AWS 계정에 걸쳐 있는 서비스인 경우 각 계정은 별도의 트레이스를 기록하고 모든 트레이스는 동일한 트레이스 ID를 공유합니다. 계정 간 관찰성 요금에 대한 자세한 내용은 [AWS X-Ray 요금](https://aws.amazon.com/xray/pricing/) 및 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하십시오.

## 교차 계정 추적 보기
<a name="xray-console-crossaccount-view"></a>

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

![\[모니터링 계정 배지\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/crossaccount-monitoring-account.png)


### 트레이스 맵
<a name="xray-console-crossaccount-view-servicemap"></a>

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

![\[필터링된 트레이스 맵\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/crossaccount-servicemap-account-filter.png)


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

![\[노드 세부 정보 창\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/crossaccount-servicemap-node-detail.png)


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

![\[필터링된 서비스 목록\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/crossaccount-servicelist-account-filter.png)


### 트레이스
<a name="xray-console-crossaccount-view-traces"></a>

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

**Traces**(추적) 페이지는 계정 ID로 쿼리를 지원합니다. 시작하려면 하나 이상의 계정 ID가 포함된 [쿼리를 입력](xray-console-filters.md)합니다. 다음 예시에서는 계정 ID X* * 또는 *Y*를 통과한 트레이스를 쿼리합니다.

```
service(id(account.id:"X")) OR service(id(account.id:"Y"))
```

![\[계정별 쿼리 추적\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/crossaccount-traces-query-by-account.png)


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

![\[계정별로 추적 쿼리를 세분화하세요.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/crossaccount-traces-refine-by-account.png)


### 트레이스 세부 정보
<a name="xray-console-crossaccount-trace-details"></a>

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

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

![\[세그먼트 타임라인\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/crossaccount-traces-segment-timeline.png)


# 이벤트 기반 애플리케이션 추적
<a name="xray-tracelinking"></a>

AWS X-Ray는 Amazon SQS와 AWS Lambda를 사용하여 이벤트 기반 애플리케이션 추적을 지원합니다. CloudWatch 콘솔을 사용하면 각 요청이 Amazon SQS로 대기열에 추가되고 하나 이상의 Lambda 함수에 의해 처리될 때 연결된 보기를 볼 수 있습니다. 업스트림 메시지 생산자의 트레이스가 다운스트림 Lambda 함수의 트레이스에 자동으로 연결되므로 전체 애플리케이션을 종합적으로 파악할 수 있습니다.

**참고**  
각 추적 세그먼트는 최대 20개의 추적에 연결할 수 있으며, 추적에는 최대 100개의 링크가 포함될 수 있습니다. 특정 시나리오에서 추가 추적을 연결하면 [최대 추적 문서 크기](https://docs.aws.amazon.com/general/latest/gr/xray.html#limits_xray)를 초과하여 잠재적으로 불완전한 추적을 초래할 수 있습니다. 예를 들어 추적이 활성화된 Lambda 함수가 한 번의 간접 호출로 많은 SQS 메시지를 대기열에 전송하는 경우 이런 일이 발생할 수 있습니다. 이 문제가 발생하는 경우 X-Ray SDK를 사용하는 완화 방법을 사용할 수 있습니다. 자세한 내용은 [자바](https://github.com/aws/aws-xray-sdk-java#oversampling-mitigation), [Node.js](https://github.com/aws/aws-xray-sdk-node/tree/master/packages/core#oversampling-mitigation), [Python](https://github.com/aws/aws-xray-sdk-python#oversampling-mitigation), [Go](https://github.com/aws/aws-xray-sdk-go#oversampling-mitigation) 또는 [.NET용](https://github.com/aws/aws-xray-sdk-dotnet#oversampling-mitigation) X-Ray SDK를 참조하십시오.

## 트레이스 맵에서 연결된 트레이스 보기
<a name="xray-tracelinking-servicemap"></a>

[CloudWatch 콘솔](https://console.aws.amazon.com/cloudwatch/) 내의 **트레이스 맵** 페이지에서는 메시지 생산자의 트레이스가 Lambda 소비자의 트레이스에 연결된 트레이스 맵을 볼 수 있습니다. 이러한 링크는 Amazon SQS 노드와 다운스트림 Lambda 소비자 노드를 연결하는 점선 엣지와 함께 표시됩니다.

![\[Amazon SQS와 Lambda 노드 사이의 엣지\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-batch-servicemap-linkededge.png)


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

![\[수신된 이벤트 기간 히스토그램의 엣지.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-servicemap-linkededgedetails-cw.png)


## 연결된 추적 세부 정보 보기
<a name="xray-tracelinking-tracedetails"></a>

**메시지 생산자, Amazon SQS 대기열 또는 람다 소비자로부터 전송된 추적 세부 정보를 확인합니다:**

1. **트레이스 맵**을 사용하여 메시지 생산자, Amazon SQS 또는 Lambda 소비자 노드를 선택합니다.

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

1. 목록에서 특정 추적을 선택하면 추적 세부정보 페이지가 열립니다. 선택한 추적이 연결된 추적 집합의 일부인 경우 추적 세부정보 페이지에 메시지가 표시됩니다.  
![\[연결된 추적 세부 정보\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-batch-tracedetails-header.png)

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

![\[여러 개의 연결된 업스트림 트레이스\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-batch-tracedetails-tracemap.png)


트레이스 세부 정보 맵 아래에는 업스트림 및 다운스트림에 연결된 트레이스가 포함된 트레이스 세그먼트의 타임라인이 표시됩니다. 업스트림 또는 다운스트림에 연결된 트레이스가 여러 개 있는 경우 해당 세그먼트 세부 정보를 표시할 수 없습니다. 연결된 추적 세트 내의 단일 추적에 대한 세그먼트 세부 정보를 보려면 아래에 설명된 대로 [단일 추적을 선택](#xray-tracelinking-filterbatch)합니다.

![\[연결된 트레이스를 보여주는 세그먼트 타임라인\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-batch-tracedetails-timeline.png)


## 연결된 트레이스 세트 내에서 단일 트레이스 선택하기
<a name="xray-tracelinking-filterbatch"></a>

**연결된 트레이스 세트를 단일 트레이스에 필터링하여 타임라인에서 세그먼트 세부 정보를 확인할 수 있습니다.**

1. 트레이스 세부 정보 맵의 연결된 트레이스 아래에서 **트레이스 선택**을 선택합니다. 추적 목록이 표시됩니다.  
![\[연결된 추적 목록\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-batch-tracedetails-tracelist.png)

1. 트레이스 옆의 라디오 버튼을 선택하여 트레이스 세부 정보 맵에서 트레이스를 확인합니다.

1. 연결된 트레이스의 전체 세트를 보려면 **트레이스 선택 취소**를 선택합니다.  
![\[단일 연결 추적\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-batch-tracedetails-filteredbatch.png)

# 지연 시간 히스토그램 사용
<a name="xray-console-histograms"></a>

AWS X-Ray [트레이스 맵](xray-console-servicemap.md)에서 노드나 엣지를 선택하면 X-Ray 콘솔에 지연 시간 분포 히스토그램이 표시됩니다.

## 지연 시간
<a name="xray-console-historgram-latency"></a>

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

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

![\[x축에 기간이 표시되고 y축에 각 기간에 해당하는 요청의 비율이 표시되는 지연 시간 히스토그램\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/scorekeep-servicemap-histogram.png)


## 서비스 세부 정보 해석
<a name="xray-console-historgram-details"></a>

서비스 히스토그램과 에지 히스토그램은 서비스 또는 요청자의 관점에서 지연 시간을 시각적으로 표현합니다.
+ 원을 클릭하여 *서비스 노드*를 선택합니다. X-Ray는 서비스에서 처리한 요청에 대한 히스토그램을 보여줍니다. 지연 시간은 서비스에 의해 기록된 것이며 서비스와 요청자 간 네트워크 지연 시간은 포함하지 않습니다.
+ 두 서비스 간 가장자리의 선이나 화살표 끝을 클릭하여 *엣지*를 선택합니다. X-Ray는 다운스트림 서비스에서 처리한 요청자의 요청에 대한 히스토그램을 보여줍니다. 지연 시간은 요청자에 의해 기록된 것이며 두 서비스 간 네트워크 연결 지연 시간을 포함합니다.

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

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

![\[시작하려는 지점을 클릭하고 왼쪽에서 오른쪽으로 끌어 트레이스 필터용 범위를 생성하여 트레이스를 볼 범위를 선택\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/scorekeep-servicemap-servicedetails-selection.png)


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

![\[히스토그램에서 선택된 범위를 보려면 Zoom(확대/축소)을 선택\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/scorekeep-servicemap-servicedetails-zoom.png)


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

# X-Ray 인사이트 사용
<a name="xray-console-insights"></a>

AWS X-Ray는 계정의 추적 데이터를 지속적으로 분석하여 애플리케이션의 긴급한 문제를 식별합니다. 결함률이 예상 범위를 초과하면 문제를 기록하고 문제가 해결될 때까지 그 영향을 추적하는 *인사이트*를 생성합니다. 인사이트를 통해 다음을 수행할 수 있습니다.
+ 애플리케이션에서 문제가 발생하는 위치, 문제의 근본 원인 및 관련 영향을 파악합니다. 인사이트에서 제공하는 영향 분석을 통해 이슈의 심각도와 우선순위를 도출할 수 있습니다.
+ 시간이 지남에 따라 문제가 변경될 때마다 알림을 받습니다. Amazon EventBridge를 사용하여 인사이트 알림을 모니터링 및 알림 솔루션과 통합할 수 있습니다. 이 통합 기능을 사용하면 문제의 심각도에 따라 자동화된 이메일 또는 알림을 보낼 수 있습니다.

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

![\[인사이트 요약이 포함된 트레이스 맵 노드입니다.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-insights-servicemap.png)


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

## X-Ray 콘솔에서 인사이트 활성화하기
<a name="xray-console-enable-insights"></a>

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

1. [X-Ray 콘솔](https://console.aws.amazon.com/xray/home#)을 엽니다.

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

1. 왼쪽의 탐색 창에서 **인사이트**를 선택한 다음 확인하려는 인사이트를 선택합니다.  
![\[X-Ray 콘솔의 인사이트 목록\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-insights.png)

**참고**  
X-Ray는 인사이트에서 데이터를 검색하기 위해 GetInsightSummaries, GetInsight, GetInsightEvents 및 GetInsightImpactGraph API 작업을 사용합니다.  
자세한 내용은 [AWS X-Ray 에서 IAM을 사용하는 방법](security_iam_service-with-iam.md) 섹션을 참조하세요.

## 인사이트 알림 활성화
<a name="xray-console-insight-notifications"></a>

인사이트 알림을 사용하면 인사이트가 생성되거나, 크게 변경되거나, 종료된 시점과 같은 각 인사이트 이벤트에 대해 알림이 생성됩니다. 고객은 Amazon EventBridge 이벤트를 통해 이러한 알림을 수신할 수 있으며, 조건부 규칙을 사용하여 SNS 알림, Lambda 간접 호출, SQS 대기열에 메시지 게시 또는 EventBridge가 지원하는 모든 대상과 같은 작업을 수행할 수 있습니다. 인사이트 알림은 최선의 노력을 다해 발송되지만 반드시 발송된다는 보장은 없습니다. 대상에 대한 자세한 내용은 [Amazon EventBridge 대상](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-targets.html)을 참조하세요.

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

**X-Ray 그룹에 대한 알림을 활성화하려면**

1. [X-Ray 콘솔](https://console.aws.amazon.com/xray/home#)을 엽니다.

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

**Amazon EventBridge 조건부 규칙을 구성하려면**

1. [EventBridge 콘솔](https://console.aws.amazon.com/events/home)을 엽니다.

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

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

1. **이벤트 패턴**을 선택한 다음 **사용자 지정 패턴**을 선택합니다. `"source": [ "aws.xray" ]` 및 `"detail-type": [ "AWS X-Ray Insight Update" ]`를 포함하는 패턴을 제공하십시오. 다음은 가능한 패턴의 몇 가지 예입니다.
   + X-Ray 인사이트에서 들어오는 모든 이벤트와 일치하는 이벤트 패턴:

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

     ```
              
     {
     "source": [ "aws.xray" ],
     "detail-type": [ "AWS X-Ray Insight Update" ],
     "detail": {
             "State": [ "ACTIVE" ],
             "Category": [ "FAULT" ]
       }
     }
     ```

1. 이벤트가 이 규칙과 일치할 때 간접 호출할 대상을 선택하고 구성합니다.

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

1. **생성(Create)**을 선택합니다.

**참고**  
 X-Ray 인사이트 알림은 현재 고객 관리형 키를 지원하지 않는 Amazon EventBridge로 이벤트를 전송합니다. 자세한 내용은 [의 데이터 보호AWS X-Ray](xray-console-encryption.md) 섹션을 참조하세요.

## 인사이트 개요
<a name="xray-console-insights-overview"></a><a name="anomalous-service"></a>

인사이트 개요 페이지에서는 세 가지 주요 질문에 대한 답변을 제시합니다: 
+ 근본적인 문제는 무엇인가요?
+ 근본 원인은 무엇인가요?
+ 어떤 영향이 있나요?

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

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

![\[X-Ray 인사이트 개요 페이지\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-insights-overview.png)
<a name="root-cause"></a>

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

근본 원인을 자세히 조사하려면 근본 원인 그래프에서 **근본 원인 세부 정보 보기**를 선택하십시오. **분석** 페이지를 사용하여 근본 원인 및 관련 메시지를 조사할 수 있습니다. 자세한 내용은 [분석 콘솔과 상호 작용](xray-console-analytics.md) 섹션을 참조하세요.

![\[X-Ray 인사이트 개요 페이지\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-insights-root-cause.png)
<a name="impact"></a>

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

![\[X-Ray 인시던트에 대한 영향 그래프.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-insights-impact.png)


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

**인사이트 분석**을 선택하면 인사이트의 원인이 되는 일련의 트레이스에 대해 자세히 살펴볼 수 있는 X-Ray 분석 콘솔이 창에 열립니다. 자세한 내용은 [분석 콘솔과 상호 작용](xray-console-analytics.md) 섹션을 참조하세요.

**영향력 이해하기**

AWS X-Ray는 인사이트 및 알림 생성의 일환으로 진행 중인 문제로 인한 영향을 측정합니다. 영향력은 두 가지 방법으로 측정됩니다:
+ X-Ray [그룹](xray-console-groups.md)에 미치는 영향
+ 근본 원인 서비스에 미치는 영향

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

**중복 제거**

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

## 인사이트 진행 상황 검토
<a name="xray-console-insights-inspect"></a>

X-Ray는 인사이트가 해결될 때까지 주기적으로 재평가하고, 주목할 만한 중간 변경 사항을 알림으로 기록합니다. [알림](#xray-console-insight-notifications)은 Amazon EventBridge 이벤트로 전송할 수 있습니다. 이를 통해 프로세스와 워크플로를 구축하여 시간이 지남에 따라 이슈가 어떻게 변화했는지 파악하고, 이메일 전송 또는 EventBridge를 사용한 알림 시스템 통합 등의 적절한 조치를 취할 수 있습니다.

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

![\[영향력 타임라인이 있는 페이지를 살펴보세요.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-insights-inspect.png)
<a name="impact-analysis"></a>

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

![\[X-Ray 인사이트에 대한 영향 분석 그래프.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/console-insights-inspect-analysis.png)


인시던트와 관련된 트레이스를 더 자세히 살펴보려면 **검사** 페이지에서 **이벤트 분석**을 선택하십시오. **분석** 페이지를 사용하여 추적 목록을 세분화하고 영향을 받는 사용자를 식별할 수 있습니다. 자세한 내용은 [분석 콘솔과 상호 작용](xray-console-analytics.md) 섹션을 참조하세요.

# 분석 콘솔과 상호 작용
<a name="xray-console-analytics"></a>

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

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

**Topics**
+ [콘솔 기능](#xray-console-analytics-features)
+ [응답 시간 분포](#xray-console-analytics-response)
+ [시계열 활동](#xray-console-analytics-time)
+ [워크플로우 예시](#xray-console-analytics-workflows)
+ [서비스 그래프의 결함 관찰](#xray-console-analytics-observe-faults)
+ [응답 시간 피크 식별](#xray-console-analytics-response-peaks)
+ [상태 코드가 표시된 모든 추적 보기](#xray-console-analytics-response-peaks)
+ [사용자에게 연결된 하위 그룹 항목 모두 보기](#xray-console-analytics-subgroups)
+ [서로 다른 기준을 사용한 추적 집합 2개의 비교](#xray-console-analytics-compare)
+ [원하는 트레이스 식별 및 세부 정보 보기](#xray-console-analytics-identify)

## 콘솔 기능
<a name="xray-console-analytics-features"></a>

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

### Features
<a name="xray-console-analytics-features-table"></a>


| Feature | 설명 | 
| --- | --- | 
|  **Groups**  |  처음에 선택되는 그룹은 `Default`입니다. 검색된 그룹을 변경하려면 메인 필터 표현식 검색 창 오른쪽에 있는 메뉴에서 다른 그룹을 선택하십시오. 그룹에 대한 자세한 내용은 [그룹에 필터 표현식 사용](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html#groups)을 참조하십시오.  | 
|  **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를 통해 데이터를 가져오는 방법에 대한 자세한 내용은 [근본 원인 분석 가져오기 및 구체화](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-gettingdata.html#xray-api-analytics) 단원을 참조하십시오.  | 
|  **델타(**�**)**  |  추적 집합 A와 추적 집합 B가 모두 활성 상태일 때 지표 테이블에 추가되는 열입니다. 델타 열은 추적 집합 A와 추적 집합 B의 추적 비율 차이를 계산합니다.  | 

## 응답 시간 분포
<a name="xray-console-analytics-response"></a>

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

다음은 응답 시간 선 그래프와 연결되는 색상을 나타낸 것입니다(시계열 그래프는 동일한 색상 체계를 사용함).
+ **All traces in the group(그룹 내 모든 트레이스** – 회색
+ **Retrieved traces(검색된 트레이스)** – 주황색
+ **Filtered trace set A(필터링된 트레이스 집합 A)** – 녹색
+ **Filtered trace set B(필터링된 트레이스 집합 B)** – 파란색

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

![\[트레이스의 응답 시간 분포를 보여주는 차트입니다.\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/analytics-responseTime.png)


## 시계열 활동
<a name="xray-console-analytics-time"></a>

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

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

![\[필터 선택 및 생성\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/analytics-timeSeries.png)


## 워크플로우 예시
<a name="xray-console-analytics-workflows"></a>

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

## 서비스 그래프의 결함 관찰
<a name="xray-console-analytics-observe-faults"></a>

이 트레이스 맵은 오류 및 결함 직접 호출 성공 비율에 따라 각 노드의 색상을 다르게 표시해 노드의 상태를 표시합니다. 노드에서 빨간색 비율은 결함을 의미합니다. 이때는 X-Ray 분석 콘솔을 사용해 조사하십시오.

트레이스 맵을 읽는 방법에 대한 자세한 내용은 [트레이스 맵 보기](https://docs.aws.amazon.com/xray/latest/devguide/xray-console.html#xray-console-servicemap)를 참조하세요.

![\[결함 관찰\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/scorekeep-gettingstarted-servicemap-before-2021.png)


## 응답 시간 피크 식별
<a name="xray-console-analytics-response-peaks"></a>

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

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

![\[필터 선택 및 생성\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/analytics-showFilterf.png)


## 상태 코드가 표시된 모든 추적 보기
<a name="xray-console-analytics-response-peaks"></a>

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

## 사용자에게 연결된 하위 그룹 항목 모두 보기
<a name="xray-console-analytics-subgroups"></a>

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

## 서로 다른 기준을 사용한 추적 집합 2개의 비교
<a name="xray-console-analytics-compare"></a>

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

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

![\[선 그래프 비교\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/analytics-compareLines.png)


## 원하는 트레이스 식별 및 세부 정보 보기
<a name="xray-console-analytics-identify"></a>

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

# 그룹 구성
<a name="xray-console-groups"></a>

그룹은 필터 표현식으로 정의한 추적 모음입니다. 그룹을 사용하여 추가 서비스 그래프를 작성하여 Amazon CloudWatch 지표를 공급할 수 있습니다. AWS X-Ray 콘솔 또는 X-Ray API를 사용하여 서비스에 대한 그룹을 만들고 관리할 수 있습니다. 이 항목에서는 X-Ray 콘솔을 사용하여 그룹을 만들고 관리하는 방법에 대해 설명합니다. X-Ray API를 사용하여 그룹을 관리하는 방법에 대한 자세한 내용은 [그룹](xray-api-configuration.md#xray-api-configuration-groups)을 참조하십시오.

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

![\[그룹 메뉴\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/group-menu.png)


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

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

**참고**  
그룹은 필터 표현식과 일치하는 검색 완료 트레이스의 수로 청구됩니다. 자세한 내용은 [AWS X-Ray 요금](https://aws.amazon.com/xray/pricing/)을 참조하십시오.

**Topics**
+ [그룹 생성](#xray-console-group-create-console)
+ [그룹 적용](#xray-console-group-apply)
+ [그룹 편집](#xray-console-group-edit)
+ [그룹 복제](#xray-console-group-clone)
+ [그룹 삭제](#xray-console-group-delete)
+ [Amazon CloudWatch에서 그룹 지표 보기](#xray-console-group-cloudwatch)



## 그룹 생성
<a name="xray-console-group-create-console"></a>

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

------
#### [ CloudWatch console ]

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

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

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

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

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

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

   ```
   fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
   ```

1. **Insights(인사이트)**에서 그룹에 대한 인사이트 액세스를 활성화하거나 비활성화합니다. Insights(인사이트)에 대한 자세한 내용은 [X-Ray 인사이트 사용](xray-console-insights.md) 단원을 참조하십시오.  
![\[그룹 페이지의 인사이트 확인란\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/group-insights-cw.png)

1. **태그**에서 **새 태그 추가**를 선택하여 태그 키를 입력하고 선택적으로 태그 값을 입력합니다. 원하는 대로 태그를 계속 추가합니다. 각 태그 키는 고유해야 합니다. 태그를 삭제하려면 **Remove(제거)**를 선택합니다. 태그에 대한 자세한 내용은 [X-Ray 샘플링 규칙 및 그룹 태그 지정하기](xray-tagging.md) 섹션을 참조하세요.  
![\[그룹 페이지의 태그 필드\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/group-tags-cw.png)

1. **그룹 생성**을 선택합니다.

------
#### [ X-Ray console ]

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

1. 왼쪽 탐색 창의 **그룹** 페이지 또는 **트레이스 맵**, **트레이스**, **분석** 페이지 중 하나의 그룹 메뉴에서 **그룹 생성** 페이지를 엽니다.

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

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

   ```
   fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
   ```

1. **Insights(인사이트)**에서 그룹에 대한 인사이트 액세스를 활성화하거나 비활성화합니다. Insights(인사이트)에 대한 자세한 내용은 [X-Ray 인사이트 사용](xray-console-insights.md) 단원을 참조하십시오.  
![\[그룹 페이지의 인사이트 확인란\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/group-insights.png)

1. **태그**에서 태그 키와 태그 값(선택 사항)을 입력합니다. 태그를 추가하면 다른 태그를 입력할 수 있는 새 줄이 나타납니다. 각 태그 키는 고유해야 합니다. 태그를 삭제하려면 태그 행 끝에 있는 **X**를 선택합니다. 태그에 대한 자세한 내용은 [X-Ray 샘플링 규칙 및 그룹 태그 지정하기](xray-tagging.md) 섹션을 참조하세요.  
![\[그룹 페이지의 태그 필드\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/group-tags.png)

1. **그룹 생성**을 선택합니다.

------

## 그룹 적용
<a name="xray-console-group-apply"></a>

------
#### [ CloudWatch console ]

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

1. 탐색 창의 **X-Ray traces**에서 다음 페이지 중 하나를 엽니다.
   + **트레이스 맵**
   + **트레이스**

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

------
#### [ X-Ray console ]

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

1. 탐색 창에서 다음 페이지 중 하나를 엽니다:
   + **트레이스 맵**
   + **트레이스**
   + ** Analytics**

1. 그룹 메뉴에서 [그룹 생성](#xray-console-group-create-console)에서 생성한 그룹을 선택합니다. 페이지에 표시되는 데이터는 그룹에 설정된 필터 표현식과 일치하도록 변경됩니다.

------

## 그룹 편집
<a name="xray-console-group-edit"></a>

------
#### [ CloudWatch console ]

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

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

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

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

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

   ```
   fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
   ```

1. **Insights(인사이트)**에서 그룹에 대한 인사이트 액세스를 활성화하거나 비활성화합니다. Insights(인사이트)에 대한 자세한 내용은 [X-Ray 인사이트 사용](xray-console-insights.md) 단원을 참조하십시오.  
![\[그룹 페이지의 인사이트 확인란\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/group-insights-cw.png)

1. **태그**에서 **새 태그 추가**를 선택하여 태그 키를 입력하고 선택적으로 태그 값을 입력합니다. 원하는 대로 태그를 계속 추가합니다. 각 태그 키는 고유해야 합니다. 태그를 삭제하려면 **Remove(제거)**를 선택합니다. 태그에 대한 자세한 내용은 [X-Ray 샘플링 규칙 및 그룹 태그 지정하기](xray-tagging.md) 섹션을 참조하세요.  
![\[그룹 페이지의 태그 필드\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/group-tags-cw.png)

1. 그룹 업데이트를 마치면 **그룹 업데이트**를 선택합니다.

------
#### [ X-Ray console ]

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

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

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

   1. 다음 페이지 중 하나의 그룹 메뉴에서 그룹을 가리킨 다음 **편집**을 선택합니다.
      + **트레이스 맵**
      + **트레이스**
      + ** Analytics**

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

   ```
   fault = true AND http.url CONTAINS "example/game" AND responsetime >= 5
   ```

1. **Insights(인사이트)**에서 그룹에 대한 통찰력 및 통찰력 알림을 활성화하거나 비활성화합니다. Insights(인사이트)에 대한 자세한 내용은 [X-Ray 인사이트 사용](xray-console-insights.md) 단원을 참조하십시오.  
![\[그룹 페이지의 인사이트 확인란\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/group-insights.png)

1. 태그에서 **태그** 키 및 값을 편집합니다. 각 태그 키는 고유해야 합니다. 태그 값은 선택 사항이며 원하는 경우 값을 삭제할 수 있습니다. 태그를 삭제하려면 태그 행 끝에 있는 **X**를 선택합니다. 태그에 대한 자세한 내용은 [X-Ray 샘플링 규칙 및 그룹 태그 지정하기](xray-tagging.md) 섹션을 참조하세요.  
![\[그룹 페이지의 태그 필드\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/group-tags.png)

1. 그룹 업데이트를 마치면 **그룹 업데이트**를 선택합니다.

------

## 그룹 복제
<a name="xray-console-group-clone"></a>

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

------
#### [ CloudWatch console ]

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

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

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

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

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

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

   ```
   service("api.example.com") { fault = true OR responsetime >= 5 }
   ```

1. 필요한 경우 태그에서 **태그** 키 및 값을 편집합니다. 각 태그 키는 고유해야 합니다. 태그 값은 선택 사항이며 원하는 경우 값을 삭제할 수 있습니다. 태그를 삭제하려면 태그 행 끝에 있는 **X**를 선택합니다. 태그에 대한 자세한 내용은 [X-Ray 샘플링 규칙 및 그룹 태그 지정하기](xray-tagging.md) 섹션을 참조하세요.

1. **그룹 생성**을 선택합니다.

------
#### [ X-Ray console ]

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

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

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

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

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

   ```
   service("api.example.com") { fault = true OR responsetime >= 5 }
   ```

1. 필요한 경우 태그에서 **태그** 키 및 값을 편집합니다. 각 태그 키는 고유해야 합니다. 태그 값은 선택 사항이며 원하는 경우 값을 삭제할 수 있습니다. 태그를 삭제하려면 태그 행 끝에 있는 **X**를 선택합니다. 태그에 대한 자세한 내용은 [X-Ray 샘플링 규칙 및 그룹 태그 지정하기](xray-tagging.md) 섹션을 참조하세요.

1. **그룹 생성**을 선택합니다.

------

## 그룹 삭제
<a name="xray-console-group-delete"></a>

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

------
#### [ CloudWatch console ]

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

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

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

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

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

------
#### [ X-Ray console ]

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

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

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

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

------

## Amazon CloudWatch에서 그룹 지표 보기
<a name="xray-console-group-cloudwatch"></a>

그룹이 생성된 후 수신 추적은 X-Ray 서비스에 저장될 때 그룹의 필터 표현식에 대해 확인됩니다. 각 기준과 일치하는 추적 수에 대한 지표는 매분마다 Amazon CloudWatch에 게시됩니다. **그룹 편집** 페이지에서 **지표 보기**를 선택하면 CloudWatch 콘솔에서 **지표** 페이지가 열립니다. CloudWatch 지표를 사용하는 방법에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Amazon CloudWatch 지표 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)을 참조하세요.

------
#### [ CloudWatch console ]

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

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

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

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

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

   그러면 Amazon CloudWatch 콘솔에 **지표** 페이지가 열립니다.

------
#### [ X-Ray console ]

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

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

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

   그러면 Amazon CloudWatch 콘솔에 **지표** 페이지가 열립니다.

------

# 샘플링 규칙 구성
<a name="xray-console-sampling"></a>

 AWS X-Ray 콘솔을 사용하여 서비스에 대한 샘플링 규칙을 구성할 수 있습니다. 샘플링 구성으로 [활성 추적](xray-services.md) AWS 서비스 을 지원하는 AWS Distro for OpenTelemetry, X-Ray SDK 및는 샘플링 규칙을 사용하여 기록할 요청을 결정합니다.

**Topics**
+ [샘플링 규칙 구성](#xray-console-config)
+ [샘플링 규칙 사용자 정의](#xray-console-custom)
+ [샘플링 규칙 옵션](#xray-console-sampling-options)
+ [샘플링 규칙 예](#xray-console-sampling-examples)
+ [샘플링 규칙을 사용하도록 서비스 구성](#xray-console-sampling-service)
+ [샘플링 결과 보기](#xray-console-sampling-results)
+ [다음 단계](#xray-console-sampling-nextsteps)

## 샘플링 규칙 구성
<a name="xray-console-config"></a>

다음 사용 사례에 대한 샘플링을 구성할 수 있습니다.
+ **API 게이트웨이 진입점** — API 게이트웨이는 샘플링 및 활성 추적을 지원합니다. API 단계에서 적극 추적을 활성화하려면 [AWS X-Ray에 대한 Amazon API Gateway 액티브 트레이싱 지원](xray-services-apigateway.md) 단원을 참조하십시오.
+ **AWS AppSync** - 샘플링 및 활성 추적을 AWS AppSync 지원합니다. 요청에 대해 AWS AppSync 활성 추적을 활성화하려면 [AWS X-Ray로 추적](https://docs.aws.amazon.com/appsync/latest/devguide/x-ray-tracing.html)을 참조하세요.
+ **AWS Step Functions** - 샘플링 및 활성 추적을 AWS Step Functions 지원합니다. 상태 시스템에서 활성 추적을 AWS Step Functions 활성화하려면 [Step Functions의 X-Ray 추적을 참조하세요](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-xray-tracing.html).
+ **컴퓨팅 플랫폼에서 OpenTelemetry용 Instrument AWS Distro** - Amazon EC2, Amazon ECS 또는 같은 컴퓨팅 플랫폼을 사용하는 경우 애플리케이션이 최신 AWS Distro for OpenTelemetry 또는 X-Ray SDK로 계측된 경우 AWS Elastic Beanstalk샘플링이 지원됩니다.

## 샘플링 규칙 사용자 정의
<a name="xray-console-custom"></a>

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

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

X-Ray 콘솔에서 샘플링 규칙을 정의하고 X-Ray 서비스에서 규칙을 읽도록 [SDK를 구성](#xray-console-sampling-service)하면 이러한 문제를 모두 피할 수 있습니다. 서비스는 각 규칙의 리저버를 관리하고, 서비스의 각 인스턴스에 할당량을 할당하여 실행 중인 인스턴스의 수에 따라 리저버를 고르게 배포합니다. 리저버 제한은 설정한 규칙에 따라 계산됩니다. 그리고 규칙이 서비스에 구성되어 있기 때문에 추가로 배포하지 않고도 규칙을 관리할 수 있습니다.

**참고**  
샘플링 규칙을 구성할 때는 X-Ray 샘플링이 "상위 기반"임을 이해하는 것이 중요합니다. 즉, 샘플링 결정은 일반적으로 요청을 처리하는 첫 번째 X-Ray-enabled 서비스("루트" 서비스)에 의해 한 번만 이루어집니다.  
다운스트림 서비스가 이미 업스트림 상위로부터 샘플링 결정이 있는 요청을 수신하면 일치하는 샘플링 규칙에 관계없이 해당 결정을 준수합니다.  
규칙이 적용되는 경우: 사용자 지정 샘플링 규칙은 샘플링 결정이 아직 이루어지지 않은 서비스에만 적용됩니다. 이는 일반적으로 다음에 적용됩니다.  
애플리케이션의 진입점(예: API Gateway, Load Balancer 또는 첫 번째 계측된 마이크로서비스).
새로운 트레이스를 시작하는 비동기 프로세스 또는 작업자.
일반적인 함정: "서비스 B"에 대해 엄격한 샘플링 규칙을 생성하지만 "서비스 B"가 항상 "서비스 A"에 의해 호출되는 경우 서비스 B에 대한 규칙은 단순히 서비스 A에 의해 전달된 결정을 따르기 때문에 적용되지 않을 가능성이 높습니다.이 워크플로에 대한 트레이스 샘플링을 변경하려면 샘플링 규칙을 루트 서비스(서비스 A)로 구성해야 합니다.

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

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

**CloudWatch 콘솔에서 샘플링 규칙을 구성하려면**

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

1. **설정** 아래의 왼쪽 탐색 창에서 **설정을** 선택합니다.

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

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

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

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

## 샘플링 규칙 옵션
<a name="xray-console-sampling-options"></a>

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

**샘플링 규칙 옵션**
+ **규칙 이름**(문자열) - 규칙의 고유한 이름입니다.
+ **우선 순위**(1\$19999 사이의 정수) - 샘플링 규칙의 우선 순위입니다. 서비스에서 규칙의 우선 순위를 오름차순으로 평가하며 일치하는 첫 번째 규칙으로 샘플링을 결정합니다.
+ **리저버** (음수가 아닌 정수) – 고정 비율을 적용하기 전의 초당 구성과 일치하는 요청의 일정한 수. 리저버는 서비스에서 직접 사용하지 않지만 규칙을 총체적으로 사용하여 모든 서비스에 적용됩니다.
+ **속도**(0\$1100 사이의 정수) - 리저버가 소진된 후, 계측과 일치하는 요청의 백분율입니다. 콘솔에서 샘플링 규칙을 구성할 때 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::EKS::Container` - Amazon EKS 컨테이너(플러그인).
  + `AWS::APIGateway::Stage` – Amazon API Gateway 단계
  + `AWS::AppSync::GraphQLAPI ` - AWS AppSync API 요청입니다.
  + `AWS::StepFunctions::StateMachine` - AWS Step Functions 상태 시스템입니다.
+ **호스트**(문자열) - 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 요청의 헤더.
+ (선택 사항) **SamplingRateBoost**(객체) - 이상 구동 샘플링 부스트 동작을 제어합니다.
  + MaxRate(0\$1100 사이의 정수) - 이상 발생 시 최대 샘플링 속도(0.0\$11.0) X-Ray가 증가할 수 있습니다.
  + CooldownWindowMinutes(0보다 큰 정수) - 한 번의 부스트만 트리거할 수 있는 기간(분)으로 연속 부스트를 방지합니다.

## 샘플링 규칙 예
<a name="xray-console-sampling-examples"></a>

**Example – 리저버가 없고 비율이 낮은 기본 규칙**  
기본 규칙의 리저버와 비율을 수정할 수 있습니다. 기본 규칙은 다른 규칙과 일치하지 않는 요청에 적용됩니다.  
+ **리저버**: **0**
+ **속도**: **5** (JSON 문서를 사용하여 구성한 경우 **0.05**)

**Example – 문제가 있는 경로에 대한 모든 요청을 추적하는 디버깅 규칙**  
디버깅을 위해 우선 순위가 높은 규칙이 일시적으로 적용되었습니다.  
+ **규칙 이름**: **DEBUG – history updates**
+ **우선 순위**: **1**
+ **리저버**: **1**
+ **속도**: **100** (JSON 문서를 사용하여 구성한 경우 **1**)
+ **서비스 이름**: **Scorekeep**
+ **서비스 유형**: **\$1**
+ **호스트**: **\$1**
+ **HTTP 메서드**: **PUT**
+ **URL 경로**: **/history/\$1**
+ **리소스 ARN**: **\$1**

**Example – POST에 대한 더 높은 최소 비율**  
+ **규칙 이름**: **POST minimum**
+ **우선 순위**: **100**
+ **리저버**: **10**
+ **속도**: **10** (JSON 문서를 사용하여 구성한 경우 **.1**)
+ **서비스 이름**: **\$1**
+ **서비스 유형**: **\$1**
+ **호스트**: **\$1**
+ **HTTP 메서드**: **POST**
+ **URL 경로**: **\$1**
+ **리소스 ARN**: **\$1**

**Example 이상 구동 부스트 활성화**  
이상 발생 시 샘플링 부스트를 최대 50% 트리거하는 규칙을 10분 휴지로 구성합니다.  
+ **규칙 이름**: **MyAdaptiveRule**
+ **우선 순위**: **100**
+ **리저버**: **1**
+ **FixedRate**: **0.0510**
+ **서비스 이름**: **\$1**
+ **서비스 유형**: **\$1**
+ **호스트**: **\$1**
+ **HTTP 메서드**: **POST**
+ **URL 경로**: **\$1**
+ **maxRate**: **0.5**
+ **cooldownWindowMinutes**: **10**

## 샘플링 규칙을 사용하도록 서비스 구성
<a name="xray-console-sampling-service"></a>

 AWS Distro for OpenTelemetry(ADOT) 및 X-Ray SDK에는 콘솔에서 구성하는 샘플링 규칙을 사용하기 위한 추가 구성이 필요합니다. 샘플링 전략 구성에 대한 자세한 내용은 해당 언어의 구성 주제를 참조하십시오.
+ Java: ADOT Java에서 [X-Ray 원격 샘플링 사용](https://aws-otel.github.io/docs/getting-started/java-sdk/auto-instr#using-x-ray-remote-sampling) 
+ Go: ADOT Go를 사용하여 [샘플링 구성](https://aws-otel.github.io/docs/getting-started/go-sdk/manual-instr#configuring-sampling) 
+ Node.js: ADOT JavaScript에서 [X-Ray 원격 샘플링 사용](https://aws-otel.github.io/docs/getting-started/js-sdk/trace-metric-auto-instr#using-x-ray-remote-sampling) 
+ Python: ADOT Python에서 [X-Ray 원격 샘플링 사용](https://aws-otel.github.io/docs/getting-started/python-sdk/auto-instr#using-x-ray-remote-sampling) 
+ Ruby: [샘플링 규칙](xray-sdk-ruby-configuration.md#xray-sdk-ruby-configuration-sampling)
+ .NET: ADOT .NET에서 [X-Ray 원격 샘플링 사용](https://aws-otel.github.io/docs/getting-started/dotnet-sdk/auto-instr#using-x-ray-remote-sampling) 

API 게이트웨이의 경우 [AWS X-Ray에 대한 Amazon API Gateway 액티브 트레이싱 지원](xray-services-apigateway.md) 단원을 참조하십시오.

## 샘플링 결과 보기
<a name="xray-console-sampling-results"></a>

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

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

**샘플링 통계**
+ **총 일치된 규칙**: 이 규칙과 일치한 요청 수입니다. 이 수에는 이 규칙과 일치했을 수 있었지만 먼저 우선 순위가 더 높은 규칙과 일치한 요청은 포함되지 않습니다.
+ **총 샘플링 수**: 기록된 요청 수입니다.
+ **고정 비율로 샘플링됨**: 규칙의 고정 비율을 적용하여 샘플링된 요청 수입니다.
+ **리저버 한도로 샘플링됨**: 가 할당한 할당량을 사용하여 샘플링된 요청 수입니다.
+ **리저버에서 빌림**: 리저버에서 빌려 샘플링된 요청 수입니다. 서비스에서 요청을 규칙에 처음 일치시킬 때 X-Ray가 아직 할당량을 할당하지 않았습니다. 그러나 리저버가 1이상인 경우 X-Ray가 할당량을 할당할 때까지 서비스는 초당 트레이스 하나를 빌립니다.

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

## 다음 단계
<a name="xray-console-sampling-nextsteps"></a>

X-Ray API를 사용하여 샘플링 규칙을 관리할 수 있습니다. API를 사용하여 일정을 기반으로 또는 경보나 알림에 대한 응답으로 규칙을 프로그래밍 방식으로 생성하고 업데이트할 수 있습니다. 지침 및 추가 규칙 예제는 [AWS X-Ray API를 사용하여 샘플링, 그룹 및 암호화 설정 구성](xray-api-configuration.md) 섹션을 참조하세요.

 AWS Distro for OpenTelemetry, X-Ray SDK 및는 X-Ray API를 AWS 서비스 사용하여 샘플링 규칙을 읽고, 샘플링 결과를 보고하고, 샘플링 대상을 가져옵니다. 서비스는 각 규칙을 적용하는 빈도를 추적하고, 우선 순위에 따라 규칙을 평가하며, 요청이 X-Ray가 아직 서비스에 할당량을 할당하지 않은 규칙과 일치하는 경우 리저버에서 빌려야 합니다. 서비스가 샘플링에 API를 사용하는 방법에 대한 자세한 내용은 [X-Ray API에 샘플링 규칙 사용](xray-api-sampling.md) 단원을 참조하십시오.

 AWS Distro for OpenTelemetry 또는 X-Ray SDK 호출 샘플링 APIs는 CloudWatch 에이전트를 프록시로 사용합니다. 이미 TCP 포트 2000을 사용하는 경우 다른 포트에서 프록시를 실행하도록 에이전트를 구성할 수 있습니다. 자세한 내용은 [CloudWatch 에이전트 설치 안내서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)를 참조하세요.

# 적응형 샘플링 구성
<a name="xray-adaptive-sampling"></a>

이상 스파이크 중에 중요한 추적이 누락되면 근본 원인 분석이 어려울 수 있습니다. 그러나 샘플링 속도를 높게 유지하려면 비용이 많이 듭니다. X-Ray 적응형 샘플링은 이상 현상에 대한 완전한 가시성을 제공하고 정상 운영 중에 비용을 제어합니다. 적응형 샘플링을 사용하면 최대 샘플링 속도를 설정하면 X-Ray가 해당 제한 내에서 자동으로 조정됩니다. X-Ray는 오류 추적을 캡처하는 데 필요한 최소 부스트를 계산합니다. 기준 속도가 충분한 데이터를 캡처하면 부스트가 발생하지 않습니다. 필요한 경우에만 추가 샘플링 비용을 지불합니다.

적응형 샘플링 사용의 이점:
+ 전체 인시던트 가시성 - 인시던트 발생 시 수동 개입 없이 전체 추적을 얻을 수 있습니다. X-Ray는 샘플링 속도를 자동으로 조정하여 오류 추적을 캡처한 다음 정상 속도로 돌아갑니다.
+ 근본 원인 가시성 - 항상 문제의 원인을 확인합니다. X-Ray는 전체 추적 샘플링이 트리거되지 않은 경우에도 중요한 오류 데이터를 캡처합니다.
+ 비용 최적화 - 짧은 샘플링 부스트(최대 1분) 및 자동 휴지 기간이 오버샘플링을 방지합니다. 문제를 진단하는 데 필요한 데이터에 대해서만 비용을 지불합니다.

**Topics**
+ [지원되는 SDK 및 플랫폼](#adaptive-sampling-supported-sdks)
+ [적응형 샘플링 접근 방식 선택](#adaptive-sampling-features)
+ [로컬 SDK 구성](#local-sdk-configuration)

## 지원되는 SDK 및 플랫폼
<a name="adaptive-sampling-supported-sdks"></a>

**지원되는 SDK** - 적응형 샘플링에는 최신 버전의 ADOT SDK가 필요합니다.

**지원되는 언어** - Java(버전 [v2.11.5](https://github.com/aws-observability/aws-otel-java-instrumentation/releases/tag/v2.11.5) 이상)

애플리케이션은 지원되는 ADOT SDK로 계측되고 Amazon CloudWatch 에이전트 또는 OpenTelemetry Collector와 함께 실행되어야 합니다.

예를 들어 Amazon EC2, Amazon ECS 및 Amazon EKS는 AWS Application Signals가 ADOT SDK 및 Amazon CloudWatch 에이전트를 활성화하기 위한 지침을 제공하는 일반적인 플랫폼입니다.

## 적응형 샘플링 접근 방식 선택
<a name="adaptive-sampling-features"></a>

적응형 샘플링은 샘플링 부스트와 이상 스팬 캡처라는 두 가지 접근 방식을 지원합니다. 이들은 독립적으로 적용하거나 함께 결합할 수 있습니다.

### 샘플링 부스트
<a name="adaptive-sampling-boost"></a>

적응형 샘플링 부스트는 샘플링 규칙을 기반으로 하며 기존 X-Ray 헤드 기반 샘플링 모델과 함께 작동합니다. 헤드 기반 샘플링은 루트 서비스에서 샘플링 결정을 내리고 샘플링 플래그가 콜 체인의 모든 서비스에 다운스트림으로 전달됨을 의미합니다.
+ **규칙 기반 부스팅** - 부스팅은 항상 특정 X-Ray 샘플링 규칙과 연결됩니다. 각 규칙은 자체 최대 부스트 속도와 휴지 동작을 정의할 수 있습니다.
+ **헤드 기반 샘플링** - 샘플링 결정은 루트 서비스에서 이루어지며 샘플링 플래그는 콜 체인의 모든 서비스에 다운스트림으로 전달됩니다.
+ **이상 중심** - X-Ray는 SDK를 사용하여 이상 통계를 보고합니다. X-Ray는 오류 또는 높은 지연 시간과 같은 이상을 감지하면 이러한 통계를 사용하여 적절한 부스트 속도(구성된 최대 수치까지)를 계산합니다.

**이상 보고**

직접 호출 체인의 모든 애플리케이션 서비스는 필요한 SDK를 통해 이상 통계를 내보낼 수 있습니다.
+ **루트 서비스** - 샘플링 부스트를 활성화하려면 지원되는 SDK 및 플랫폼에서 실행해야 합니다. 루트 서비스가 지원되지 않으면 부스트가 발생하지 않습니다.
+ **다운스트림 서비스** - 다운스트림 서비스는 이상만 보고하며 샘플링 결정을 내릴 수는 없습니다. 다운스트림 서비스가 지원되는 SDK를 실행 중인 경우 이상 현상이 감지되면 샘플링 부스트가 트리거될 수 있습니다. 다운스트림 서비스가 지원되지 않는 경우(예: 이전 SDK 실행) 해당 서비스의 이상 현상은 부스트를 트리거하지 않습니다. 이러한 서비스는 표준 컨텍스트 전파(예: W3C 추적 컨텍스트 및 배기지)를 따를 때 여전히 다운스트림으로 컨텍스트를 전파할 수 있습니다. 이렇게 하면 추가 다운스트림 서비스에서 지원되는 SDK가 부스트를 트리거하는 이상 현상을 보고할 수 있습니다.

**부스트 타이밍 및 범위**
+ **트리거 지연** - X-Ray가 이상을 감지한 후 최소 10초 후에 샘플링 부스트가 시작될 것으로 예상할 수 있습니다.
+ **부스트 기간** - X-Ray가 부스트를 트리거한 후 최대 1분 동안 지속된 후 기본 샘플링 속도로 돌아갑니다.
+ **휴지 부스트 -** 부스트가 발생한 후 휴지 기간이 경과할 때까지 X-Ray는 동일한 규칙에 대해 다른 부스트를 트리거하지 않습니다.

  예를 들어 `cooldown`을 10분으로 설정하면 부스트가 종료되면 다음 10분 기간까지 새 부스트를 트리거할 수 없습니다.

  특수 사례: `cooldown`을 1분으로 설정한 경우 부스트 자체가 최대 1분 동안 지속될 수 있으므로 이상이 지속되면 부스트가 계속 효과적으로 트리거될 수 있습니다.

**참고**  
루트 서비스에 지원되는 SDK 및 플랫폼을 사용합니다. 샘플링 부스트는 지원되는 SDK 및 플랫폼에서만 작동합니다. 샘플링 부스트는 이상 추적을 캡처할 가능성이 높지만 모든 이상 추적을 캡처하지는 못할 수 있습니다.

**가시성 향상**

샘플링 규칙이 적응형 샘플링 부스트로 구성된 경우 X-Ray는 부스트 활동을 모니터링할 수 있는 판매 지표를 자동으로 내보냅니다.
+ **메트릭 이름** – `SamplingRate`
+ **차원** - `RuleName`(실제 규칙 이름으로 설정됨)

`SamplingRateBoost`가 활성화된 각 규칙은 기준 비율과 임시 부스트를 모두 포함하여 유효 샘플링 비율을 게시합니다. 다음 작업을 수행할 수 있습니다.
+ 부스트가 트리거될 때 추적
+ 각 규칙의 유효 샘플링 속도 모니터링
+ 부스트를 애플리케이션 이상(예: 오류 급증 또는 지연 시간 이벤트)과 연관시킵니다.

**Amazon CloudWatch 지표의 AWS/X-Ray 네임스페이스에서 이러한 지표를 볼 수 있습니다. 지표 값은 유효 샘플링 속도를 나타내는 0과 1 사이의 부동 소수점 숫자입니다**.

**X-Ray 샘플링 규칙을 사용하여 샘플링 부스트 구성**

새 `SamplingRateBoost` 필드를 추가하여 기존 X-Ray 샘플링 규칙에서 직접 적응형 샘플링을 활성화할 수 있습니다. 자세한 내용은 [샘플링 규칙 사용자 지정](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html#xray-console-custom)을 참조하세요. 이를 통해 애플리케이션 코드를 수정하거나 애플리케이션 배포를 적용하지 않고도 적응형 샘플링을 활성화할 수 있는 중앙 집중식 방법을 제공합니다. 적응형 샘플링을 활성화하면 X-Ray는 구성된 최대값 내에서 샘플링 속도를 유지하면서 오류 급증 또는 지연 시간 이상치와 같은 이상 현상 중에 샘플링을 자동으로 늘립니다. `SamplingRateBoost`는 `Default` 샘플링 규칙을 제외한 모든 사용자 지정 샘플링 규칙에 적용할 수 있습니다.

`SamplingRateBoost` 필드는 이상 중심 샘플링에 대한 상한 및 동작을 정의합니다.

```
"SamplingRateBoost": {
  "MaxRate": 0.25,
  "CooldownWindowMinutes": 10
}
```

`MaxRate`는 이상을 감지할 때 X-Ray가 적용할 최대 샘플링 속도를 정의합니다. 값 범위는 `0.0`\$1`1.0`입니다. 예를 들어 `"MaxRate": 0.25`는 이상 기간 동안 샘플링이 요청의 최대 25%까지 증가하도록 허용합니다. X-Ray는 이상 활동에 따라 기준과 최대값 사이의 적절한 비율을 결정합니다.

`CooldownWindowMinutes`는 샘플링 속도 부스트를 하나만 트리거할 수 있는 기간(분)을 정의합니다. 부스트가 발생한 후에는 다음 기간까지 추가 부스트가 허용되지 않습니다. 값 유형은 *정수(분)*입니다.

**적응형 샘플링을 사용하는 규칙 예제**

```
{
  "RuleName": "MyAdaptiveRule",
  "Priority": 1,
  "ReservoirSize": 1,
  "FixedRate": 0.05,
  "ServiceName": "*",
  "ServiceType": "*",
  "Host": "*",
  "HTTPMethod": "*",
  "URLPath": "*",
  "SamplingRateBoost": {
    "MaxRate": 0.25,
    "CooldownWindowMinutes": 10
  }
}
```

이 예제에서 기준 샘플링은 5%(`FixedRate: 0.05`)입니다. 이상 발생 시 X-Ray는 샘플링을 최대 25%(`MaxRate: 0.25`)까지 늘릴 수 있습니다. 10분마다 한 번만 부스트합니다.

**이상 조건 구성**

이상 조건 구성이 제공되지 않은 경우 ADOT SDK는 **HTTP 5xx 오류 코드**를 기본 이상 조건으로 사용하여 샘플링 부스트를 트리거합니다.

환경 변수를 사용하여 지원되는 ADOT SDK에서 이상 조건을 로컬로 미세 조정할 수도 있습니다. 자세한 내용은 [로컬 SDK 구성](#local-sdk-configuration) 섹션을 참조하세요.

### 이상 스팬 캡처
<a name="anomaly-spans-capture"></a>

이상 스팬 캡처를 사용하면 전체 추적이 샘플링되지 않더라도 이상을 나타내는 중요한 스팬이 항상 기록됩니다. 이 기능은 향후 추적에 대한 샘플링을 늘리는 대신 이상 현상 자체를 캡처하는 데 집중하여 샘플링 부스트를 보완합니다.

ADOT SDK는 이상을 감지하면 샘플링 결정에 관계없이 즉시 해당 스팬을 방출합니다. SDK는 이상과 관련된 스팬만 내보내므로 이러한 추적은 전체 종단 간 트랜잭션이 아니라 부분 추적입니다.

ADOT SDK가 이상 스팬을 감지하면 동일한 추적에서 가능한 한 많은 스팬을 내보내려고 시도합니다. 이 기능에서 내보내는 모든 스팬에는 속성 `aws.trace.flag.sampled = 0`으로 태그가 지정됩니다. 이를 통해 트랜잭션 검색 및 분석에서 부분 추적(이상 캡처)과 전체 추적(정상 샘플링)을 쉽게 구별할 수 있습니다.

부분 추적을 보고 쿼리하려면 [트랜잭션 검색](https://docs.aws.amazon.com/xray/latest/devguide/xray-transactionsearch.html)을 온보딩하는 것이 좋습니다. 다음 예제는 [Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html) 콘솔의 서비스 페이지를 보여줍니다. ServiceC는 이상 스팬 캡처로 구성되며 샘플링 부스트가 적용되는 콜 체인의 일부입니다. 이 구성은 전체 추적과 부분 추적을 모두 생성합니다. `aws.trace.flag.sampled` 속성을 사용하여 추적 유형을 구분할 수 있습니다.

![\[이상 스팬 캡처\]](http://docs.aws.amazon.com/ko_kr/xray/latest/devguide/images/adaptive-sampling.png)


이상 스팬 캡처는 [로컬 SDK 구성](#local-sdk-configuration)을 통해서만 활성화하거나 사용자 지정할 수 있습니다.

## 로컬 SDK 구성
<a name="local-sdk-configuration"></a>

환경 변수를 통해 YAML 구성을 제공하여 ADOT SDK에서 적응형 샘플링 기능을 구성할 수 있습니다. 로컬 구성은 이상 조건, 임계값을 세밀하게 제어할 수 있습니다.

이는 *이상 스팬 캡처*에 필요하며 *샘플링 부스트* 조건을 사용자 지정하기 위한 선택 사항입니다. 다음은 구성의 예입니다.

```
version: 1.0
anomalyConditions:
  - errorCodeRegex: "^5\\d\\d$"
    usage: both
  - operations:
      - "/api"
    errorCodeRegex: "^429|5\\d\\d$"
    highLatencyMs: 300
    usage: sampling-boost
  - highLatencyMs: 1000
    usage: anomaly-span-capture

anomalyCaptureLimit:
  anomalyTracesPerSecond: 1
```

필드 정의는 다음과 같습니다.
+ `version` - 해당 구성 파일의 스키마 버전입니다.
+ `anomalyConditions` - 이상이 감지되는 조건과 사용 방법을 정의합니다.
  + `errorCodeRegex` - 이상으로 간주되는 HTTP 상태 코드를 정의하는 정규 표현식입니다.
  + `operations` - 조건이 적용되는 작업 또는 엔드포인트 목록이빈다.
  + `highLatencyMs` - 스팬이 이상으로 처리되는 지연 시간 임계값(밀리초)입니다.
  + `usage` - 조건이 적용되는 기능을 정의합니다.
    + `both` - **샘플링 부스트** 및 **이상 스팬 캡처**에 적용됩니다(사용이 지정되지 않은 경우 기본값).
    + `sampling-boost` - 샘플링 부스트를 트리거하는 데만 사용됩니다.
    + `anomaly-span-capture` - 이상 스팬 캡처에만 사용됩니다.
+ `anomalyCaptureLimit` - 이상 스팬이 방출되는 추적 수에 대한 제한을 정의합니다.

  `anomalyTracesPerSecond` - 과도한 스팬 볼륨을 방지하기 위해 초당 캡처된 이상 스팬이 있는 최대 추적 수입니다(anomalyCaptureLimit이 없는 경우 기본값은 1).

**참고**  
`AnomalyConditions`는 샘플링 부스트(HTTP 5xx)에 대한 기본 이상 조건을 **재정의**합니다. 로컬 구성을 사용하는 동안 기본 조건을 유지하려면 `AnomalyConditions`의 모든 항목에 명시적으로 포함해야 합니다.
각 `anomalyConditions` 항목에 대해:  
`operations` 필드를 **생략**하면 조건이 **모든 작업**(서비스 수준)에 적용됩니다.
`operations` 필드가 있지만 **빈 목록**으로 설정된 경우 조건은 **작업 없음**에 적용되므로 해당 항목이 작동하지 않습니다.
`errorCodeRegex` 및 `highLatencyMs`를 모두 생략하면 조건에 평가할 이상 기준이 없으므로 해당 항목이 작동하지 않습니다.
논리적 관계:  
`anomalyConditions`의 항목 간 관계는 **OR**입니다.
단일 항목 내에서 여러 필드(예: `errorCodeRegex` 및 `highLatencyMs`)가 **AND**로 결합됩니다.  
예:  

    ```
    errorCodeRegex: "^429|5\\d\\d$"
    highLatencyMs: 300
    ```
이 조건은 **상태 코드가 429 또는 5xx와 일치하고 지연 시간이 ≥ 300ms임**을 의미합니다.

### ADOT SDK에 로컬 구성 적용
<a name="apply-local-configuration"></a>

환경 변수 `AWS_XRAY_ADAPTIVE_SAMPLING_CONFIG`를 설정하여 ADOT SDK에 로컬 구성을 적용할 수 있습니다. 값은 유효한 YAML 문서(인라인 또는 중첩)여야 합니다.

예를 들어 Amazon EC2 및 Amazon ECS는 환경 변수를 직접 설정합니다.

```
AWS_XRAY_ADAPTIVE_SAMPLING_CONFIG="{version: 1.0, anomalyConditions: [{errorCodeRegex: \"^500$\", usage: \"sampling-boost\"}, {errorCodeRegex: \"^501$\", usage: \"anomaly-trace-capture\"}], anomalyCaptureLimit: {anomalyTracesPerSecond: 10}}"
```

Amazon EKS의 경우 포드 사양 내의 환경 변수를 중첩된 YAML로 정의합니다.

```
apiVersion: v1
kind: Pod
metadata:
  name: adot-sample
spec:
  containers:
    - name: adot-app
      image: my-app:latest
      env:
        - name: AWS_XRAY_ADAPTIVE_SAMPLING_CONFIG
          value: |
            version: 1.0
            anomalyConditions:
              - errorCodeRegex: "^500$"
                usage: sampling-boost
              - errorCodeRegex: "^501$"
                usage: anomaly-trace-capture
            anomalyCaptureLimit:
              anomalyTracesPerSecond: 10
```

# 콘솔 심층 연결
<a name="xray-console-deeplinks"></a>

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

**콘솔 페이지**
+ 시작 페이지 – [xray/home\$1/welcome](https://console.aws.amazon.com/xray/home#/welcome)
+ 시작하기 – [xray/home\$1/getting-started](https://console.aws.amazon.com/xray/home#/getting-started)
+ 트레이스 맵 – [xray/home\$1/service-map](https://console.aws.amazon.com/xray/home#/service-map)
+ 트레이스 – [xray/home\$1/traces](https://console.aws.amazon.com/xray/home#/traces)

## 트레이스
<a name="xray-console-deeplinks-traces"></a>

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

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

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

**Example – 원시 트레이스 데이터**  

```
https://console.aws.amazon.com/xray/home#/traces/1-57f5498f-d91047849216d0f2ea3b6442/raw
```

## 필터 표현식
<a name="xray-console-deeplinks-filters"></a>

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

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

**Example – 필터 표현식**  

```
https://console.aws.amazon.com/xray/home#/traces?filter=service("api.amazon.com") { fault = true OR responsetime > 2.5 } AND annotation.foo = "bar"
```

**Example – 필터 표현식(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
```

필터 표현식에 대한 자세한 내용은 단원을 참조하십시오[필터 표현식 사용](xray-console-filters.md)

## 시간 범위
<a name="xray-console-deeplinks-time"></a>

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

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

**Example – 지난 한 시간 동안의 트레이스 맵**  

```
https://console.aws.amazon.com/xray/home#/service-map?timeRange=PT1H
```

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

**Example – 초 단위 시간 범위**  

```
https://console.aws.amazon.com/xray/home#/traces?timeRange=2023-7-01T16:00:00~2023-7-01T22:00:00
```

**Example – 분 단위 시간 범위**  

```
https://console.aws.amazon.com/xray/home#/traces?timeRange=2023-7-01T16:00~2023-7-01T22:00
```

## 리전
<a name="xray-console-deeplinks-region"></a>

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

**리전** – `xray/home?region=region#/page` 

**Example – 미국 서부(오리건)(us-west-2)의 트레이스 맵**  

```
https://console.aws.amazon.com/xray/home?region=us-west-2#/service-map
```

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

**Example – 미국 서부(오리건)(us-west-2)의 지난 한 시간 동안의 트레이스 맵**  

```
https://console.aws.amazon.com/xray/home?region=us-west-2#/service-map?timeRange=PT1H
```

## 조합
<a name="xray-console-deeplinks-combined"></a>

**Example – 최근 트레이스와 기간 필터**  

```
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