

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

# 시작하기 자습서
<a name="fleet-metrics-get-started"></a>

이 튜토리얼에서는 잠재적인 이상을 감지하기 위해 센서의 온도를 모니터링하는 [플릿 지표](iot-fleet-metrics.md)를 생성합니다. 플릿 지표를 생성할 때 온도가 화씨 80도를 초과하는 센서의 수를 감지하는 [집계 쿼리](index-aggregate.md)를 정의합니다. 쿼리가 60초마다 실행되도록 지정하면 쿼리 결과가 CloudWatch로 내보내지며, 여기에서 잠재적인 고온 위험이 있는 센서의 수를 보고 경보를 설정할 수 있습니다. 이 자습서를 완료하려면 [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)를 사용합니다.

이 자습서에서는 다음을 수행하는 방법을 알아봅니다.
+ [설정](#fleet-metrics-tutorial-setup)
+ [플릿 지표 생성](#fleet-metrics-tutorial-create)
+ [CloudWatch에서 지표 보기](#fleet-metrics-tutorial-view-data)
+ [리소스 정리](#fleet-metrics-tutorial-delete-fleet-metrics)

이 자습서는 완료하는 데 약 15분이 소요됩니다.

## 사전 조건
<a name="fleet-metrics-tutorial-prerequisites"></a>
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)의 최신 버전을 설치하려면
+ [집계 데이터 쿼리](https://docs.aws.amazon.com/iot/latest/developerguide/index-aggregate.html) 익히기
+ [Amazon CloudWatch 지표 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 익히기 

## 설정
<a name="fleet-metrics-tutorial-setup"></a>

플릿 지표를 사용하려면 플릿 인덱싱을 사용하도록 설정합니다. 지정된 데이터 원본과 관련 구성을 사용하여 사물 또는 사물 그룹에 대한 플릿 인덱싱을 사용하도록 설정하려면 [사물 인덱싱 관리](managing-index.md#enable-index) 및 [사물 그룹 인덱싱 관리](thinggroup-index.md#enable-group-index)의 지침을 따르세요.

**설정**

1. 다음 명령을 실행하여 플릿 인덱싱을 사용하도록 설정하고 검색할 데이터 원본을 지정합니다.

   ```
   aws iot update-indexing-configuration \
   --thing-indexing-configuration "thingIndexingMode=REGISTRY_AND_SHADOW,customFields=[{name=attributes.temperature,type=Number},{name=attributes.rackId,type=String},{name=attributes.stateNormal,type=Boolean}],thingConnectivityIndexingMode=STATUS" \
   ```

   위의 CLI 명령 예시는 `AWS_Things` 인덱스를 사용하여 레지스트리 데이터, 섀도우 데이터 및 사물 연결 상태 검색을 지원하도록 플릿 인덱싱을 사용하도록 설정합니다.

   구성 변경을 완료하는 데 몇 분 정도 걸릴 수 있습니다. 플릿 지표를 생성하기 전에 플릿 인덱싱이 사용하도록 설정되어 있는지 확인합니다.

   플릿 인덱싱이 사용하도록 설정되었는지 확인하려면 다음 CLI 명령을 실행합니다.

   ```
   aws --region us-east-1 iot describe-index --index-name "AWS_Things"
   ```

   자세한 내용은 [사물 인덱싱 사용](managing-index.md#enable-index)을 참조하세요.

1. 다음 bash 스크립트를 실행하여 10개의 사물을 생성하고 설명합니다.

   ```
   # Bash script. Type `bash` before running in other shells.
   
   Temperatures=(70 71 72 73 74 75 47 97 98 99)
   Racks=(Rack1 Rack1 Rack2 Rack2 Rack3 Rack4 Rack5 Rack6 Rack6 Rack6)
   IsNormal=(true true true true true true false false false false)
   
   for ((i=0; i < 10; i++))
   do
     thing=$(aws iot create-thing --thing-name "TempSensor$i" --attribute-payload attributes="{temperature=${Temperatures[@]:$i:1},rackId=${Racks[@]:$i:1},stateNormal=${IsNormal[@]:$i:1}}")
     aws iot describe-thing --thing-name "TempSensor$i"
   done
   ```

   이 스크립트는 10개의 센서를 나타내는 10개의 사물을 생성합니다. 각 사물에는 다음 표에 설명된 대로 `temperature`, `rackId` 및 `stateNormal` 속성이 있습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/fleet-metrics-get-started.html)

   이 스크립트의 출력에는 10개의 JSON 파일이 포함됩니다. JSON 파일 중 하나가 다음과 같습니다.

   ```
   {
       "version": 1, 
       "thingName": "TempSensor0", 
       "defaultClientId": "TempSensor0", 
       "attributes": {
           "rackId": "Rack1", 
           "stateNormal": "true", 
           "temperature": "70"
       }, 
       "thingArn": "arn:aws:iot:region:account:thing/TempSensor0", 
       "thingId": "example-thing-id"
   }
   ```

   자세한 내용은 [사물 생성](https://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html#create-thing)을 참조하세요.

## 플릿 지표 생성
<a name="fleet-metrics-tutorial-create"></a>

**플릿 지표를 생성하는 방법**

1. 다음 명령을 실행하여 *high\$1temp\$1FM*이라는 플릿 지표를 생성합니다. CloudWatch에서 온도가 화씨 80도를 초과하는 센서 수를 모니터링하는 플릿 지표를 생성합니다.

   ```
   aws iot create-fleet-metric --metric-name "high_temp_FM" --query-string "thingName:TempSensor* AND attributes.temperature >80" --period 60 --aggregation-field "attributes.temperature" --aggregation-type name=Statistics,values=count
   ```

   --metric-name 

   데이터 형식: 문자열. `--metric-name` 파라미터는 플릿 지표 이름을 지정합니다. 이 예에서는 *high\$1temp\$1FM*이라는 플릿 지표를 생성하고 있습니다.

   --query-string

   데이터 형식: 문자열. `--query-string` 파라미터는 쿼리 문자열을 지정합니다. 이 예에서 쿼리 문자열은 이름이 *TempSensor*로 시작하고 온도가 화씨 80도 이상인 모든 사물을 쿼리하는 것을 의미합니다. 자세한 내용은 [쿼리 구문](query-syntax.md)을 참조하세요.

   --period 

   데이터 형식: 정수. `--period` 파라미터는 집계된 데이터를 검색하는 시간을 초 단위로 지정합니다. 이 예에서는 생성 중인 플릿 지표가 60초마다 집계된 데이터를 검색하도록 지정합니다.

   --aggregation-field

   데이터 형식: 문자열. `--aggregation-field` 파라미터는 평가할 속성을 지정합니다. 이 예에서는 온도 속성을 평가해야 합니다.

   --aggregation-type

   `--aggregation-type` 파라미터는 플릿 지표에 표시할 통계 요약을 지정합니다. 모니터링 태스크의 경우 다양한 집계 유형(**통계(Statistics)**, **카디널리티(Cardinality)** 및 **백분위 수(Percentile)**의 집계 쿼리 속성을 사용자 지정할 수 있습니다. 이 예에서 집계 유형과 **통계**에 대해 **개수**를 지정하여 쿼리와 일치하는 속성이 있는 디바이스 수를 반환합니다. 즉, 이름이 *TempSensor*로 시작하고 온도가 화씨 80도 이상인 디바이스 수를 반환합니다. 자세한 내용은 [집계 데이터 쿼리](index-aggregate.md)를 참조하세요.

   이 명령의 출력은 다음과 같습니다.

   ```
   {
       "metricArn": "arn:aws:iot:region:111122223333:fleetmetric/high_temp_FM", 
       "metricName": "high_temp_FM"
   }
   ```
**참고**  
CloudWatch에 데이터 포인트가 표시되는 데 시간이 걸릴 수 있습니다.

   플릿 지표를 생성하는 방법에 대해 자세히 알아보려면 [플릿 지표 관리](managing-fleet-metrics.md)를 참조하세요.

   플릿 지표를 생성할 수 없는 경우 [플릿 지표 문제 해결](fleet-indexing-troubleshooting.md#fleet-metrics-troubleshooting)을 참조하세요.

1. (선택 사항) 다음 명령을 실행하여 *high\$1temp\$1FM*이라는 플릿 지표를 설명합니다.

   ```
   aws iot describe-fleet-metric --metric-name "high_temp_FM"
   ```

   이 명령의 출력은 다음과 같습니다.

   ```
   {
       "queryVersion": "2017-09-30", 
       "lastModifiedDate": 1625249775.834, 
       "queryString": "*", 
       "period": 60, 
       "metricArn": "arn:aws:iot:region:111122223333:fleetmetric/high_temp_FM", 
       "aggregationField": "registry.version", 
       "version": 1, 
       "aggregationType": {
           "values": [
               "count"
           ], 
           "name": "Statistics"
       }, 
       "indexName": "AWS_Things", 
       "creationDate": 1625249775.834, 
       "metricName": "high_temp_FM"
   }
   ```

## CloudWatch에서 플릿 지표 보기
<a name="fleet-metrics-tutorial-view-data"></a>

플릿 지표를 생성한 후 CloudWatch에서 지표 데이터를 볼 수 있습니다. 이 튜토리얼에서는 이름이 *TempSensor*로 시작하고 온도가 화씨 80도 이상인 센서의 수를 보여주는 지표를 볼 수 있습니다.

**CloudWatch에서 데이터 포인트를 보려면**

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

1. 왼쪽 패널의 CloudWatch 메뉴에서 **지표**를 선택하여 하위 메뉴를 확장한 다음 **모든 지표**를 선택합니다. 이렇게 하면 위쪽 절반에 그래프가 표시되고 아래쪽 절반에 4개의 탭 섹션이 있는 페이지가 열립니다.

1. 첫 번째 탭 섹션인 **모든 지표**에는 그룹에서 볼 수 있는 모든 지표가 나열됩니다. **IoTFleetMetrics**를 선택합니다. 여기에는 모든 플릿 지표가 포함됩니다.

1. **모든 지표(All metrics)** 탭의 **집계 유형(Aggregation type)** 섹션에서 **집계 유형(Aggregation type)**을 선택하여 생성한 모든 플릿 지표를 확인합니다.

1. 플릿 지표를 선택하여 **집계 유형(Aggregation type)** 섹션 왼쪽에 그래프를 표시합니다. **지표 이름** 왼쪽에 값 *개수* 값이 표시되며 이는 이 자습서의 [플릿 지표 생성](#fleet-metrics-tutorial-create) 섹션에서 지정한 집계 유형의 값입니다.

1. **모든 지표(All metrics)** 탭의 오른쪽에 있는 **그래프로 표시된 지표(Graphed metrics)**라는 두 번째 탭을 선택하여 이전 단계에서 선택한 플릿 지표를 확인합니다.

   다음과 같이 화씨 80도보다 높은 온도의 센서 수를 표시하는 그래프를 볼 수 있어야 합니다.  
![\[AWS IoT 플릿 지표\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/fm-metric-in-cloudwatch.png)
**참고**  
CloudWatch의 **기간(Period)** 속성은 기본적으로 5분으로 설정됩니다. CloudWatch에 표시되는 데이터 포인트 사이의 시간 간격입니다. 필요에 따라 **기간(Period)** 설정을 변경할 수 있습니다.

1. (선택 사항) 지표 경보를 설정할 수 있습니다.

   1. 왼쪽 패널의 CloudWatch 메뉴에서 **경보**를 선택하여 하위 메뉴를 확장한 다음 **모든 경보**를 선택합니다.

   1. **경보(Alarms)** 페이지의 오른쪽 상단 모서리에서 **경보 생성(Create alarm)**을 선택합니다. 콘솔에서 **경보 생성(Create alarm)** 지침에 따라 경보를 생성합니다. 자세한 내용은 [Amazon CloudWatch 경보 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)을 참조하세요.

자세한 내용은 [Amazon CloudWatch 지표 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)을 참조하세요.

CloudWatch에서 데이터 포인트를 볼 수 없는 경우 [플릿 지표 문제 해결](fleet-indexing-troubleshooting.md#fleet-metrics-troubleshooting)을 참조하세요.

## 정리
<a name="fleet-metrics-tutorial-delete-fleet-metrics"></a>

**플릿 지표를 삭제하려면**

**delete-fleet-metric** CLI 명령을 사용하여 플릿 지표를 삭제합니다.

*high\$1temp\$1FM*이라는 플릿 지표를 삭제하려면 다음 명령을 실행합니다.

```
aws iot delete-fleet-metric --metric-name "high_temp_FM"
```

**사물을 정리하려면**

**delete-thing** CLI 명령을 사용하여 사물을 삭제합니다.

생성한 10개의 사물을 삭제하려면 다음 스크립트를 실행합니다.

```
# Bash script. Type `bash` before running in other shells.

for ((i=0; i < 10; i++))
do
  thing=$(aws iot delete-thing --thing-name "TempSensor$i")
done
```

**CloudWatch에서 지표를 정리하려면**

CloudWatch는 지표 삭제를 지원하지 않습니다. 지표는 보존 일정에 따라 만료됩니다. 자세한 내용은 [Amazon CloudWatch 지표 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)을 참조하세요.