

# 시나리오: CloudWatch에 지표 게시
<a name="PublishMetrics"></a>

이 시나리오에서는 AWS Command Line Interface(AWS CLI)를 사용하여 *GetStarted*라는 가상의 애플리케이션을 위한 단일 지표를 게시합니다. AWS CLI를 아직 설치 및 구성하지 않은 경우 *AWS Command Line Interface 사용 설명서*의 [AWS Command Line Interface 설정](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) 단원을 참조하세요.

**Topics**
+ [1단계: 데이터 구성 정의](#define-data-domain)
+ [2단계: CloudWatch에 지표 추가](#add-metrics-to-scenario)
+ [3단계: CloudWatch에서 통계 가져오기](#GetStatistics)
+ [4단계: 콘솔을 사용하여 그래프 보기](#ViewGraphs)

## 1단계: 데이터 구성 정의
<a name="define-data-domain"></a>

이 시나리오에서는 애플리케이션의 요청 지연 시간을 추적하는 데이터 요소를 게시합니다. 적절한 지표 및 네임스페이스의 이름을 선택합니다. 예를 들어 지표의 이름을 *RequestLatency*로 지정하고 모든 데이터 요소를 *GetStarted* 네임스페이스에 배치합니다.

3시간의 지연 시간 데이터를 총체적으로 나타내는 여러 데이터 요소를 게시합니다. 원시 데이터는 3시간에 걸쳐 분산된 요청 지연 시간 판독값 15개로 구성됩니다. 각 판독값은 다음과 같이 밀리초 단위입니다.
+ 시간 1: 87, 51, 125, 235
+ 시간 2: 121, 113, 189, 65, 89
+ 시간 3: 100, 47, 133, 98, 100, 328

데이터를 단일 데이터 요소 또는 **‘통계 집합’이라고 하는 집계된 데이터 요소 집합으로 CloudWatch에 게시할 수 있습니다. 지표를 1분 정도로 낮게 세분화하여 집계할 수 있습니다. 집계된 데이터 요소를 미리 정의된 4개의 키(`Sum`, `Minimum`, `Maximum`, `SampleCount`)가 있는 통계 집합으로 CloudWatch에 게시할 수 있습니다.

시간 1의 데이터 요소를 단일 데이터 요소로 게시합니다. 시간 2 및 시간 3의 데이터의 경우 데이터 요소를 집계하여 각 시간에 대한 통계 세트를 게시합니다. 키 값은 다음 표에 표시됩니다.


| 시간 | 원시 데이터 | 합계 | 최소 | 최대 | SampleCount | 
| --- | --- | --- | --- | --- | --- | 
| `1` | `87` |  |  |  |  | 
| `1` | `51` |  |  |  |  | 
| `1` | `125` |  |  |  |  | 
| `1` | `235` |  |  |  |  | 
| `2` | `121, 113, 189, 65, 89` | `577` | `65` | `189` | `5` | 
| `3` | `100, 47, 133, 98, 100, 328` | `806` | `47` | `328` | `6` | 

## 2단계: CloudWatch에 지표 추가
<a name="add-metrics-to-scenario"></a>

데이터 구성을 정의하면 데이터 추가를 시작할 준비가 된 것입니다.

**CloudWatch에 데이터 요소를 게시하려면**

1. 명령 프롬프트에서 [put-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-data.html) 명령을 실행하여 첫 번째 시간에 대한 데이터를 추가합니다. 예제 타임스탬프를 UTC 기준으로 2시간 전인 타임스탬프로 변경합니다.

   ```
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --timestamp 2016-10-14T20:30:00Z --value 87 --unit Milliseconds
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --timestamp 2016-10-14T20:30:00Z --value 51 --unit Milliseconds
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --timestamp 2016-10-14T20:30:00Z --value 125 --unit Milliseconds
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --timestamp 2016-10-14T20:30:00Z --value 235 --unit Milliseconds
   ```

1. 첫 번째 시간보다 1시간 늦은 타임스탬프를 사용하여 두 번째 시간에 대한 데이터를 추가합니다.

   ```
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --timestamp 2016-10-14T21:30:00Z --statistic-values Sum=577,Minimum=65,Maximum=189,SampleCount=5 --unit Milliseconds
   ```

1. 현재 시간에 대한 기본값에 대한 타임스탬프를 생략하고 세 번째 시간에 대한 데이터를 추가합니다.

   ```
   aws cloudwatch put-metric-data --metric-name RequestLatency --namespace GetStarted \
   --statistic-values Sum=806,Minimum=47,Maximum=328,SampleCount=6 --unit Milliseconds
   ```

## 3단계: CloudWatch에서 통계 가져오기
<a name="GetStatistics"></a>

CloudWatch에 지표를 게시했으므로 이제 다음과 같이 [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) 명령을 사용하여 해당 지표를 기반으로 통계를 검색할 수 있습니다. 게시한 가장 빠른 타임스탬프를 포함하도록 지난 시간에서 `--start-time` 및 `--end-time`을 충분히 여유 있게 지정해야 합니다.

```
aws cloudwatch get-metric-statistics --namespace GetStarted --metric-name RequestLatency --statistics Average \
--start-time 2016-10-14T00:00:00Z --end-time 2016-10-15T00:00:00Z --period 60
```

다음은 예제 출력입니다.

```
{
	"Datapoints": [],
	"Label": "Request:Latency"
}
```

## 4단계: 콘솔을 사용하여 그래프 보기
<a name="ViewGraphs"></a>

CloudWatch에 지표를 게시했다면 CloudWatch 콘솔을 사용하여 통계 그래프를 볼 수 있습니다.

**콘솔에서 통계 그래프를 보려면**

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

1. **탐색** 창에서 **지표**를 선택하세요.

1. **모든 지표** 탭의 검색 상자에**RequestLatency**를 입력하고 Enter 키를 누릅니다.

1. **RequestLatency** 지표에 대한 확인란을 선택합니다. 지표 데이터의 그래프가 위쪽 창에 표시됩니다.

자세한 내용은 [지표 그래프 작성](graph_metrics.md) 단원을 참조하세요.