アラートをカスタマイズする
バージョンに関する注意
- 当ドキュメントは SORACOM Lagoon Classic (旧バージョンの SORACOM Lagoon) に関して記載しています。現バージョンの SORACOM Lagoon に関するドキュメントは こちら を参照してください。
- SORACOM Lagoon Classic を契約しているお客様は、SORACOM Lagoon Classic を 2022 年 5 月 31 日まで利用できます。また、SORACOM Lagoon Classic の新規契約は受け付けておりません。
- 各バージョンに関する情報は SORACOM Lagoon のバージョン を参照してください。
- 現バージョンへの移行方法は 移行ガイド を参照してください。
SORACOM Lagoon のアラートをカスタマイズするシナリオ別の方法、および注意点を紹介します。
アラートを作成する
アラートの作成方法はチュートリアル SORACOM Lagoon を利用してアラートを設定する を参照してください。
各設定値の名称
カスタマイズする設定値の候補は以下となります。
- 評価間隔
- 条件の WHEN 句 (max(), last() などの集約条件)
- 条件の OF 句 (データを取得する対象と評価の範囲)
- データが無いか全ての値が Null の時
- 実行エラーまたはタイムアウトの時
Lagoon ダッシュボードのグラフパネルのアラートタブにおいて、各設定値は下図のように対応しています。
上記に加えて、ダッシュボードの更新間隔も Lagoon のアラートをカスタマイズする上で重要なパラメータです。更新間隔は SORACOM Lagoon のプランによって異なります。Free で 60s (秒) 以上、Maker で 30s 以上、Pro で 5s 以上です。各プランの詳細は リファレンス: 各プランの違い を参照してください。
アラートの持つ状態
アラートは以下 3 つの状態を持ちます。他の状態に遷移した際にアラートが発報されます。
- OK
- ALERTING
- NO DATA
- ALERTING 状態で再度アラートの条件を満たしてもアラートは発報されず、一度 OK または NO DATA 状態へ遷移する必要があります。
- OK または NO DATA 状態へ遷移した際もアラートが発報されます。現時点ではこの発報を無効にできません。
アラート設定例
温度センサーデバイス
温度などをセンサーで計測し、過去 4 分間の最大値が 30 より大きい場合にアラートを発報するシナリオを考えます。設定例は以下の通りです。
- 評価間隔: ダッシュボードの更新間隔と同じ (Free プランなら
60s
) - 条件:
WHEN max() OF query(A, 4m, now) IS ABOVE 30
(過去 4 分間の最大値が 30 より大きい場合にアラート) - データが無いか全ての値が Null の時:
No Data
(データが無いことを発報する)
また、上記では評価の範囲を過去 4 分間としています。これは評価の範囲をダッシュボードの更新間隔および評価間隔の 3 ~ 4 倍にするのがアラートの漏れを防止しやすいためです。式で表すと以下のようになります。
ダッシュボード更新間隔 = 評価間隔 << データ取得範囲 (3 ~ 4 倍)
なお、ダッシュボード更新間隔は SORACOM Lagoon のプランによって異なります。Free で 60s 以上、Maker で 30s 以上、Pro で 5s 以上です。
ボタン型デバイス
SORACOM LTE-M Button for Enterprise のようなデバイスから不定期に送信された値を発報するシナリオを考えます。設定例は以下の通りです。
- 評価間隔: ダッシュボードの更新間隔と同じ (Free プランなら
60s
) - 条件:
WHEN last() OF query(A, 4m, now) IS ABOVE 0
(過去 4 分間の直近の値が 0 より大きい場合にアラート) - データが無いか全ての値が Null の時:
No Data
(データが無いことを発報する)
WHEN 句に last を使うときの注意点
デバイスからのデータの送信間隔はダッシュボードの更新間隔および評価間隔よりも長くします。これをしないと、アラートが発報されない場合があります。詳細は FAQ: SORACOM Lagoon のアラートがトリガーされないことがある を参照してください。式で表すと以下のようになります。
ダッシュボード更新間隔 = 評価間隔 < デバイスからのデータの送信間隔
上記では評価の範囲を過去 4 分間としています。これは評価の範囲をダッシュボードの更新間隔および評価間隔の 3 ~ 4 倍にするのがアラートの漏れを防止しやすいためです。式で表すと以下のようになります。
ダッシュボード更新間隔 = 評価間隔 << データ取得範囲 (3 ~ 4 倍)
なお、ダッシュボード更新間隔は SORACOM Lagoon のプランによって異なります。Free で 60s 以上、Maker で 30s 以上、Pro で 5s 以上です。
データが無いか全ての値が Null の時の注意点
Alerting, No Data, Keep Last State, Ok を設定できます。お使いの要件によって適切な設定が異なりますが、よく利用されるのは「No Data」です。
「Alerting」や「Ok」とすると、アラート条件に合致しての「Alerting」の発報やアラート条件から復帰しての「Ok」の発報との区別がつきづらくなります。また、「Keep Last State」とするとデータが送られていないまたは異常値となっていることに気づけない場合があります。これらに注意したうえで、要件に合わせて設定してください。
実行エラーまたはタイムアウトの時の注意点
「実行エラーまたはタイムアウトの時」は、SORACOM Lagoon のシステムエラーなどの理由で状態をアラートとすべきか判断できない場合の条件です。「Keep Last State」とすることを推奨します。
Lagoon を利用しないアラート送信パターン
現時点において SORACOM Lagoon からのアラートでは、以下のようなパラメータを変更できないという制約があります。
- メールの送信元 (SORACOM Lagoon
no-reply@soracom.jp
) - メールのサブジェクト
- 本文に記載される内容
さらなるカスタマイズをする場合は他の SORACOM サービスを利用することも考えられます。例として、SORACOM Funk を利用するパターンと、SORACOM Funnel を利用するパターンを紹介します。
- 連携先のサービスで、お客様が条件を設定し、通知機能を実装してください。
- Unified Endpoint などを利用して、それぞれのサービスへデータを送信してください。
SORACOM Funk + FaaS パターン
SORACOM Funk は、AWS Lambda、Azure Functions など、パブリッククラウドが提供する FaaS の Function へデータを転送するサービスです。通知先や条件は、SORACOM ユーザーコンソールや Function で設定します。
例: Getting Started: SORACOM Funk を利用して AWS Lambda を呼び出し Slack へ通知する
SORACOM Funnel + クラウドサービスパターン
SORACOM Funnel は AWS IoT Core、Azure Event Hubs などのクラウドサービスや SORACOM パートナースペースの認定済みパートナー様が運営するクラウドサービスなどへの連携ができます。連携したクラウドサービスにて通知先や条件を設定します。