

# 스팬 검색 및 분석
<a name="CloudWatch-Transaction-Search-search-analyze-spans"></a>

 트랜잭션 검색은 속성을 사용하여 수집된 모든 스팬을 검색하고 분석할 수 있는 시각적 편집기를 제공합니다. 시각적 편집기를 사용하여 트랜잭션 스팬을 좁히고, 대화형 시각화를 생성하여 분산 애플리케이션의 문제를 해결할 수 있습니다. CloudWatch Logs Insights 쿼리 언어를 사용하여 스팬을 분석할 수도 있습니다. 이 주제에서는 시각적 편집기에 액세스하고 이를 사용하는 방법을 설명합니다.

## 시각적 편집기
<a name="w2aac28c21c17c15b5"></a>

 다음 절차에서는 시각적 편집에 액세스하는 방법을 설명합니다.

**시각적 편집기에 액세스하려면 다음을 수행합니다.**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1.  탐색 창에서 **Application Signals**를 선택한 다음 **트랜잭션 검색**을 선택하세요.

 서비스 이름, 스팬 기간, 스팬 상태 같은 스팬 속성을 사용하여 트랜잭션 스팬을 신속하게 좁힙니다. 시각적 편집기 오른쪽에 있는 **필터 선택**에서 이러한 필터 및 다른 요소에 액세스할 수 있습니다.

 이 시각적 편집기는 스팬의 속성 목록을 제안합니다. 이러한 속성에는 자동 계측을 통해 추가된 속성 및 사용자 지정 계측을 통해 추가된 사용자 지정 속성이 포함됩니다.

![속성을 기준으로 스팬 필터링](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/filter3.png)


 스팬 키를 선택하고 값을 입력하여 스팬 결과를 구체화합니다. '같음', '같지 않음' 등과 같은 다양한 연산을 사용하여 스팬을 필터링할 수 있습니다.

![연산자를 사용하여 스팬 필터링](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/filter4.png)


### 쿼리 형식
<a name="w2aac28c21c17c15b5c17"></a>

 다양한 형식을 사용하여 시각적 편집기에서 쿼리를 실행할 수 있습니다. 이 섹션에서는 이러한 각 형식에 대해 설명합니다.

#### List
<a name="w2aac28c21c17c15b5c17b5"></a>

 각 스팬에 대한 정보를 표시하는 목록 형식으로 스팬 또는 스팬 이벤트를 봅니다. 이러한 유형의 분석을 사용하여 개별 스팬을 분석하거나, 특정 트랜잭션을 이해하거나, 트랜잭션 이벤트에서 고유한 패턴을 식별할 수 있습니다. 기타 사용 사례는 다음과 같습니다.

**사용 사례**
+  고객 지원 티켓 문제 해결 
+  실행하는 데 1,000밀리초 이상 소요되는 데이터베이스 쿼리 같은 API 또는 종속성 문제를 찾습니다.
+  오류가 있는 스팬 찾기 

 아래 스크린샷에서는 이러한 유형의 분석을 사용하여 고객 지원 티켓의 문제를 해결하는 방법을 보여줍니다.

**예제 시나리오**  
 시각적 편집기에서 특정한 고객 문제가 발생한 모든 트랜잭션 스팬을 필터링합니다. 쿼리를 실행하기 전에 **Visualize as** 드롭다운에서 **목록**을 선택합니다.

![목록을 사용하여 스팬 찾기](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/list1.png)


 결과에 스팬 목록이 표시됩니다. 여기에서 트레이스 ID를 선택하여 트랜잭션에 대한 엔드 투 엔드 여정을 가져오고, 문제의 근본 원인을 확인할 수 있습니다.

![목록 결과](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/list2.png)


#### 시계열
<a name="w2aac28c21c17c15b5c17b7"></a>

 시간 경과에 따른 스팬 또는 스팬 이벤트를 봅니다. 이러한 유형의 분석을 사용하여 트랜잭션 활동의 추세와 스파이크를 살펴봅니다. 기타 사용 사례는 다음과 같습니다.
+  지연 시간 시각화 
+  스팬 빈도 시각화 
+  성능 시각화 

 다음 스크린샷은 이러한 유형의 분석을 사용하여 API의 p99 지연 시간 추세를 보는 방법을 보여줍니다.

**예제 시나리오**  
 시각적 편집기에서 분석하려는 서비스 및 API를 기준으로 필터링합니다.

![서비스 필터링](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/timeseries1.png)


 쿼리를 실행하기 전에 **Visualize as** 드롭다운에서 **시계열**을 선택합니다. **Show span as** 드롭다운에서 지속 시간 통계에 대해 **P99**를 선택합니다.

![필터링](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/timeseries2.png)


 결과에 서비스의 지연 시간 추세가 표시되며, 그래프의 x축은 시간이고 y축은 p99 지속 시간입니다.

![시계열을 사용하여 스팬 찾기](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/timeseries3.png)


 차트에서 한 지점을 선택하여 상관관계가 있는 스팬 및 스팬 이벤트를 볼 수 있습니다.

![시계열 결과](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/timeseries4.png)


#### 그룹 분석
<a name="w2aac28c21c17c15b5c17b9"></a>

 계정 ID 및 상태 코드 같은 특정한 속성을 기준으로 스팬 또는 스팬 이벤트를 집계하여 통계 지표를 표시할 수 있습니다. 이러한 유형의 분석을 사용하여 클러스터의 스팬을 분석하고, 다양한 그룹을 비교하고, 매크로 수준에서 추세를 파악할 수 있습니다. 기타 사용 사례는 다음과 같습니다.

**사용 사례**
+  서비스 중단으로 인해 영향을 받은 상위 고객 식별 
+  오류가 가장 많은 가용 영역 식별 
+  가장 느린 데이터베이스 쿼리 식별 

 아래의 스크린샷은 이러한 유형의 분석을 통해 서비스 중단으로 인해 영향을 받은 상위 고객을 보는 방법을 보여줍니다.

**예제 시나리오**  
 시각적 편집기에서 문제가 발생한 서비스를 기준으로 필터링합니다.

![서비스 문제를 기준으로 필터링](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/groupanalysis1.png)


 쿼리를 실행하기 전에 **Visualize as** 드롭다운에서 **Group Analysis**를 선택합니다. 쿼리 결과를 `account.id`로 그룹화하고, 결과의 개수를 10개로 제한합니다.

![그룹 분석을 기준으로 스팬 찾기](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/groupanalysis2.png)


 결과에는 가장 많은 횟수의 오류를 경험한 상위 10개 고객이 표시됩니다.

![그룹 분석 결과](http://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/images/groupanalysis3.png)


## CloudWatch Logs Insights
<a name="w2aac28c21c17c15b7"></a>

 [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)를 사용하여 스팬을 분석할 수 있습니다.

**예제 쿼리**  
 아래의 쿼리는 가장 느린 상위 5개 데이터베이스 쿼리를 보여줍니다.

```
STATS pct(durationNano, 99) as `p99` by attributes.db.statement
| SORT p99 ASC
| LIMIT 5
| DISPLAY p99,attributes.db.statement
```

**예제 쿼리**  
 아래의 쿼리는 오류를 발생시키는 상위 5개 서비스를 보여줍니다.

```
FILTER `attributes.http.response.status_code` >= 500
| STATS count(*) as `count` by attributes.aws.local.service as service
| SORT count ASC
| LIMIT 5
| DISPLAY count,service
```