

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 예제: 단어의 출현 횟수 계산
<a name="CountOccurrencesExample"></a>

로그 이벤트에는 연산의 성공 또는 실패 횟수같이 계산이 필요한 중요한 메시지가 종종 포함됩니다. 예를 들어 지정된 연산이 실패하면 오류가 발생하고 로그 파일에 오류가 기록될 수 있습니다. 이들 항목을 모니터링하여 오류의 트렌드를 이해하고 싶을 수 있습니다.

아래 예제에서는 Error라는 단어를 모니터링하기 위한 지표 필터가 생성됩니다. 정책이 생성되어 로그 그룹 **MyApp/message.log**에 추가되었습니다. CloudWatch Logs는 **MyApp/message.log** 네임스페이스에서 Error가 포함된 모든 이벤트에 대해 값 ‘1’을 사용하여 데이터 포인트를 CloudWatch 사용자 지정 지표 ErrorCount에 게시합니다. Error라는 단어가 포함된 이벤트가 없으면 값 0이 게시됩니다. CloudWatch 콘솔에서 이 데이터를 그래픽 처리할 때는 반드시 Sum 통계를 사용해야 합니다.

지표 필터를 생성한 후 CloudWatch 콘솔에서 지표를 볼 수 있습니다. 보려는 지표를 선택할 때 로그 그룹 이름과 일치하는 지표 네임스페이스를 선택합니다. 자세한 내용은 [사용 가능한 지표 보기](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html)를 참조하세요.

**CloudWatch 콘솔을 사용하여 지표 필터를 생성하려면**

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

1. 탐색 창에서 **로그 그룹**을 선택합니다.

1. 로그 그룹의 이름을 선택합니다.

1. **작업**, **지표 필터 생성**을 선택합니다.

1. **필터 패턴**에 **Error**를 입력합니다.
**참고**  
**필터 패턴**의 모든 항목들은 대소문자를 구분합니다.

1. (선택 사항) 필터 패턴을 테스트하려면 **테스트 패턴**에 패턴을 테스트하는 데 사용할 로그 이벤트를 하나 이상 입력합니다. 줄 바꿈은 **로그 이벤트 메시지** 상자에서 로그 이벤트를 구분할 때 사용하므로 각 로그 이벤트는 한 줄을 넘지 않아야 합니다.

1. **다음**을 선택한 후 **지표 할당** 페이지에서 **필터 이름**에 **MyAppErrorCount**를 입력합니다.

1. **지표 세부 정보**의 **지표 네임스페이스**에 **MyNameSpace**를 입력합니다.

1. **지표 이름**에 **ErrorCount**를 입력합니다.

1. **지표 값**이 1인지 확인합니다. 이는 ‘Error’를 포함하는 모든 로그 이벤트에 대해 개수가 1씩 증가하도록 지정합니다.

1. **기본값**에 0을 입력하고 **다음**을 선택합니다.

1. **지표 필터 생성**을 선택합니다.

**를 사용하여 지표 필터를 생성하려면 AWS CLI**  
명령 프롬프트에서 다음 명령을 실행합니다.

```
aws logs put-metric-filter \
  --log-group-name MyApp/message.log \
  --filter-name MyAppErrorCount \
  --filter-pattern 'Error' \
  --metric-transformations \
      metricName=ErrorCount,metricNamespace=MyNamespace,metricValue=1,defaultValue=0
```

메시지에 ‘Error’라는 단어가 포함된 이벤트를 게재하여 이 새로운 정책을 테스트할 수 있습니다.

**를 사용하여 이벤트를 게시하려면 AWS CLI**  
명령 프롬프트에서 다음 명령을 실행합니다. 패턴은 대소문자를 구분한다는 점을 유의하세요.

```
aws logs put-log-events \
  --log-group-name MyApp/access.log --log-stream-name TestStream1 \
  --log-events \
    timestamp=1394793518000,message="This message contains an Error" \
    timestamp=1394793528000,message="This message also contains an Error"
```