デバイスモニタリング

デバイスモニタリングは、IoTデバイスの監視機能を提供します。

  • デバイスから送信された数値データをグラフ形式でモニタリングできます。これにより数値データの推移を分かりやすく把握できます。
  • 作成したグラフはチャート共有機能でインターネットに公開できます。(チャート共有機能を利用しない初期状態では、ログインユーザのみグラフを参照できます)
  • 数値データに緯度経度の座標を付加することで、地図上にプロットして表示できます。
  • 以下の3つのタイプの監視設定を行い、検知時にメールや Microsoft Teams、Slack による通知を受け取ることができます。
    • メトリック閾値監視:メトリックデータの数値が一定の閾値を超えた場合
    • メトリック死活監視:メトリックデータが一定期間送信されてこない場合
    • ゲートウェイデバイス Ping 監視:ゲートウェイデバイスに対する Ping 疎通が断たれた場合(メール通知のみ)



画面イメージ

データ送信形式

デバイスモニタリングを利用する場合、以下の JSON 形式でデータを送信してください。
デバイスモニタリングを利用しない場合(データハブ、データストレージ、クラウドアダプタをご利用される場合)は以下のフォーマットに従う必要はありません。

変数名必須概要
namespacestring×Metric の Namespace。 省略すると「Default」が使用されます
namestringMetric 名
tagsobject×Metric に付与するタグ、文字列のキーと値のペア
valuenumber

データ値、 小数点の利用も可能

※ デバイスモニタリングで扱える整数の値の桁数は最大16桁になります。17桁以上の数値を送信した場合、グラフは表示されません。
小数点以下を含む実数の場合、整数部の扱いは上記と同様になります。また、実数部は自動的に丸められます。


0.1234567890123456 -> 0.123456789012346 (実数部の16桁目以降が丸められる)
1.234567890123456  -> 1.23456789012346 (実数部の15桁目以降が丸められる)
12.34567890123456  -> 12.3456789012346 (実数部の14桁目以降が丸められる)

timestampnumber×データのタイムスタンプ、UNIX タイムをミリ秒単位で表記した値。省略すると IoTサービスがデータを受信した時刻が使用されます。
metaobject×

データの付加情報、文字列のキーと値のペア

地図にプロットして表示する場合は、以下の通りに緯度経度の座標を付与してください。

キー
latitude緯度 (DEG形式)
-90から90の範囲で指定
35.702023
-> 北緯35度42分07.3秒の地点
longitude経度 ( DEG形式 )
-180から180の範囲で指定
139.745088
-> 東経139度44分42.3秒の地点

データ送信例

POST http://gw.iot.iij.jp/v1
{
    "name": "温度",
    "value": 29.5,
    "namespace": "Default",
    "tags": {
        "sensor": "BME280"
    },
    "timestamp": 1473215677644,
    "meta": {
        "latitude": "35.702023",
        "longitude": "139.745088"
    }
}

以下のように、1回のリクエストで複数のセンサーデータを送信することも可能です。

POST http://gw.iot.iij.jp/v1
[
    {
        "name": "温度",
        "value": 29.5
    },  
    {
        "name": "湿度",
        "value": 68.2
    }
]
データ送信した値とデバイスモニタリングでの表示の対比

備考

ミリ秒単位のタイムスタンプは、以下のようにして値を取得することができます。

Linux

以下のコマンドを実行してください。

#(現在の日時の値を取得する場合)
echo $(($(date '+%s%N')/1000000))

#(特定の日時の値を取得する場合)
echo $(($(date -d '2017-03-01 13:14:15.678' '+%s%N')/1000000))
Windows

Microsoft Excel のセルに以下の計算値を入力してください。
※そのままだと指数表示になってしまうため、「セルの書式設定」を「数値」に設定してください。

# (現在の日時の値を取得する場合)
=(((NOW()-25569)*86400)-32400)*1000

# (特定の日時の値を取得する場合)
=((("2017-03-01 13:14:15.678"-25569)*86400)-32400)*1000


データ表示期間

デバイスモニタリングを利用して表示できる期間は「過去1年分」となります。
また、データは以下のようにサンプリングされて蓄積・表示されます。

  • 最新値(過去24時間分):生データ(時系列の最小単位は1秒間隔)
  • 過去1日:   5分ごとの平均値
  • 過去1週間:30分ごとの平均値
  • 過去1ヶ月:2時間ごとの平均値
  • 過去1年:   1日ごとの平均値

1年より過去のセンサーデータや、サンプリングされていないデータを扱いたい場合は、データストレージにデータを蓄積しお客様システムから参照してください。または、データハブを利用してお客様システム上にデータを転送してください。

メトリック閾値監視

  • 閾値監視の監視間隔は「5分間」です。
  • 5分間の平均値、合計値、最大値、最小値、いずれかの値を指定することが出来ます。
  • 値の評価条件は以下の複数パターンから選択できます。

    演算子状態
    超過
    未満
    等しい
    !=異なる
    >=以上
    <=以下
  • 詳細は、デバイスモニタリング画面の監視設定を参照ください。

メトリック死活監視

  • メトリック死活監視は、一定期間メトリックデータが送信されていない状態を異常として検知します。一定間隔でメトリックデータが送信されている状態を監視したい場合に利用可能です。
  • 設定できる時間間隔は、15分、30分、1時間、3時間、6時間、12時間、24時間のから選択します。各時間間隔は、ゲートウェイデバイスから送信されたtimestampの時刻ではなく、IoTサービスプラットフォームがデータを受信した時刻を基準にしています。

ゲートウェイデバイス Ping 監視

  • Ping 監視は定期的にお客様ゲートウェイデバイスに対してネットワーク疎通確認を行います。
  • Ping 監視可能なネットワークインターフェースは、IoTサービスプラットフォームと接続するインターフェースのみとなります。
  • Ping 疎通が途絶えた際にメール通知を受け取ることができます。
  • Ping 監視を有効にした場合、モバイルアクセスの通信料が別途発生いたします。(1デバイスあたり月額 約 0.4 円が通信料金の目安となります)
  • Ping の送信元ネットワークアドレスは「10.64.2.0/24」になります。ゲートウェイデバイスに対し同ネットワークからのアクセスを許可して下さい。なお、プライベートコネクタをご契約いただき、プライベートネットワークを介してPing を送信している場合、お客様専用のゲートウェイ IP アドレスが送信元 IP アドレスとなります。お客様専用のゲートウェイ IP アドレスは プライベートコネクタ画面 の情報をご参照ください。
  • 一部ゲートウェイデバイスの通信モジュールに実装されているスリープモードの仕様により、Ping がタイムアウトし異常検知してしまう場合があります。このような場合、ゲートウェイデバイス Ping 監視ではなく、メトリック死活監視の利用をご検討ください。
監視間隔5分に1回、デバイスの IP アドレスに Ping 疎通確認を行います
通知条件
  • 3回連続で Ping 応答がなかった場合に「DOWN」状態として異常通知を行います。
  • 「DOWN」状態から、1回 Ping 応答があると「UP」状態として復旧通知を行います。

監視タイプ別 利用シーン

デバイスモニタリングの監視タイプ「ゲートウェイデバイス Ping 監視」「メトリック閾値監視」「メトリック死活監視」の各利用シーンは以下のようになります。


通知フォーマット

  • メトリクス閾値監視、死活監視(メール)

    差出人:
    IIJ IoT Service <iot-noreply@iij.ad.jp>
    
    
    件名:
    [IIJ IoT] (デバイス名) / (送信データ「namespace」) / (送信データ「name」) の (監視設定「状態名」) を検知
    
    
    本文:
    IIJ IoTサービス デバイスモニタリングが状態変化を検知しました
    
    
    検知日時:      (5分間隔の検知タイミング)
    デバイス:      (デバイス名)
    メトリック:    (送信データ「namespace」) / (送信データ「name」) {(送信データ「tags」)}
    状態:          (監視設定「状態」)によって (前回の監視設定「状態名」) -> (監視設定「状態名」)  へ状態変化
    
    
    詳細は以下にアクセスしてご確認ください。
    https://cp.iot.iij.jp/monitor/metrics/(メトリックID)?sc=(iotサービスコード)
    
    
    --
    ------------------------------------------------------------------------
    このメールは IIJ IoTサービスより自動送信しております。
    本メールに心あたりのない方は、iot-support@iij.ad.jp までご連絡下さい。
  • メトリクス閾値監視、死活監視(Teams / Slack)

    IIJ IoTサービス デバイスモニタリングが状態変化を検知しました
    
    
    検知日時:      (5分間隔の検知タイミング)
    デバイス:      (デバイス名)
    メトリック:    (送信データ「namespace」) / (送信データ「name」) {(送信データ「tags」)}
    状態:          (監視設定「状態」)によって (前回の監視設定「状態名」) -> (監視設定「状態名」) へ状態変化
    
    
    詳細は以下にアクセスしてご確認ください。
    
                  https://cp.iot.iij.jp/monitor/metrics/(メトリックID)?sc=(iotサービスコード)
  • ゲートウェイデバイスPing監視(メール)

    差出人:
    IIJ IoT Service <iot-noreply@iij.ad.jp>
     
    件名:
    デバイス通信状態 / (UP or DOWN)検知
     
    本文:
    IIJ IoTサービス デバイスの通信状態変化を検知しました
      
    検知日時:      (検知タイミング)
    状態:          (UP or DOWN)
    デバイス:
     IPアドレス             デバイス名
    -----------------------------------------------
     (IPアドレス)        (デバイス名)
     
    
      
    詳細は以下にアクセスしてご確認ください。
    https://cp.iot.iij.jp/?sc=(iotサービスコード)
      
    ------------------------------------------------------------------------
    このメールは IIJ IoTサービスより自動送信しております。
    本メールに心あたりのない方は、iot-support@iij.ad.jp までご連絡下さい。