

# CloudWatch で Contributor Insights ルールを作成する
<a name="ContributorInsights-CreateRule"></a>

ルールを作成してログデータを分析できます。JSON または Common Log Format (CLF) のログはすべて評価できます。これらの形式のいずれかに従うカスタムログと、Amazon VPC フローログ、Amazon Route 53 DNS クエリログ、Amazon ECS コンテナログ、AWS CloudTrail のログ、Amazon SageMaker AI のログ、Amazon RDS のログ、AWS AppSync のログ、API Gateway のログなど、AWS サービスのログが含まれます。

ルールでは、フィールド名または値を指定する場合、すべてのマッチングで大文字と小文字が区別されます。

組み込みのサンプルルールを使用してルールを作成したり、独自のルールを最初から作成したりできます。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. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで、**[ログ]**、**[Contributor Insights]** を選択します。

1. [**Create rule**] を選択してください。

   

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]** (タグ) で、このルールのタグとする 1 つまたは複数のキーと値のペアを追加します。タグを使用すると、AWS リソースを識別して整理したり、AWS コストを追跡したりしやすくなります。詳細については、「[Amazon CloudWatch リソースにタグを付ける](CloudWatch-Tagging.md)」を参照してください。

1. **[作成]** を選択します。

**ルールを最初から作成するには**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで、**[ログ]**、**[Contributor Insights]** を選択します。

1. [**Create rule**] を選択してください。

   

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 以上のキーは切り捨てられ、1 KB になります。

   1. (オプション) **[Add new key]** (新しいキーを追加) を選択して、キーを追加します。ルールには、最大 4 つのキーを含められます。複数のキーを入力すると、レポートのコントリビューターは、これらのキーの一意な値の組み合わせで定義されます。たとえば、3 つのキーを指定した場合、3 つのキーの一意の値の組み合わせそれぞれが、一意のコントリビューターとしてカウントされます。

   1. (オプション) 結果の範囲を狭めるフィルターを追加する場合は、**[Add filter]** (フィルターを追加) を選択します。**[Match]** (一致) で、フィルタリングするログフィールドの名前を入力します。**[Condition]** (条件) で、比較演算子を選択し、フィルタリングする値を入力します。

      ルールには、最大 4 つのフィルターを追加できます。複数のフィルターは 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]** (タグ) で、このルールのタグとする 1 つまたは複数のキーと値のペアを追加します。タグを使用すると、AWS リソースを識別して整理したり、AWS コストを追跡したりしやすくなります。詳細については、「[Amazon CloudWatch リソースにタグを付ける](CloudWatch-Tagging.md)」を参照してください。

1. **[Next]** (次へ) を選択します。

1. 入力した設定を確認し、**[Create rule]** (ルールの作成) を選択します。

作成したルールは、無効化、有効化、または削除できます。

**Contributor Insights のルールを有効化、無効化、または削除するには**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで、**[ログ]**、**[Contributor Insights]** を選択します。

1. ルールのリストで、1 つのルールの横にあるチェックボックスをオンにします。

   組み込みルールは AWS サービスによって作成され、編集、無効化、または削除できません。

1. [**アクション**] を選択し、必要なオプションを選択します。<a name="finding_log_fields"></a>

**ログフィールドの検索**

ルールを作成するときは、ロググループのログエントリのフィールド名を知っている必要があります。

**ロググループでログフィールドを検索するには**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインの [**ログ**] で、[**Insights**] を選択します。

1. クエリエディタの上で、クエリするロググループを 1 つ以上選択します。

   ロググループを選択すると、CloudWatch Logs Insights はロググループのデータのフィールドを自動的に検出して、[**Discovered fields**] の右側のペインに表示します。