目次
- まとめ
- 見直す設定値の候補
- 「Lagoon のデータ更新時間」とは
- よくある例と対処法 [1~4]
まとめ
Lagoon のアラートをご活用いただく際は以下にご注意ください。
- アラート設定の「条件の OF 句で設定するデータ取得範囲 (以下、評価の範囲)」を「Lagoon のデータ更新時間」より長くする
- アラート設定の「評価の範囲」を「評価間隔」より長くする
- 特に条件の WHEN 句 で 「last()」を用いるときはデバイスからのデータ送信間隔を「Lagoon のデータ更新時間」および「評価間隔」より長くする
- アラートの遅延を減らしたい場合は、上位プランに変更することを検討する (参考 : 各プランの違い)
見直す設定値の候補
- 評価間隔
- 条件の WHEN 句(max(), last() などの集計条件)
- 条件の OF 句(データを取得する対象と評価の範囲)
Lagoon ダッシュボードのグラフパネルの詳細画面において、各設定値は下図のように対応しています。
「Lagoon のデータ更新時間」とは
Lagoon は SORACOM Harvest (以下、Harvest)をデータソースとしており、一定の間隔でデータを Harvest から取得します。ご契約いただいているプランによってデータを取得する間隔に制限があります。
- Free プラン : 最短 60 秒
- Maker プラン : 最短 30 秒
- Pro プラン : 最短 5 秒
この間隔より短い間隔で Lagoon がデータを取得することは、Lagoon のダッシュボードやアラートに Harvest の最新データが正しく反映されないことがありますので非推奨です。この仕様はダッシュボードの表示、アラートの評価の両方に適用されます。上位のプランをご契約いただくことで、より頻繁にダッシュボードを更新していただいたり、アラートの即時性を高めていただいたりできます。
よくある例と対処法
以上を前提に、アラートがトリガーされないよくある例と対処法を紹介します。
各種パラメータは以下のような値になっているとします。
例 1 | 例 2 | 例 3 | 例 4 | |
評価の間隔 (s) | 15 | 15 | 15 | 5 |
max, last などの条件文 | last | last | last | last |
評価の範囲 (s) | 10 | 20 | 40 | 40 |
デバイスからのデータ送信間隔 (s) | 10 | 10 | 10 | 10 |
ダッシュボードのデータ更新時間 (s) | 30 | 30 | 30 | 30 |
グラフにプロットすると下図のようになります。
よくある例 [1] 評価間隔よりも評価範囲が短い
上記の黄色塗りつぶしは評価時に対象となるデータを示しています。
15 - 10 = 5s のタイムラグがあるため、範囲外に評価されないデータが生じてしまいます。
対処法 : 評価範囲を長くする または 評価間隔を短くする
よくある例 [2] データ更新時間よりも評価範囲が短い
データ更新は 30s, 60s, 90s ... のタイミングのため、48s のタイミングでは 30 ~ 60s のデータはダッシュボードに反映されておらず、評価されません。また厳密にはデータ更新時間は、たとえば Maker の場合 30 秒『以上』と、長くなる場合もあります。そのため、評価の範囲はデータ更新時間よりも幾分か長くとっておくことを推奨します。
対処法 : 評価の範囲を長くする または データ更新時間を短くする (プランの変更が必要です)
よくある例 [3] last() を使うも評価の間隔よりもデバイスからのデータ送信間隔が短い
Last() 条件を用いて、最新の値を評価したい場合は要注意です。図 D. のように評価範囲の中に複数のデータが入る場合、Last として評価されないデータが発生します。特にデバイスからのデータ送信間隔が一定でない際は、Last で正しく評価することは難しいので十分に検討してください。
対処法 : デバイスからのデータ送信間隔を長くする または 評価の間隔を短くする または last() 以外の条件文を使用する
よくある例 [4] last() を使うも評価時に最新のデータが反映されておらず、次のタイミングで複数データを評価してしまう
例 [2]と似ていますが、データ更新は 30s, 60s, 90s ... のタイミングのため、図 E. において 43, 48, 53, 58s のタイミングでは 30 ~ 60s のデータは評価されません。60s において一度にデータが更新されるため、63s のタイミングではデータ 3 つを評価し、2 つは Last として評価されません。このため、評価間隔を短くしても Last の取り扱いは難しいということをご認識いただければ幸いです。
対処法 : デバイスからのデータ送信間隔を長くする または last() 以外の条件文を使用する または データ更新時間を短くする (プランの変更が必要です)
Maker プランを利用している場合を例に、具体的な対処を紹介します。
- プラン:Maker プラン
- 評価の間隔 : 30 秒
- 条件の WHEN 句 : last()
- 評価の範囲 : 30 秒
- デバイスからのデータ送信間隔 : 不定期(1時間に1回程度など)
- ダッシュボードのデータ更新時間 : 30 秒
上記の設定において、理論上の最悪ケースを 00:00 (0 分 0 秒)から時系列に説明すると以下の通りとなります。
00:00 : Harvest Data のデータが Lagoon ダッシュボードに反映される。(ただしこの時点ではデータは無し)
00:01:デバイスから Harvest Data へデータが送信される。
00:29 : アラートを評価。Lagoon ダッシュボードに Harvest Data の最新データが反映されていないため、データが見つからず評価されない。
00:30 : 00:01 に送信された Harvest Data のデータが Lagoon ダッシュボードに反映される。
00:59:アラートを評価。00:01に登録されたデータは評価の範囲で指定した 60 秒の範囲内のため、アラートが発生する。
すなわち Maker プランの場合、理論的には最大1分のタイムラグでアラートを発生させることができる想定となります。
ただし、実際には Lagoon ダッシュボードへのデータの反映や評価などにタイムラグが生じることもあるため、アラートの評価までに1分を超えることもあり得ます。
そのため、上記ケースにおいて「評価の範囲」やデバイスからのデータ送信間隔は余裕を持たせて以下のような値とすることを推奨します。
- Free プラン : 180 ~ 240 秒
- Maker プラン : 90 〜 120 秒
- Pro プラン : 15 ~ 20 秒
問題が解決しない場合
上記の設定を試しても問題が解決しない場合は、ユーザーサポートまでお問い合わせください。