

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

# 教學課程：執行和修改範例查詢
<a name="CWL_AnalyzeLogData_RunSampleQuery"></a>

下列教學課程協助您開始使用 CloudWatch Logs Insights。您可以在 Logs Insights QL 中執行範例查詢，然後查看如何修改並重新執行。

若要執行查詢，您必須已經有日誌存放在 CloudWatch Logs。如果您已經在使用 CloudWatch Logs，且已設定日誌群組和日誌串流，那就可以開始。如果您使用 AWS CloudTrail、Amazon Route 53 或 Amazon VPC 等服務，而且已設定將來自這些服務的日誌傳到 CloudWatch Logs，則您也可能已經有日誌。如需有關將日誌傳送至 CloudWatch Logs 的詳細資訊，請參閱[開始使用 CloudWatch Logs](CWL_GettingStarted.md)。

CloudWatch Logs Insights 中的查詢會從日誌事件傳回一組欄位，或在日誌事件上執行的數學加總或其他運算的結果。本教學課程示範的查詢會傳回日誌事件清單。

## 執行範例查詢
<a name="CWL_AnalyzeLogData_RunQuerySample"></a>

**執行 CloudWatch Logs Insights 範例查詢**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇 **Logs** (日誌)，然後選擇 **Logs Insights** (日誌洞察)。

   在 **Logs Insights** 頁面上，查詢編輯器包含 Logs Insights QL 中的預設查詢，該查詢會傳回 20 個最新的日誌事件。

1. 在 **Select log group(s)** (選取日誌群組) 下拉式選單中，選擇一個或多個要查詢的日誌群組。

    如果這是 CloudWatch 跨帳戶觀察功能中的監控帳戶，您可以在來源帳戶和監控帳戶中選取日誌群組。單一查詢可以一次查詢來自不同帳戶的日誌。

   您可以依日誌群組名稱、帳戶 ID 或帳戶標籤來篩選日誌群組。

   當您在標準日誌類別中選取日誌群組時，CloudWatch Logs Insights 會自動偵測群組中的資料欄位。若要查看探索的欄位，請選取頁面右上方附近的 **Fields** (欄位) 選單。
**注意**  
僅標準日誌類別中的日誌群組支援探索的欄位。如需日誌類別的詳細資訊，請參閱 [日誌類別](CloudWatch_Logs_Log_Classes.md)。

1. (選用) 使用時間間隔選擇器，選取您要查詢的時間段。

   您可以選擇 5 分鐘到 30 分鐘的間隔；1 小時、3 小時和 12 小時的間隔；或是自訂的時間範圍。

1. 選擇 **Run** (執行) 以檢視結果。

   在本教學中，結果包括 20 筆最近新增的日誌事件。

   CloudWatch Logs 會顯示日誌群組中一段時間內的日誌事件長條圖。長條圖不僅會顯示表格中的事件，還會顯示日誌群組中符合您的查詢和時間範圍的事件分佈。

1. 若要查看傳回日誌事件的所有欄位，請選擇編號事件左側的三角形下拉圖示。

## 修改範例查詢
<a name="CWL_AnalyzeLogData_ModifySampleQuery"></a>

在此教學課程中，您將修改範例查詢來顯示 50 個最新的日誌事件。

如果您尚未執行上一個教學課程，請現在這樣做。此教學課程會從上一個教學課程的結尾處開始。

**注意**  
CloudWatch Logs Insights 隨附的一些範例查詢使用 `head` 或 `tail` 命令，而不是 `limit`。這些命令已被取代，並換成 `limit`。在您編寫的所有查詢中使用 `limit`，而不是 `head` 或 `tail`。

**修改 CloudWatch Logs Insights 範例查詢**

1. 在查詢編輯器中，將 **20** 變更為 **50**，然後選擇 **Run (執行)**。

   新查詢的結果隨即出現。假設日誌群組中有足夠的資料在預設時間範圍內，則現在會列出 50 個日誌事件。

1. (選用) 您可以儲存已建立的查詢。若要儲存此查詢，請選擇 **Save** (儲存)。如需詳細資訊，請參閱[儲存並重新執行 CloudWatch Logs Insights 查詢](CWL_Insights-Saving-Queries.md)。

## 將篩選條件命令新增到範例查詢
<a name="CWL_AnalyzeLogData_FilterQuery"></a>

本教學課程說明如何在查詢編輯器對查詢進行更強大的變更。在此教學課程中，您將根據已擷取的日誌事件中的欄位，以篩選前一個查詢的結果。

如果您尚未執行先前的教學課程，請現在這樣做。此教學課程會從上一個教學課程的結尾處開始。

**將篩選條件命令新增到前一個查詢**

1. 決定要篩選的欄位。若要查看 CloudWatch Logs 過去 15 分鐘內在選定日誌群組包含的日誌事件中最常偵測到的欄位，以及每個欄位出現在這些日誌事件中的百分比，請在頁面右側選取 **Fields** (欄位)。

   若要查看特定日誌事件中包含的欄位，請選擇該列左側的圖示。

   **awsRegion** 欄位可能出現在您的日誌事件中，這取決於日誌中有哪些事件。在本教學剩下的部分，我們將使用 **awsRegion** 作為篩選條件欄位，但如果沒有該欄位，您可以使用不同的欄位。

1. 在查詢編輯器方塊中，將游標移到 **50** 後面，然後按 Enter。

1. 在新的一行上，首先輸入 \$1 (垂直線字元) 和空格。CloudWatch Logs Insights 查詢中的命令必須以垂直線字元隔開。

1. 輸入 **filter awsRegion="us-east-1"**。

1. 選擇**執行**。

   查詢會再次執行，現在會顯示符合新篩選條件的 50 個最新結果。

   如果您篩選不同的欄位，且得到錯誤結果，則可能需要逸出欄位名稱。如果欄位名稱包含非英數字元，您必須在欄位名稱前後加上反引號字元 (`) (例如，**`error-code`="102"**)。

   您必須將反引號字元用於包含非英數字元的欄位名稱 ，而不是用於值。值一律包含在引號 (") 中。

Logs Insights QL 包含強大的查詢功能，包括對規則表達式、數學和統計操作的數個命令和支援。如需詳細資訊，請參閱[CloudWatch Logs Insights 語言查詢語法](CWL_QuerySyntax.md)。