

# CloudWatch에서 Contributor Insights 규칙 생성
<a name="ContributorInsights-CreateRule"></a>

규칙을 생성하여 로그 데이터를 분석할 수 있습니다. JSON 또는 CLF(일반적 로그 형식)의 모든 로그를 평가할 수 있습니다. 여기에는 이러한 형식 중 하나를 따르는 사용자 지정 로그와 Amazon VPC 흐름 로그, Amazon Route 53 DNS 쿼리 로그, Amazon ECS 컨테이너 로그 그리고 AWS CloudTrail, Amazon SageMaker AI, Amazon RDS, AWS AppSync 및 API Gateway의 로그와 같은 AWS 서비스의 로그가 포함됩니다.

규칙에서 필드 이름이나 값을 지정할 때 일치하는 모든 항목은 대/소문자를 구분합니다.

규칙을 생성할 때 기본 제공 샘플 규칙을 사용하거나 Scratch에서 고유한 규칙을 생성할 수 있습니다. 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.  (선택 사항) 이름이 특정 문자열로 시작하는 모든 로그 그룹을 선택하려면 **접두사 일치로 선택** 드롭다운을 누른 다음 접두사를 입력합니다. 모니터링 계정인 경우 선택적으로 검색할 계정을 선택할 수 있습니다. 그렇지 않으면 모든 계정이 선택됩니다.
**참고**  
 규칙과 일치하는 각 로그 이벤트에 대해 요금이 발생합니다. **접두사 일치로 선택** 드롭다운을 선택하는 경우 접두사가 일치할 수 있는 로그 그룹 수를 알고 있어야 합니다. 실수로 의도한 것보다 많은 로그 그룹을 검색하면 예기치 않은 요금이 발생할 수 있습니다. 자세한 내용은 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing)을 참조하세요.

1. **Rule type**(규칙 유형)에서 **Sample rule**(샘플 규칙)을 선택합니다. 그런 다음 **Select sample rule**(샘플 규칙 선택)을 선택하고 규칙을 선택합니다.

1. **로그 형식**에서 규칙에서 평가할 로그의 형식을 선택합니다.

1. **변환기**에서 [CloudWatch Logs 로그 변환](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html.html)에 의해 변환된 후 규칙에서 로그 이벤트를 평가하도록 **변환기에서 Contributor Insights 활성화**를 선택합니다. 활성화를 선택한 경우:
   + 규칙이 변환기가 있는 로그 그룹을 평가하면 변환된 로그 버전에 규칙이 적용됩니다.
   + 규칙이 변환기가 있는 로그 그룹을 평가하면 로그의 원본 버전에 규칙이 적용됩니다.

   선택하지 않으면 로그 변환을 사용하는 로그를 포함하여 모든 로그 그룹의 원본 로그 이벤트를 평가합니다.
**참고**  
로그 그룹에 변환기가 있고 일부 로그 이벤트에 대한 변환이 실패하면 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. **생성(Create)**을 선택합니다.

**Scratch에서 규칙을 새로 생성하려면**

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.  (선택 사항) 이름이 특정 문자열로 시작하는 모든 로그 그룹을 선택하려면 **접두사 일치로 선택** 드롭다운을 누른 다음 접두사를 입력합니다.
**참고**  
 규칙과 일치하는 각 로그 이벤트에 대해 요금이 발생합니다. **접두사 일치로 선택** 드롭다운을 선택하는 경우 접두사가 일치할 수 있는 로그 그룹 수를 알고 있어야 합니다. 실수로 의도한 것보다 많은 로그 그룹을 검색하면 예기치 않은 요금이 발생할 수 있습니다. 자세한 내용은 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing)을 참조하세요.

1. **Rule type**(규칙 유형)에서 **Custom rule**(사용자 지정 규칙)을 선택합니다.

1. **로그 형식**에서 **JSON** 또는 **CLF**를 선택합니다.

1. **변환기**에서 [CloudWatch Logs 로그 변환](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation.html.html)에 의해 변환된 후 규칙에서 로그 이벤트를 평가하도록 **변환기에서 Contributor Insights 활성화**를 선택합니다. 활성화를 선택한 경우:
   + 규칙이 변환기가 있는 로그 그룹을 평가하면 변환된 로그 버전에 규칙이 적용됩니다.
   + 규칙이 변환기가 있는 로그 그룹을 평가하면 로그의 원본 버전에 규칙이 적용됩니다.

   선택하지 않으면 로그 변환을 사용하는 로그를 포함하여 모든 로그 그룹의 원본 로그 이벤트를 평가합니다.
**참고**  
로그 그룹에 변환기가 있고 일부 로그 이벤트에 대한 변환이 실패하면 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)를 참조하세요.

      1KB보다 큰 키는 1KB 단위로 잘립니다.

   1. (선택 사항) **Add new key**(새 키 추가)를 선택하여 키를 더 추가합니다. 규칙에 최대 4개의 키를 포함할 수 있습니다. 두 개 이상의 키를 입력하면 보고서의 기고자는 키의 고유한 값 조합으로 정의됩니다. 예를 들어 세 개의 키를 지정하면 세 개의 키에 대한 각각의 고유한 값 조합이 고유한 기고자로 계산됩니다.

   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**(태그)에서 이 규칙에 대한 태그로 하나 이상의 키-값 페어를 추가합니다. 태그를 사용하면 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. **작업**을 선택한 다음 원하는 옵션을 선택합니다.<a name="finding_log_fields"></a>

**로그 필드 찾기**

규칙을 생성할 때 로그 그룹의 로그 항목에 있는 필드의 이름을 알아야 합니다.

**로그 그룹에서 로그 필드를 찾으려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창의 **로그**에서 **Insights**를 선택합니다.

1. 쿼리 편집기 위에서 쿼리할 로그 그룹을 하나 이상 선택합니다.

   로그 그룹을 선택하면 CloudWatch Logs Insights가 로그 그룹의 데이터에서 필드를 자동으로 감지하고 오른쪽 창의 [**검색된 필드(Discovered fields)**]에 해당 필드를 표시합니다.