

# 在 CloudWatch Metrics Insights 中构建查询
构建查询

您可以使用 CloudWatch 控制台、Amazon CLI 或者 Amazon SDK 来运行 CloudWatch Metrics Insights 查询。在控制台中运行的查询免费。有关 CloudWatch 定价的信息，请参阅 [Amazon CloudWatch 定价](https://www.amazonaws.cn/cloudwatch/pricing/)。

借助 CloudWatch Metrics Insights，您可以分析长达两周的指标数据，与较短的保留期相比，可以实现更全面的历史分析和趋势识别。为了在查询较长的时间范围时获得最佳效果，建议采用更大的时间粒度（例如 5 分钟或 1 小时）来减少返回的数据点数。在分析整整两周的趋势时，请在 ORDER BY 子句中使用 AVG() 或 MAX() 之类的聚合函数来有效地识别模式。

有关使用 Amazon SDK 执行 Metrics Insights 查询的更多信息，请参阅 [GetMetricData](https://docs.amazonaws.cn/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)。

要使用 CloudWatch 控制台运行查询，请执行以下步骤：

**使用 Metrics Insights 查询指标**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.amazonaws.cn/cloudwatch/) 打开 CloudWatch 控制台。

1. 在导航窗格中，依次选择 **Metrics**（指标）、**All metrics**（所有指标）。

1. （可选）要运行预构建的示例查询，请选择 **Add query**（添加查询），然后选择要运行的查询。如果您对此查询满意，您可以跳过此过程的其余部分。或者，您可以选择 **Editor**（编辑器）来编辑示例查询，然后选择 **Run**（运行）以运行修改后的查询。

1. 要创建您自己的查询，请选择**多来源查询**。您可通过**构建器**视图（默认视图）获得向导式操作体验；若希望直接编写查询语法，可切换到**编辑器**视图。您可以随时在两个视图之间切换，并在两个视图中查看正在进行的工作。

   在**构建器**视图中，单击命名空间、指标名称、筛选条件、分组、排序及限制条件对应的输入框，即可浏览并选择可选值。您也可在输入框中输入目标值的任意部分，对构建器展示的候选列表进行筛选。筛选条件和分组的输入框中可引用资源标签。

   在**编辑器**视图中，您可使用 Metrics Insights 支持的 SQL 子集编写查询语句。编辑器会根据您已输入的字符提供自动补全建议，包括支持标签的指标对应的资源标签名称。

   CloudWatch Metrics Insights 支持按 Amazon 资源标签查询指标。您可通过标签对指标数据进行筛选和分组，实现更具针对性的监控与分析。

   以下示例将演示如何在查询语句中结合标签使用。

   查看生产环境中 Amazon EC2 实例的 CPU 利用率：

   ```
   SELECT MAX(CPUUtilization) FROM SCHEMA("AWS/EC2") WHERE tag.env='prod'
   ```

   使用 GROUP BY 子句按环境维度对指标进行分组：

   ```
   SELECT MAX(CPUUtilization) FROM SCHEMA("AWS/EC2") GROUP BY tag.env
   ```

   在 GROUP BY 子句中指定标签名的用法：

   ```
   SELECT AVG(CPUUtilization) FROM "AWS/EC2" GROUP BY tag."aws:cloudformation:stack-name"
   ```

   将标签查询与现有指标维度相结合：

   ```
   SELECT MAX(CPUUtilization) FROM SCHEMA("AWS/EC2") WHERE tag.env='prod' AND InstanceId='i-1234567890abcdef0'
   ```

1. 如果对查询感到满意，请选择 **Run**（运行）。

1. （可选）编辑已绘制图表查询的另一种方法是选择 **Graphed metrics**（已绘制图表指标）选项卡，然后选择 **Details**（详细信息）列中查询公式旁边的编辑图标。

1. （可选）要从图表中删除查询，请选择 **Graphed metrics**（已绘制图表指标），然后选择显示查询一行右侧的 **X** 图标。