【アップデート】AWS IoT Device Management にデバイス接続メトリクスの監視ダッシュボードが追加されました

2024.06.11

先日、AWS IoT Device Management にて新たに「接続メトリクスのダッシュボード」が利用できるになった旨のリリースがありました。

どんな機能なのか?

AWS IoT Device Management にて AWS IoT を利用するデバイスの接続性に関するメトリクスを提供するダッシュボードが新たに提供されることになりました。

このダッシュボードを通じて、デバイス群(デバイスフリート)の「接続デバイス数」や「デバイスが切断した理由の可視化」を簡単に利用することができるようになり、デバイス全体の傾向を管理することで、異常発生や傾向など運用上の問題を捉えやすくなります。

従来は同様のダッシュボードを利用する場合、CloudWatch などを利用してユーザーが独自に作成する必要がありましたが、今回のアップデートにてそれらの手間がなくなりました。 (カスタマイズしたダッシュボードを作りたい場合は、従来のようにユーザー側で作成する必要があります)

試してみる

デフォルトのダッシュボードの内容

AWS IoT Core のマネジメントコンソールを開くと、メニューに「モニタリング」という項目が追加されていますので、クリックして開きます。
画面の上部に次の4つのタブがあり、それぞれの画面で専用のウィジェットが存在します。

  • 接続メトリクス
  • IoT メトリクス
  • ジョブ実行メトリクス
  • LoRaWAN メトリクス

01-aws-iot-monitronig

「接続メトリクス」にはデフォルトで3つのウィジェットがあります。

  • 接続成功
  • 公開済みメッセージ
  • 認証の失敗

02-01-aws-iot-monitronig

「IoT メトリクス」には、次のウィジェットが用意されています。

  • 「実行されたルール」
  • プロトコルレート(%)
  • メトリクスタイプのレート(%)
  • メトリクスメッセージレート(%)
  • モノのシャドウの成功率(%)の取得
  • モノのシャドウの成功率(%)の更新
  • モノのシャドウの成功率(%)の削除

03-iot-metrics

「ジョブ実行メトリクス」は IoT Jobs に関するウィジェットがありました。

  • キューに入れられたジョブ実行
  • InProgress のジョブ実行
  • キャンセルされたジョブ実行
  • ジョブ実行の失敗
  • 拒否されたジョブ実行
  • ジョブ実行の削除
  • ジョブ実行の成功

04-job-metrics

「LoRaWAN メトリクス」 は AWS IoT Core For LoRaWAN に関するメトリクスになっています。

05-lorawan-metrics

接続性メトリクスにウィジェットを追加する

はじめて利用する場合「接続メトリクス」の画面には「ウィジェットを有効にする」というボタンが表示されています。これをクリックすると「接続メトリクス」に次の3つのウィジェットが追加されます。

  • 接続デバイス数
  • 切断率
  • 切断の理由

このボタンをクリックすることで専用のフリートメトリクスが作成されます。追加されるウィジェットには、作成されたフリートメトリクスのデータが利用されます。

13-enable-monitring-widget

ボタンをクリックすると追加するウィジェットが選択できます。ここではすべて選択しています。

06-enable-widget

有効化すると、次のような2つのメッセージが表示されます。インデックスの作成には時間かかるので少し待機ます。(私の場合は 10 分程度で有効になりました。)

07-build-index

08-activated-widget

インデックスが作成できると、概要欄に「モノ」に関する 3 つの状態が表示されます。

  • 登録されているモノ
  • 接続されているモノ
  • 切断されたモノ

また、「接続メトリクス」には新たに次の 3 つのウィジェットが現れました。

  • 接続デバイス数
  • 切断率
  • 切断の理由

09-monitroing-metrics

各ウィジェトから CloudWatch メトリクスに遷移することもできます。

11-plot-cloudwatch-metrics

これで CloudWatch の画面から簡単にアラート設定もできるので便利です。

12-cloudwatch-connect-metrics

ウィジェットを有効にすると、いくつかのフリートメトリクスが作成されていることも確認できました。

14-fleet-metrics

  • iotconnectivitydashboard-disconnection-rate
  • iotconnectivitydashboard-disconnected-device-count
  • iotconnectivitydashboard-disconnect-reason-websocket-TTL-expiration
  • iotconnectivitydashboard-disconnect-reason-throttled
  • iotconnectivitydashboard-disconnect-reason-server-initiated
  • iotconnectivitydashboard-disconnect-reason-server-error
  • iotconnectivitydashboard-disconnect-reason-forbidden-access
  • iotconnectivitydashboard-disconnect-reason-duplicate-client-id
  • iotconnectivitydashboard-disconnect-reason-connection-lost
  • iotconnectivitydashboard-disconnect-reason-client-initiated
  • iotconnectivitydashboard-disconnect-reason-client-error
  • iotconnectivitydashboard-disconnect-reason-auth-error
  • iotconnectivitydashboard-disconnect-reason-MQTT-keep-alive-timeout
  • iotconnectivitydashboard-connected-device-count
  • iotconnectivitydashboard-all-device-count

利用料金と利用停止

接続性メトリクスのためのウィジェットを有効にすると、フリートインデックスの更新と検索クエリの実行数によって課金が発生します。

東京リージョンの場合、フリートインデックスの利用に関する料金は次のとおりです。

項目 料金
インデックス更新 (100 万回あたりの更新回数) 2.70USD
検索クエリ (クエリ 10,000 回あたり) 0.06USD

一度ウィジェットを有効化しても作成されたフリートメトリクスを削除すれば無効にできます。

21-delete-fleet-metrics

フリートメトリクスを削除すると再び有効化ボタンが表示されるので、再度利用したい場合はこちらから再びウィジェットを有効にすると、削除したフリートメトリクスが再び作成されます。

22-re-enable-widget

なお、上記の画面にあるように「フリートインデックス作成をオフにすることで非アクティブ化」もできますが、「フリートインデックス作成」自体をオフにすると、他のフリートインデックスもオフになってしまうので、今回のウィジェットだけを無効にするなら対象のフリートメトリクスを削除することが望ましいかと思います。

23-config-fleet-index

ウィジェットを有効化すると作成されるもの

マネジメントコンソールでボタンをクリックするだけでウィジェットが作成されるのは便利です。
この「有効化」ボタンをクリックするといくつかの設定が変わったり、フリートメトリクスなどのリソースがいくつか作成されます。

たとえばフリートインデックスを利用していないリージョンや、AWS IoT そのものを使ったことがないリージョンなどでも、「ウィジェットを有効にする」ボタンをクリックすることができます。

ボタンをクリックすると裏側で次の変更が発生します。

  • フリートインデックスの設定が変わる
    • 「モノのインデックス作成」が有効になる
    • 「モノの接続の追加」が有効になる
  • フリートメトリクスが作成される
    • 作成されるメトリクスは上述した通り

変更箇所が分かっていれば無効化に必要な作業も分かります。

24-config-flee-index-new-region

最後に

このダッシュボードを利用することで、デバイス全体の動向を監視し、気になる事象が発生すれば個別に詳細を調査するという、一連の運用の流れを簡単に作成できるようになります。

ぜひ活用していただければと思います。