

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

# Amazon CloudWatch를 사용한 Amazon Personalize 모니터링
<a name="personalize-monitoring"></a>

 CloudWatch를 사용하면 Personalize와 관련된 지표를 가져올 수 있습니다. 하나 이상의 지표가 정의한 임계값 범위를 벗어나는 경우 이를 알리도록 경보를 설정할 수 있습니다. 지표를 보려면 [Amazon CloudWatch](https://console.aws.amazon.com/cloudwatch/), [Amazon AWS Command Line Interface](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/) 또는 [CloudWatch API](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/)를 사용할 수 있습니다.



**Topics**
+ [Personalize에 대한 CloudWatch 지표 사용](#using-metrics)
+ [Personalize 지표에 액세스](#how-to-access)
+ [경보 생성](#alarms)
+ [Personalize 서버리스 모니터링 앱 예제](#creating-monitor-app)
+ [Personalize에 대한 CloudWatch 지표](cloudwatch-metrics.md)

## Personalize에 대한 CloudWatch 지표 사용
<a name="using-metrics"></a>

측정치를 사용하려면 다음 정보를 지정해야 합니다.
+  척도 이름.
+ 지표 측정기준. *차원*은 지표를 고유하게 식별하는 데 도움이 되는 이름-값 페어입니다.

 AWS Management Console, AWS CLI또는 CloudWatch API를 사용하여 Personalize의 모니터링 데이터를 가져올 수 있습니다. AWS SDKs 또는 CloudWatch API 도구 중 하나를 통해 CloudWatch API를 사용할 수도 있습니다. 콘솔에는 CloudWatch API의 원시 데이터를 기반으로 하는 일련의 그래프가 표시됩니다. 필요에 따라 콘솔에 표시되거나 API에서 가져온 그래프를 사용하는 것이 더 나을 수 있습니다.

다음 목록은 몇 가지 일반적인 지표 사용 사례를 보여 줍니다. 모든 사용 사례를 망라한 것은 아니지만 시작하는 데 참고가 될 것입니다.


| 방법 | 관련 측정치 | 
| --- | --- | 
|  기록된 이벤트의 수를 추적하려면 어떻게 해야 합니까?  |  `PutEventsRequests` 지표를 모니터링합니다.  | 
|  DatasetImportJob 오류는 어떻게 모니터링할 수 있습니까?  |  `DatasetImportJobError` 측정치를 사용합니다.  | 
|  `GetRecommendations` 호출의 지연 시간은 어떻게 모니터링할 수 있습니까?  |  `GetRecommendationsLatency` 측정치를 사용합니다.  | 

CloudWatch를 사용하여 Personalize를 모니터링하려면 적절한 CloudWatch 권한이 있어야만 합니다. 자세한 내용은 [CloudWatch에 대한 인증 및 액세스 제어](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html)를 참조하세요.

## Personalize 지표에 액세스
<a name="how-to-access"></a>

다음 예제는 CloudWatch 콘솔, AWS CLI및 CloudWatch API를 사용하여 Personalize 측정치에 액세스하는 방법을 보여 줍니다.

**지표를 보려면(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) CloudWatch 콘솔을 엽니다.

1. [**측정치**]를 선택하고 [**모든 측정치**] 탭을 선택한 후 `AWS/Personalize`를 선택합니다.

1. 지표 차원을 선택합니다.

1. 목록에서 원하는 지표를 선택하고 그래프의 기간을 선택합니다.

**일정한 기간 동안 수신된 이벤트의 지표를 보려면(CLI)**
+ 를 열고 다음 명령을 AWS CLI 입력합니다.

  ```
  aws cloudwatch get-metric-statistics \
    --metric-name PutEventsRequests \
    --start-time 2019-03-15T00:00:20Z \
    --period 3600 \
    --end-time 2019-03-16T00:00:00Z \
    --namespace AWS/Personalize \
    --dimensions Name=EventTrackerArn,Value=EventTrackerArn \
    --statistics Sum
  ```

  이 예제는 일정한 기간 동안 주어진 이벤트 추적기 ARN에 대해 수신된 이벤트를 보여줍니다. 자세한 내용은 [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)를 참조하십시오.

**지표에 액세스하려면(CloudWatch API)**
+  `[GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html)`을 호출합니다. 자세한 내용은 [CloudWatch API 참조](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/)를 참조하세요.

## 경보 생성
<a name="alarms"></a>

경보 때문에 상태가 변경되면 Simple Notification Service( SNS) 메시지를 보내는 CloudWatch 경보를 생성할 수 있습니다. 경보는 지정한 기간 동안 단일 지표를 감시합니다. 이 경보는 여러 기간에 대해 주어진 임계값과 지표 값을 비교하여 하나 이상의 작업을 수행합니다. 이 작업은 SNS 주제 또는 AWS Auto Scaling 정책에 전송되는 알림입니다.

경보는 지속적인 상태 변경에 대해서만 작업을 호출합니다. CloudWatch 경보는 단순히 특정 상태에 있다고 해서 작업을 호출하지 않습니다. 상태가 변경되어 지정된 기간 수 동안 유지되어야 합니다.

**경보를 설정하려면(콘솔)**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **경보**를 선택한 다음 **경보 생성**을 선택합니다. 그러면 **Create Alarm Wizard**가 시작됩니다.

1. **지표 선택**을 선택합니다.

1. **All metrics** 탭에서 `AWS/Personalize`를 선택합니다.

1. **EventTrackerArn**을 선택한 다음 **PutEventsRequests** 지표를 선택합니다.

1. **그래프로 표시된 지표** 탭을 선택합니다.

1. **Statistic(통계)**에서 **Sum(합계)**을 선택합니다.

1. **지표 선택**을 선택합니다.

1. [**Name**]과 [**Description**]을 입력합니다. **다음 경우 항상**에서 **>**를 선택하고 원하는 최대값을 입력합니다.

1. 경보 상태에 도달할 때 CloudWatch에서 이메일을 보내도록 하려면 **이 경보가 발생할 경우 항상**에서 **상태가 ALARM입니다**를 선택합니다. 기존 SNS 주제에 경보를 전송하려면 **다음 주소로 알림 전송:**에서 기존 SNS 주제를 선택합니다. 새 이메일 구독 목록에 대한 이름 및 이메일 주소를 설정하려면, **새 목록**을 선택합니다. CloudWatch는 목록을 저장하고 필드에 표시하므로 이 목록을 사용하여 향후 경보를 설정할 수 있습니다.
**참고**  
**새 목록**을 사용하여 새 SNS 주제를 만드는 경우, 의도한 수신자가 알림을 받기 전에 이메일 주소를 확인해야만 합니다. SNS는 경보가 경보 상태에 진입할 때만 이메일을 전송합니다. 이러한 경보 상태 변경이 이메일 주소 확인 전에 발생할 경우, 의도된 수신자는 알림을 받지 못합니다.

1. **경보 생성**을 선택하세요.

**경보를 설정하려면(AWS CLI)**
+ 를 열고 다음 명령을 AWS CLI입력합니다. 이전에 만든 SNS 주제를 참조하도록 `alarm-actions`파라미터의 값을 변경합니다.

  ```
  aws cloudwatch put-metric-alarm \
      --alarm-name PersonalizeCLI \
      --alarm-description "Alarm when more than 10 events occur" \
      --metric-name PutEventsRequests \
      --namespace  AWS/Personalize \
      --statistic Sum \
      --period 300 \
      --threshold 10 \
      --comparison-operator GreaterThanThreshold \
      --evaluation-periods 1 \
      --unit Count \
      --dimensions Name=EventTrackerArn,Value=EventTrackerArn \
      --alarm-actions SNSTopicArn
  ```

  이 예제는 주어진 이벤트 추적기 ARN에 대해 10건 이상의 이벤트가 5분 이내에 발생할 때 경보를 생성하는 방법을 보여줍니다. 자세한 내용은 [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html)을 참조하십시오.

**경보를 설정하려면(CloudWatch API)**
+ `[PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)`를 호출합니다. 자세한 내용은 [CloudWatch API 참조](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/)를 참조하세요.**

## Personalize 서버리스 모니터링 앱 예제
<a name="creating-monitor-app"></a>

Personalize에 모니터링, 경고 및 최적화 기능을 추가하는 예제 앱에 대해서는 [Personalize 샘플 리포지토리](https://github.com/aws-samples/amazon-personalize-samples)의 [Personalize](https://github.com/aws-samples/amazon-personalize-monitor) 모니터를 참조하세요.

# Personalize에 대한 CloudWatch 지표
<a name="cloudwatch-metrics"></a>

이 단원에는 Personalize에 사용할 수 있는 CloudWatch 지표에 대한 정보가 나와 있습니다. 자세한 내용은 [Amazon CloudWatch를 사용한 Amazon Personalize 모니터링](personalize-monitoring.md)단원을 참조하세요.

다음 표에는 Personalize 지표가 나열되어 있습니다. GetRecommendations 및 GetPersonalizedRanking 지원 받기 제외한 모든 지표는 다음 통계를 지원합니다:`Average, Minimum, Maximum, Sum` GetRecommendations 및 GetPersonalizedRanking 지원 `Sum`만 해당됩니다.


| 지표 | 설명 | 
| --- | --- | 
| DatasetImportJobRequests |  성공한 [CreateDatasetImportJob](API_CreateDatasetImportJob.md)API 호출 수입니다. 차원: `DatasetGroupArn, DatasetArn, DatasetImportJobArn`  | 
| DatasetImportJobError |  오류가 발생한 `CreateDatasetImportJob`API 호출 수입니다. 차원: `DatasetGroupArn, DatasetArn, DatasetImportJobArn`  | 
| DatasetImportJobExecutionTime |  `CreateDatasetImportJob` API 호출 시간부터 작업 완료(또는 실패) 시간 사이의 간격입니다. 차원: `DatasetGroupArn, DatasetArn, DatasetImportJobArn` 단위: 초  | 
| DatasetSize |  데이터세트 가져오기 작업에서 가져오는 데이터의 크기입니다. 차원: `DatasetGroupArn, DatasetArn, DatasetImportJobArn` 단위: 바이트  | 
| SolutionTrainingJobRequests |  성공한 [CreateSolutionVersion](API_CreateSolutionVersion.md)API 호출 수입니다. 차원: `SolutionArn, SolutionVersionArn`  | 
| SolutionTrainingJobError |  오류가 발생한 `CreateSolutionVersion`API 호출 수입니다. 차원: `SolutionArn, SolutionVersionArn`  | 
| SolutionTrainingJobExecutionTime |  `CreateSolutionVersion` API 호출 시간부터 작업 완료(또는 실패) 시간 사이의 간격입니다. 차원: `SolutionArn, SolutionVersionArn` 단위: 초  | 
| GetPersonalizedRanking |  [GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md) API 직접 호출 성공 여부. `sum` 통계를 사용하여 GetPersonalizedranking API 직접 호출에 성공한 총 횟수를 확인할 수 있습니다. 이 지표는 다른 통계를 지원하지 않습니다. 측정기준: `CampaignArn`  | 
| GetPersonalizedRanking4xxErrors |  4xx HTTP 응답 코드를 반환한 `GetPersonalizedRanking`API 호출 수입니다. 측정기준: `CampaignArn`  | 
| GetPersonalizedRanking5xxErrors |  5xx HTTP 응답 코드를 반환한 `GetPersonalizedRanking`API 호출 수입니다. 측정기준: `CampaignArn`  | 
| GetPersonalizedRankingLatency |  `GetPersonalizedRanking` API 호출을 받은 시간부터 추천을 보낸 시간 사이의 간격(4xx 및 5xx 오류 제외)입니다. 측정기준: `CampaignArn` 단위: 밀리초  | 
| GetRecommendations |  [GetRecommendations](API_RS_GetRecommendations.md) API 직접 호출 성공 여부. `sum` 통계를 사용하여 성공한 GetRecommendations API 직접 호출의 총 수를 봅니다. 이 지표는 다른 통계를 지원하지 않습니다. 측정기준: `CampaignArn`  | 
| GetRecommendations4xxErrors |  4xx HTTP 응답 코드를 반환한 `GetRecommendations`API 호출 수입니다. 측정기준: `CampaignArn`  | 
| GetRecommendations5xxErrors |  5xx HTTP 응답 코드를 반환한 `GetRecommendations`API 호출 수입니다. 차원: CampaignArn  | 
| GetRecommendationsLatency |  `GetRecommendations` API 호출을 받은 시간부터 추천을 보낸 시간 사이의 간격(4xx 및 5xx 오류 제외)입니다. 측정기준: `CampaignArn` 단위: 밀리초  | 
| PutEventsRequests |  성공한 [PutEvents](API_UBS_PutEvents.md)API 호출 수입니다. 차원:` DatasetGroupArn, DatasetArn, EventTrackerArn`  | 
| PutEvents4xxErrors |  4xx HTTP 응답 코드를 반환한 `PutEvents`API 호출 수입니다. 측정기준: ` DatasetGroupArn, DatasetArn, EventTrackerArn`  | 
| PutEvents5xxErrors |  5xx HTTP 응답 코드를 반환한 `PutEvents`API 호출 수입니다. 측정기준: ` DatasetGroupArn, DatasetArn, EventTrackerArn`  | 
| PutEventLatency |  `PutEvents` API 호출을 완료하는 데 걸린 시간(4xx 및 5xx 오류 제외)입니다. 측정기준: ` DatasetGroupArn, DatasetArn, EventTrackerArn` 단위: 밀리초  | 
| PutItemsRequests |  성공한 [PutItems](API_UBS_PutItems.md)API 호출 수입니다. 차원:` DatasetGroupArn, DatasetArn`  | 
| PutItems4xxErrors |  4xx HTTP 응답 코드를 반환한 `PutItems`API 호출 수입니다. 측정기준: ` DatasetGroupArn, DatasetArn`  | 
| PutItems5xxErrors |  5xx HTTP 응답 코드를 반환한 `PutItems`API 호출 수입니다. 측정기준: ` DatasetGroupArn, DatasetArn`  | 
| PutItemsLatency |  `PutItems` API 호출을 완료하는 데 걸린 시간(4xx 및 5xx 오류 제외)입니다. 측정기준: ` DatasetGroupArn, DatasetArn` 단위: 밀리초  | 
| PutUsersRequests |  성공한 [PutUsers](API_UBS_PutUsers.md)API 호출 수입니다. 차원:` DatasetGroupArn, DatasetArn`  | 
| PutUsers4xxErrors |  4xx HTTP 응답 코드를 반환한 `PutUsers`API 호출 수입니다. 측정기준: ` DatasetGroupArn, DatasetArn`  | 
| PutUsers5xxErrors |  5xx HTTP 응답 코드를 반환한 `PutUsers`API 호출 수입니다. 측정기준: ` DatasetGroupArn, DatasetArn`  | 
| PutUsersLatency |  `PutUsers` API 호출을 완료하는 데 걸린 시간(4xx 및 5xx 오류 제외)입니다. 측정기준: ` DatasetGroupArn, DatasetArn` 단위: 밀리초  | 