

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

# 在 CloudWatch 中建立 Contributor Insights 規則
<a name="ContributorInsights-CreateRule"></a>

您可以建立規則來分析日誌資料。任何 JSON 或通用日誌格式 (CLF) 的日誌都可進行評估。這包括遵循這些格式之一的自訂日誌，以及來自 AWS 服務的日誌，例如 Amazon VPC 流程日誌、Amazon Route 53 DNS 查詢日誌、Amazon ECS 容器日誌，以及來自 Amazon SageMaker AI AWS CloudTrail、Amazon RDS AWS AppSync 和 API Gateway 的日誌。

在規格中，當您指定欄位名稱或值時，所有的比對都區分大小寫。

您可以在建立規則時使用內建範例規則，或者也可以從頭開始建立您自己的規則。Contributor Insights 包含下列日誌類型的範例規則：
+ Amazon API Gateway 日誌
+ Amazon Route 53 公有 DNS 查詢日誌
+ Amazon Route 53 Resolver 查詢日誌
+ CloudWatch Container Insights 日誌
+ VPC 流量日誌

如果您登入的帳戶已設定為 CloudWatch 跨帳戶觀察功能中的監控帳戶，您不僅可以為監控帳戶中的日誌群組建立規則，還可以為與此監控帳戶連結之來源帳戶中的日誌群組建立 Contributor Insights 規則。您也可以設定單一規則，來監控不同帳戶中的日誌群組。如需詳細資訊，請參閱[CloudWatch 跨帳戶觀察功能](CloudWatch-Unified-Cross-Account.md)。

**重要**  
當您將 `cloudwatch:PutInsightRule` 許可授予使用者時，依預設，該使用者可以建立規則來評估 CloudWatch Logs 中的任何日誌群組。您可以新增 IAM 政策條件，以限制這些許可，進而讓使用者包含和排除特定日誌群組。如需詳細資訊，請參閱[使用條件索引鍵限制 Contributor Insights 使用者存取日誌群組](iam-cw-condition-keys-contributor.md)。

**如何使用內建範例規則建立規則**

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

1. 在導覽窗格中，選擇**日誌**、**Contributor Insights**。

1. 選擇**建立規則**。

   

1.  在 **Select log group(s)** (選取日誌群組) 中，選取您要讓規則監控的日誌群組。您最多可以選取 20 個日誌群組。如果您已登入 CloudWatch 跨帳戶觀察功能中設定的監控帳戶，則可以在來源帳戶中選取日誌群組，然後設定單一規則來分析不同帳戶中的日誌群組。

   1.  (選用) 若要選取名稱開頭為特定字串的所有日誌群組，請選擇 **Select by prefix match** (依字首相符選取) 下拉式清單，然後輸入字首。如果這是監控帳戶，您可以選擇選取要搜尋的帳戶，否則會選取所有帳戶。
**注意**  
 每個符合規則的日誌事件都會產生費用。如果選擇 **Select by prefix match** (依字首相符選取) 下拉式清單，請注意字首可能匹配到的日誌群組數量。如果您搜尋到的日誌群組比所需的多，則可能會產生非預期的費用。如需詳細資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing)。

1. 在 **Rule type** (規則類型) 中，選擇 **Sample rule** (範例規則)。然後選擇 **Select sample rule** (選取範例規則) 並選取規則。

1. 對於**日誌格式**，選取規則將評估之日誌的格式。

1. 對於**轉換器**，選取**在轉換器上啟用 Contributor Insights**，讓規則在 [CloudWatch Logs 日誌轉換功能](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html.html)轉換日誌事件之後，評估日誌事件。如果選取啟用此功能：
   + 如果規則評估具有轉換器的任何日誌群組，規則將套用至日誌的轉換後版本。
   + 如果規則評估沒有轉換器的日誌群組，規則將套用至日誌的原始版本。

   如果不選取此選項，評估將套用至所有日誌群組中的原始日誌事件，即使該等群組使用了日誌轉換亦然。
**注意**  
如果日誌群組具有轉換器，且某些日誌事件的轉換失敗，Contributor Insights 將不會評估該等日誌事件。如需有關調查日誌轉換故障的資訊，請參閱[轉換指標與錯誤](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Transformation-Errors-Metrics.html)。

1.  您選擇的規則範例已填寫**日誌格式**、**影響**、**篩選條件**和**彙整對象**等欄位。您可以視需要調整這些值。

1. 選擇**下一步**。

1. 在 **Rule name (規則名稱)** 中，輸入名稱。有效字元為 A-Z、a-z、0-9、(連字號)、(底線) 和 (句號)。

1. 選擇是要以停用或啟用狀態建立規則。如果您選擇啟用，規則會立即開始分析您的資料。執行啟用的規則時會產生費用。如需詳細資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

   Contributor Insights 只會分析建立規則之後的新日誌事件。規則無法處理先前由 CloudWatch Logs 處理的日誌事件。

1. (選用) 在 **Tags** (標籤) 中，新增一或多個鍵/值對，作為此值的標籤。標籤可協助您識別和組織 AWS 資源，並追蹤成本 AWS 。如需詳細資訊，請參閱[標記您的 Amazon CloudWatch 資源](CloudWatch-Tagging.md)。

1. 選擇**建立**。

**如何從頭開始建立規則**

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

1. 在導覽窗格中，選擇**日誌**、**Contributor Insights**。

1. 選擇**建立規則**。

   

1.  在 **Select log group(s)** (選取日誌群組) 中，選取您要讓規則監控的日誌群組。您最多可以選取 20 個日誌群組。如果您已登入 CloudWatch 跨帳戶觀察功能中設定的監控帳戶，則可以在來源帳戶中選取日誌群組，然後設定單一規則來分析不同帳戶中的日誌群組。

   1.  (選用) 若要選取名稱開頭為特定字串的所有日誌群組，請選擇 **Select by prefix match** (依字首相符選取) 下拉式清單，然後輸入字首。
**注意**  
 每個符合規則的日誌事件都會產生費用。如果選擇 **Select by prefix match** (依字首相符選取) 下拉式清單，請注意字首可能匹配到的日誌群組數量。如果您搜尋到的日誌群組比所需的多，則可能會產生非預期的費用。如需詳細資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing)。

1. 在 **Rule type** (規則類型) 中，選擇 **Custom rule** (自訂規則)。

1. 針對 **Log format (日誌格式)**，選擇 **JSON** 或 **CLF**。

1. 對於**轉換器**，選取**在轉換器上啟用 Contributor Insights**，讓規則在 [CloudWatch Logs 日誌轉換功能](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html.html)轉換日誌事件之後，評估日誌事件。如果選取啟用此功能：
   + 如果規則評估具有轉換器的任何日誌群組，規則將套用至日誌的轉換後版本。
   + 如果規則評估沒有轉換器的日誌群組，規則將套用至日誌的原始版本。

   如果不選取此選項，評估將套用至所有日誌群組中的原始日誌事件，即使該等群組使用了日誌轉換亦然。
**注意**  
如果日誌群組具有轉換器，且某些日誌事件的轉換失敗，Contributor Insights 將不會評估該等日誌事件。如需有關調查日誌轉換故障的資訊，請參閱[轉換指標與錯誤](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Transformation-Errors-Metrics.html)。

1. 您可以使用精靈完成建立規則，或是透過選擇 **Syntax (語法)** 標籤並手動指定您的規則語法。

   如要繼續使用精靈，請執行以下作業：

   1. 針對 **Contribution (貢獻)**、**Key (索引鍵)**，輸入您希望報告的參與者類型。報告會針對此參與者類型顯示前 N 個值。

      有效的項目是任何包含值的日誌欄位。範例包括 **requestId**、**sourceIPaddress** 和 **containerID**。

      如需有關為特定日誌群組中的日誌尋找日誌欄位名稱的資訊，請參閱「[尋找日誌欄位](#finding_log_fields)」。

      大於 1 KB 的索引鍵會截斷至 1KB。

   1. (選用) 選擇 **Add new key** (新增鍵)，以新增更多鍵。您最多可以在規則中包含四個索引鍵。如果您輸入的索引鍵超過一個，報告中的參與者會由索引鍵的唯一值組合定義。例如，如果您指定了三個索引鍵，則三個索引鍵的每個唯一值組合都會計為唯一的參與者。

   1. (選用) 如果您想要新增篩選條件，來縮小結果範圍，請選擇 **Add filter** (新增篩選條件)。針對 **Match** (比對)，輸入您希望據以篩選的日誌名稱。針對 **Condition** (條件)，選擇比較運算子並輸入您希望為其進行篩選的值。

      您可以在規則中新增最多四個篩選條件。多個篩選條件會以 AND 邏輯聯結，因此只會評估符合所有篩選條件的日誌事件。
**注意**  
遵循比較運算子的陣列 (例如 `In`、`NotIn` 或 `StartsWith`) 最多可包含 10 個字串值。如需有關 Contributor Insights 規則語法的詳細資訊，請參閱 [CloudWatch 中的 Contributor Insights 規則語法](ContributorInsights-RuleSyntax.md)。

   1. 針對 **Aggregate on** (彙整對象)，選擇 **Count** (計數) 或 **Sum** (總和)。選擇 **Count** (計數) 會使參與者排名以發生次數為基礎。選擇 **Sum** (總和) 會使排名以您為 **Contribution** (貢獻)、**Value** (值) 所指定的欄位值彙整總和為基礎。

1. 如要輸入您的規則作為 JSON 物件，而非使用精靈，請執行以下作業：

   1. 選擇 **Syntax (語法)** 標籤。

   1. 在 **Rule body (規則主體)** 中，輸入您規則的 JSON 物件。如需規則語法的資訊，請參閱 [CloudWatch 中的 Contributor Insights 規則語法](ContributorInsights-RuleSyntax.md)。

1. 選擇**下一步**。

1. 在 **Rule name (規則名稱)** 中，輸入名稱。有效字元是 A‒Z、a‒z、0‒9、"-"、"\_" 和 "."。

1. 選擇是要以停用或啟用狀態建立規則。如果您選擇啟用，規則會立即開始分析您的資料。執行啟用的規則時會產生費用。如需詳細資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

   Contributor Insights 只會分析建立規則之後的新日誌事件。規則無法處理先前由 CloudWatch Logs 處理的日誌事件。

1. (選用) 在 **Tags** (標籤) 中，新增一或多個鍵/值對，作為此值的標籤。標籤可協助您識別和組織 AWS 資源，並追蹤成本 AWS 。如需詳細資訊，請參閱[標記您的 Amazon CloudWatch 資源](CloudWatch-Tagging.md)。

1. 選擇**下一步**。

1. 確認您輸入的設定值，然後選擇 **Create rule** (建立規則)。

您可以停用、啟用或刪除您已建立的規則。

**啟用、停用或刪除 Contributor Insights 中的規則**

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

1. 在導覽窗格中，選擇**日誌**、**Contributor Insights**。

1. 在規則清單中，選取單一規則旁邊的核取方塊。

   內建規則由 AWS 服務建立，無法編輯、停用或刪除。

1. 選擇 **Actions (動作)**，然後選擇您希望的選項。<a name="finding_log_fields"></a>

**尋找日誌欄位**

當您建立規則時，您需要了解日誌群組中日誌項目內的欄位名稱。

**尋找日誌群組中的日誌欄位**

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

1. 在導覽窗格的 **Logs (日誌)** 下，選擇 **Insights (深入分析)**。

1. 在查詢編輯器上方，選取一或多個要查詢的日誌群組。

   選取日誌群組時，CloudWatch Logs Insights 會自動偵測日誌群組中資料內的欄位，並在 **Discovered fields** (已探索欄位) 的右側窗格中顯示。