

# 搜索和分析跨度
<a name="CloudWatch-Transaction-Search-search-analyze-spans"></a>

 Transaction Search 提供一个可视化编辑器，供您使用属性搜索和分析所有已提取的跨度。您可以使用可视化编辑器缩小交易跨度的范围，并创建交互式可视化效果来解决分布式应用程序中的问题。您还可以使用 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/zh_cn/AmazonCloudWatch/latest/monitoring/images/filter3.png)


 选择一个跨度键，然后输入一个值来缩小跨度结果的范围。您可以使用各种运算来筛选跨度，例如 “等于”“不等于”等。

![\[使用运算符筛选跨度\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/filter4.png)


### 查询格式
<a name="w2aac28c21c17c15b5c17"></a>

 您可以使用不同的格式在可视化编辑器中运行查询。本节介绍每种格式。

#### 列表
<a name="w2aac28c21c17c15b5c17b5"></a>

 以列表格式查看跨度或跨度事件，该格式会显示有关每个跨度的信息。使用此类分析来分析单个跨度、了解特定交易或识别交易事件中的独特模式。其他使用场景包括：

**使用案例**
+  对客户支持工单进行问题排查 
+  查找 API 或依赖关系，例如执行时间超过 1000 毫秒的数据库查询 
+  查找出错的跨度 

 以下屏幕截图显示了如何通过此类分析排查客户支持工单的问题。

**示例方案**  
 在可视化编辑器中，根据存在特定客户问题的所有交易跨度进行筛选。在运行查询之前，从**可视化为**下拉列表中选择**列表**。

![\[使用列表查找跨度\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/list1.png)


 结果会显示一个跨度列表，您可以在其中选择跟踪 ID 来获取交易的端到端旅程并确定问题的根本原因。

![\[列出结果\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/list2.png)


#### 时间序列
<a name="w2aac28c21c17c15b5c17b7"></a>

 查看一段时间内的跨度或跨度事件。使用这种类型的分析来查看交易活动的趋势和峰值。其他使用场景包括：
+  可视化延迟 
+  可视化跨度频率 
+  可视化性能 

 以下屏幕截图显示了如何通过此类分析查看 API 的 p99 延迟趋势。

**示例方案**  
 在可视化编辑器中，根据要分析的服务和 API 进行筛选。

![\[根据服务进行筛选\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/timeseries1.png)


 在运行查询之前，从**可视化为**下拉列表中选择**时间序列**。从**显示跨度为**下拉列表中选择 **P99** 作为持续时间统计信息。

![\[筛选\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/timeseries2.png)


 结果显示了服务的延迟趋势，图表的 x 轴为时间，y 轴为 p99 持续时间。

![\[使用时间序列定位跨度\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/timeseries3.png)


 您可以在图表上选择一个点来查看相关的跨度和跨度事件。

![\[时间序列结果\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/timeseries4.png)


#### 分组分析
<a name="w2aac28c21c17c15b5c17b9"></a>

 根据账户 ID 和状态代码等特定属性聚合跨度或跨度事件，以显示统计指标。使用此类分析来分析集群中的跨度，比较不同的组的情况，并发现宏观层面的趋势。其他使用场景包括：

**使用案例**
+  确定受服务中断影响的主要客户 
+  确定出错最多的可用区 
+  确定最慢的数据库查询 

 以下屏幕截图显示了如何通过此类分析查看受服务中断影响的主要客户。

**示例方案**  
 在可视化编辑器中，您可以根据遇到问题的服务进行筛选。

![\[按服务问题筛选\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/groupanalysis1.png)


 在运行查询之前，从**可视化为**下拉列表中选择**组分析**。按查询结果对 `account.id` 进行分组，并将结果数限制为 10。

![\[通过组分析查找跨度\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/groupanalysis2.png)


 结果显示遇到错误次数最多的前 10 位客户。

![\[对分析结果进行分组\]](http://docs.aws.amazon.com/zh_cn/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
```

**示例查询**  
 以下查询显示了会抛出错误的前五个服务。

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