

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用自然語言來產生和更新 CloudWatch Logs Insights 查詢
<a name="CloudWatchLogs-Insights-Query-Assist"></a>

CloudWatch Logs 支援自然語言查詢功能，可協助您產生和更新 [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html)、[OpenSearch Service PPL](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_PPL.html)、[OpenSearch Service 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 Logs 資料。自然語言功能會根據您輸入的提示產生查詢，並逐行說明查詢的運作方式。也可以更新查詢以進一步調查您的資料。

 根據您的環境，您可以輸入提示，例如「傳輸位元組的前 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 查詢，請開啟 CloudWatch Logs Insights 查詢編輯器，選取您要查詢的日誌群組，然後選擇**產生查詢**。

**重要**  
 若要使用自然語言查詢功能，您必須使用 [CloudWatchLogsFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsFullAccess.html)、[CloudWatchLogsReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsReadOnlyAccess.html)、 [AdministratorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AdministratorAccess.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**  
 以下是使用 CloudWatch Logs 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.
```

**注意**  
 若要關閉提示的外觀以及查詢運作方式的說明，請使用編輯器中的齒輪圖示。

**提示詞**  
若要產生 OpenSearch SQL 查詢，請選取 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
```

**更新查詢**  
 以下是使用 CloudWatch Logs 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 模型並產生相關查詢的自然語言提示資料僅用於提供和維護您的服務。此資料可能用於改善 CloudWatch Logs Insights 的品質。我們將您的信任和隱私以及內容安全性放在首位。如需詳細資訊，請參閱 [AWS 服務條款](https://aws.amazon.com/service-terms/)和 [AWS 負責任的 AI 政策](https://aws.amazon.com/machine-learning/responsible-ai/policy/)。

 透過建立 AI 服務退出政策，可選擇不將您的內容用於開發或改進自然語言查詢的品質。若要選擇退出所有 CloudWatch Logs AI 功能的資料收集，包括查詢產生功能，您必須為 CloudWatch Logs 建立選擇退出政策。如需詳細資訊，請參閱《AWS Organizations 使用者指南》**中的 [AI 服務退出政策](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)。