MENU

Soracom

Users

Alert Rule

SORACOM Lagoon(以降、Lagoon) の Alert (アラート) 機能は、Dashboard 上の数値を監視し、指定した方法でメッセージを通知します。Alert Rule は Graph の Alert タブから以下のように設定できます。

Alert Rule で設定した条件が満たされると、Lagoon は Notification Channel で設定した方法で Alert を通知します。

  • Lagoon の Alert 機能は Graph でのみ利用可能です。
  • Transformation や Expression 機能を利用している場合、Alert は設定できません。

Alert Rule の設定

Alert Rule は以下の手順で作成します。

  1. Alert Rule を設定する対象の Panel のタイトルEdit をクリックします。
  2. Alert タブCreate Alert をクリックします。
  3. 各設定項目を入力します。設定項目の詳細は こちら を参照ください。
  4. 画面右上の Save をクリックして、設定を保存します。

Alert Rule の削除

Alert Rule を削除するには Alert タブの下部の Delete をクリックします。

続いて表示される確認ダイアログで Delete Alert をクリックします。

Alert Rule の設定項目

ここでは、Alert Rule で設定する項目について説明します。

Rule

各項目の説明を以下に記載します。

項目名説明
NameAlert Rule の名前です。ここで設定した名前は Alert の一覧 に表示されます。
Evaluate everyAlert Rule で設定した条件を満たしているか評価する間隔です。
ForAlert の保留期間です。この項目を設定した場合、Alert Rule で設定した条件を満たした場合でも即 Alert 状態とならず、設定した期間 Alert 通知を保留できます。 詳細は For を設定した際の挙動 を参照ください。

Evaluate every は Lagoon のデータリフレッシュ間隔 (SORACOM Harvest Data からのデータ反映間隔) より短い値を設定できません。データリフレッシュ間隔はプランにより異なります。

  • Free プラン : 60 秒
  • Maker プラン : 30 秒
  • Pro プラン : 5 秒

Alert 通知までのタイムラグ

SORACOM Harvest Data (以降、Harvest Data) へ送信されたデータは定期的に Lagoon に反映 (データリフレッシュ) されます。また、Lagoon に反映されたデータは Evaluate every で設定した間隔で定期的に評価されます。これにより、Harvest Data にデータが届いてから Alert が通知されるまでにはタイムラグが生じます。

上のように ★ のタイミングで閾値を超えたデータが送信されたとします。その場合、赤線「3」の時点では Harvest Data のデータが Lagoon 側に反映されていないため、Alert が通知されません。Alert が通知されるのは Lagoon にデータが反映される青線「F」の次の評価タイミング (赤線「4」) となります。よって、★ 〜 赤線「4」までのタイムラグが生じます。

For を設定した際の挙動

For の設定により Alert が保留になっている間は状態が PENDING となり、Alert は通知されません。Alert 条件が For で設定した期間を超えて継続した場合に、状態が ALERTING となり Alert が通知されます。 For は Alert の誤検出を軽減したい場合などに使用します。下の図は For を 5m (5 分) に設定した際の状態遷移の例です。Alert 条件を満たすと (09:52) 状態が PENDING に変わり、5 分後 (09:57) に ALERTING に遷移して Alert が通知されます。Alert 条件から外れると Alert の状態は OK に戻ります。

If no data or all values are nullNo Data を設定した場合、 For の利用は推奨しません。No Data に対しては For が考慮されず即通知されます。また、PENDING から OK への状態遷移時は Alert 解除が通知されません。よって、状態が No DataPENDINGOK と遷移した場合に、OK が通知されません。

Conditions

Conditions では集計関数、監視対象、閾値 を組み合わせて Alert 条件を設定します。

例えば、上のように設定した場合、以下の条件を満たした場合に ALERTING ( For を設定した場合は PENDING) に遷移します。

  • [監視対象] Query タブで Metric A に設定した値において、現在時刻から過去 5 分間の
  • [集計関数] 平均値が
  • [閾値] 15 より大きい値

集計関数、監視対象、閾値の詳細は以下のとおりです。

集計関数

集計関数は以下が設定できます。

設定値説明補足
avg()平均値
min()最小値
max()最大値
sum()合計値
count()データの個数
last()最後の値
median()中央値
diff()差分[最後のデータ] - [最初のデータ]
diff_abs()差分の絶対値|[最後のデータ] - [最初のデータ]|
percent_diff()変化率 (%)([最後のデータ] / [最初のデータ]) * 100 - 100
percent_diff_abs()変化率 (%) の絶対値|([最後のデータ] / [最初のデータ]) * 100 - 100|
count_non_null()null を除いたデータの個数Lagoon では null のデータは Graph に連携されないため、count() と同じ値となります。

監視対象

query() 内に以下の内容を設定します。

query([監視対象の Metric], [監視対象期間 (始まり)], [監視対象期間 (終わり)])

[監視対象期間 (終わり)] には now 以外の値も設定できます。例えば、OF query(A, 5m, now-2m) と設定すると Alert 評価時点の 5 分前から 2 分前までを監視対象期間に設定できます。直近の 2 分間のデータを無視したい場合などに利用します。
Expression で演算処理をした Metric は設定できません。また、Transformation を適用したデータを監視対象とすることもできません。 Alert 送信のためにデータの前処理が必要な場合は、 SORACOM Orbit を利用してください。

閾値

閾値の種類は以下が設定できます。(IS ABOVE/IS BELOW は閾値に X を、IS OUTSIDER RANGE/IS WITHIN RANGE は閾値に X,Y を設定した場合)

設定値説明
IS ABOVEX より大きい
IS BELOWX より小さい
IS OUTSIDER RANGEX より小さい 或いは Y より大きい
IS WITHIN RANGEX より大きい 且つ Y より小さい
HAS NO VALUEデータが存在しない

複数の条件を設定する

+ をクリックすると Conditions に条件を複数設定できます。

条件は AND/OR で結合します。なお、AND/OR は上から順に実行されます。例えば、次の順序で 3 つの条件があるとします。

  • 条件:A (評価結果:TRUE)
  • OR 条件:B (評価結果:FALSE)
  • AND 条件:C (評価結果:TRUE)

この場合は (A OR B) AND C のように実行され、(TRUE OR FALSE) AND TRUE となるため、結果は TRUE となります。

Conditions に複数の条件を設定することで、1 つの Alert Rule で 複数の Metric を監視できます。ただし、Metric ごとに Alert は通知されません。例えば、温度と湿度という 2 つの Metric を監視している状況で、温度が設定した閾値を超えたため Alert が通知されたとします。この状態で、湿度が閾値を超えた場合は Alert は通知されません。よって、Metric ごとに Alert を通知したい場合は Panel を複数作成してそれぞれの Metric に対して Alert Rule を作成する必要があります。

No Data & Error Handling

If no data or all values are null

監視対象期間内にデータが存在しない或いは全ての値が Null の時の Alert の状態を以下から選択できます。 Alert の状態についての説明は こちら を参照ください。

設定値説明
No Data状態が NO DATA になります
Alerting状態が ALERTING になります
Keep Last State現在の状態を維持します
Ok状態が OK になります
AlertingOk を選択すると、Alert 条件を満たした場合の ALERTING や Alert 条件から復帰した場合の OK との区別がつきづらくなります。また、Keep Last State とするとデータが送られていないまたは異常値となっていることが検知できない場合があります。これらに注意したうえで、要件に合わせて設定してください。

If execution error or timeout

Lagoon のシステムエラーなどの理由で状態を Alert とすべきか判断できない時の状態を以下から選択できます。

設定値説明
Alerting状態が ALERTING になります
Keep Last State現在の状態を維持します

Notifications

Notification Channel で設定した通知方法と Alert 通知時の文面を指定します。

ALERTING,OK,No Data で文面を分けることはできません。

Alert の一覧

SORACOM Lagoon ホーム画面のサイドメニュー AlertingAlert Rules をクリックすると、設定した Alert Rule の一覧が表示できます。

以下のように Alert Rule の名前、状態が一覧で表示されます。

Alert 一覧画面では Alert Rule の検索、フィルタができます。以下では状態が Alerting の Alert Rule のみを表示しています。

また、 Pause をクリックすると Alert Rule を一時停止できます。

Resume をクリックすると一時停止を解除できます。

Alert の状態

Alert は以下の 4 つの状態を持ちます。

状態説明補足
ALERTINGConditions で設定した条件を満たしている状態For を利用する場合は Conditions の条件を満たしても即 ALERTING とはならず、 For で設定した時間分 PENDING 状態となった後に ALERTING に遷移します。詳細は For を設定した際の挙動を参照ください。
OKConditions で設定した監視対象期間内にデータが存在し、且つ Conditions で設定した条件を満たしていない状態
NO DATAConditions で設定した期間内にデータが存在していない状態If no data or all values are nullNo Data を設定している場合にのみ有効です。
PENDINGConditions で設定した条件を満たした後、Alert 通知が保留されている状態For を設定した場合にのみ有効です。

OK 或いは No Data から PENDING への遷移、PENDING から OK への遷移を除き、他の状態に遷移したタイミングでメッセージが通知されます。なお、OK に遷移した際の通知は省略できます。詳細は Notification Channel を参照ください。

Alert の状態遷移は Alert タブ最下部の State history から確認できます。