

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用自然语言生成和更新 L CloudWatch ogs Insights 查询
<a name="CloudWatchLogs-Insights-Query-Assist"></a>

CloudWatch Logs 支持自然语言查询功能，可帮助您生成和更新 L [CloudWatch ogs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html)、Serv [OpenSearch ice PPL](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_PPL.html)、[Serv OpenSearch ice SQL](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_SQL.html) 和[CloudWatch Metrics Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/query_with_cloudwatch-metrics-insights.html)的查询。

 借助此功能，您可以用通俗易懂的英语提问或描述您要查找的 CloudWatch 日志数据。自然语言功能会根据您输入的提示生成查询，并 line-by-line解释查询的工作原理。您也可以更新查询以进一步调查数据。

 您可以根据自己的环境输入提示，例如“按传输的字节数计算，前 100 个源 IP 地址是什么？” 和“查找 10 个最慢的 Lambda 函数请求”。

**注意**  
自然语言查询功能是一项区域性服务。对于某些区域，该功能会向美国的区域发起跨区域调用以处理查询提示。有关更多信息，请参阅 [Amazon CloudWatch 扩展了对自然语言查询结果汇总和查询生成的区域支持](https://aws.amazon.com/about-aws/whats-new/2025/08/amazon-cloudwatch-region-support-query-result-summarization-query-generation/)。

 要生成具有此功能的 CloudWatch Logs Insights 查询，请打开 Lo CloudWatch gs Insights 查询编辑器，选择要查询的日志组，然后选择**生成查询**。

**重要**  
 要使用自然语言查询功能，您必须使用、[CloudWatchLogsFullAccess[CloudWatchLogsReadOnlyAccess[AdministratorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AdministratorAccess.html)](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsReadOnlyAccess.html)](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsFullAccess.html)、或 [ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/ReadOnlyAccess.html)IAM 策略登录，或者拥有相应`cloudwatch:GenerateQuery`权限。

## 示例查询
<a name="CloudWatchLogs-Insights-Query-Assist-examples"></a>

 本节中的示例描述了如何使用自然语言功能生成和更新查询。

**注意**  
 有关 CloudWatch Logs Insights 查询编辑器和语法的更多信息，请参阅 [CloudWatch Logs Insights 查询语法](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html)。

### 示例：生成自然语言查询
<a name="CloudWatchLogs-Insights-Query-Assist-example-1"></a>

 要使用自然语言来生成查询，请输入提示并选择**生成新查询**。这些示例展示了执行基本搜索的查询。

**提示**  
 以下提示示例指示该功能搜索速度最慢的 10 个 Lambda 函数调用。

```
Find the 10 slowest requests
```

**Query**  
 以下是使用 L CloudWatch ogs Insights 查询语言进行的查询，该语言由自然语言功能根据提示生成。请注意在查询之前的注释中，提示是如何显示的。查询完成后，您可以阅读有关查询工作原理的说明。

```
# Find the 10 slowest requests
fields @timestamp, @message, @duration 
| sort @duration desc 
| limit 10
# This query retrieves the timestamp, message and duration fields from the logs and sorts them in descending order by duration to find the 10 slowest requests.
```

**注意**  
 要关闭提示和有关查询工作原理的说明显示，请使用编辑器中的齿轮图标。

**提示**  
要生成 S OpenSearch QL 查询，请选择 OpenSearch SQL 选项卡，然后打开查询生成器提示框以输入您的自然语言提示。以下是使用自然语言功能生成 OpenSearch SQL 查询的提示示例。

```
Give me the number of errors and exceptions per hour
```

**Query**  
下面是该提示生成的 SQL 查询，可用于查找每小时汇总的错误和异常数量：

```
SELECT DATE_FORMAT(`@timestamp`, 'yyyy-MM-dd HH') AS hour,
       COUNT(*) AS error_count
FROM `/aws/lambda/CloudWatchOdysseyQueryGen`
WHERE `@message` LIKE '%error%'
  OR `@message` LIKE '%exception%'
GROUP BY DATE_FORMAT(`@timestamp`, 'yyyy-MM-dd HH')
ORDER BY hour
```

**提示**  
要生成 OpenSearch PPL 查询，请选择 OpenSearch PPL 选项卡，然后打开查询生成器提示框以输入您的自然语言提示。以下是使用自然语言功能生成 OpenSearch PPL 查询的提示示例。

```
Give me all unique exception messages
```

**Query**  
下面是该提示生成的 PPL 查询，您可以使用它来查找日志中的唯一异常消息：

```
dedup @message 
| fields @message
```

### 示例：更新自然语言查询
<a name="CloudWatchLogs-Insights-Query-Assist-example-2"></a>

 您可以通过编辑初始提示，然后选择**更新查询**，来更新查询。

**更新版提示**  
 以下示例显示了先前提示的更新版本。此提示不指示搜索 10 个速度最慢的 Lambda 函数调用，而是指示该功能搜索 20 个速度最慢的 Lambda 函数调用，并包含另一列以包含其他日志事件。

```
Show top 20 slowest requests instead and display requestId as a column
```

**更新版查询**  
 以下是使用 Lo CloudWatch gs Insights 查询语言进行更新的查询的示例。请注意在更新版查询之前的注释中，更新版提示是如何显示的。查询完成后，您可以阅读有关原始查询是如何更新的说明。

```
# Show top 20 slowest requests instead and display requestId as a column
fields @timestamp, @message, @requestId, @duration 
| sort @duration desc 
| limit 20
# This query modifies the original query by replacing the @message field with the @requestId field and changing the limit from 10 to 20 to return the top 20 log events by duration instead of the top 10.
```

## 选择不使用您的数据来改进服务
<a name="CloudWatchLogs-Insights-Query-Assist-service-data"></a>

 您为训练 AI 模型和生成相关查询而提供的自然语言提示数据仅用于提供和维护您的服务。这些数据可用于提高 L CloudWatch ogs Insights 的质量。您的信任、隐私和内容的安全性是我们最重视的问题。有关更多信息，请参阅 [AWS Service Terms](https://aws.amazon.com/service-terms/) 和 [AWS responsible AI policy](https://aws.amazon.com/machine-learning/responsible-ai/policy/)。

 通过创建 AI 服务选择退出策略，您可以选择不将您的内容用于开发自然语言查询或提高自然语言查询的质量。要选择退出所有 Lo CloudWatch gs AI 功能（包括查询生成功能）的数据收集，您必须为 Logs 创建退出策略。 CloudWatch 有关更多信息，请参阅《AWS Organizations 用户指南》**中的 [AI 服务选择退出策略](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)。