

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 入門チュートリアル
<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/ja_jp/iot/latest/developerguide/fleet-metrics-get-started.html)

   このスクリプトの出力には、10 個の JSON ファイルが含まれています。JSON ファイルのうちの 1 つが次のようになります。

   ```
   {
       "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`パラメーターは、フリートメトリクス名を指定します。この例では、*high\$1temp\$1FM*という名前のフリートメトリクス を作成しています。

   --query <string>

   データ型 – 文字列 `--query-string`パラメーターは、クエリ文字列を指定します。この例でクエリ文字列は、*TempSensor* で始まる名前が付けられたすべてのモノと、温度が華氏 80 度を超えるすべてのモノをクエリすることを意味します。詳細については、「[クエリ構文](query-syntax.md)」を参照してください。

   –-期間 

   データ型: 整数 `--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. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. 左側の [CloudWatch] メニューで、[**メトリクス**] をクリックしてサブメニューを展開し、[**すべてのメトリクス**] を選びます。これにより、上半分はグラフが表示され、下半分は4つのタブ付きセクションが表示されたページが開きます。

1. 最初のタブ付きセクション[**すべてのメトリクス**] には、グループで表示できるすべてのメトリクスが一覧表示されます。[**loTFleetMetrics**] を選びます。これにはすべてのフリートメトリクスが含まれます。

1. [**All metrics**] (すべてのメトリクス) タブの [**Aggregation type**] (集計タイプ) セクションで、[**Aggregation type**] (集計タイプ) を選択して、作成したすべてのフリートメトリクスを表示します。

1. フリート指標を選択して、[**Aggregation type**](集計タイプ)セクションの左側にグラフを表示します。**[メトリクス名]** の左に、値　*カウント*が表示されます。これは、このチュートリアルの「[フリートメトリクスを作成する](#fleet-metrics-tutorial-create)」セクションで指定された集約タイプの値です。

1. [**All metrics**](すべてのメトリクス) タブの右にある[**Graphed metrics**](グラフ化したメトリクス）という名前の2番目のタブを選び、前のステップで選んだフリートメトリクスを表示します。

   以下の通り、華氏 80 度以上の温度を持つセンサーの数を表示するグラフを確認できます。  
![\[AWS IoT フリートメトリクス\]](http://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/images/fm-metric-in-cloudwatch.png)
**注記**  
CloudWatchの[**Period**]（期間）属性のデフォルトは 5 分です。これは、CloudWatch に表示されているデータポイント間の時間間隔です。必要に応じて、[**Period**](期間)設定を変更する事ができます。

1. （オプション）メトリクスアラームを設定できます。

   1. 左側の CloudWatch メニューで、[**アラーム**] をクリックしてサブメニューを展開し、[**すべてのアラーム**] を選びます。

   1. [**Alarms**](アラーム) ページで、右上のコーナーの [**Create alarm** ] (アラームを作成する)を選びます。コンソールの[**Create alarm**](アラームを作成する)の指示に従って、必要に応じてアラームを作成します。詳細については、「[Using Amazon CloudWatch alarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)」(Amazon CloudWatch アラームを使用する) を参照してください。

詳細については、[[Using Amazon CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)](Amazon CloudWatch メトリクスを使う) を参照してください。

CloudWatch でデータポイントが表示されない場合は、[[Troubleshooting fleet metrics](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)」を参照してください。