Soracom

Users

ドキュメント
Home ドキュメント SORACOM Flux Getting Started

SORACOM API アクションを利用して IoT デバイスを死活監視する

SORACOM Flux の タイマーイベントソースSORACOM API アクション を利用して、SORACOM IoT SIMバーチャル SIM を使用している IoT デバイスの死活監視を行う SORACOM Flux アプリ (以下、Flux アプリ) を作成します。

利用する SORACOM API は、Sim:sendDownlinkPing API です。ping 応答がない場合は、Slack に通知します。

操作を始める前に準備が必要です (クリックして確認してください)

(1) SORACOM アカウント (オペレーター) を作成する

SORACOM アカウント (オペレーター) を作成します。また、支払い方法の登録も必要です。詳しくは、STEP 1: SORACOM アカウント (オペレーター) を作成する を参照してください。

(2) Slack のアカウントを用意する

Slack のアカウントを用意してください。

準備完了

ステップ 1: Flux アプリを作成する

  1. ユーザーコンソールにログイン し、Flux アプリを作成するカバレッジタイプを選択します。

    グローバルカバレッジの SORACOM IoT SIMバーチャル SIM を使用している IoT デバイスの死活監視の場合はグローバルカバレッジの表示に変更します。詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。

  2. [メニュー][SORACOM FLUX][Flux アプリ] の順にクリックします。

  3. [+新しい Flux アプリを作成する] をクリックします。

  4. 以下の項目を設定します。

    項目説明
    [名前]Flux アプリの名前を入力します。
    [概要]Flux アプリの概要を入力します。

  5. [作成] をクリックします。

    Flux アプリが作成され、SORACOM Flux Studio の [STUDIO] タブが表示されます。

ステップ 2: タイマーイベントソースと連結するチャネルを作成する

  1. SORACOM Flux Studio の [STUDIO] タブで、[+チャネルを作成する] をクリックします。

    「新しいチャネルを作成」画面が表示されます。

  2. [タイマー][次へ] の順にクリックします。

    この Flux アプリでは、1 時間に 1 回の頻度で、メッセージをチャネルに送信するように設定します。

    タイマーイベントソースから、チャネルに送信されるメッセージについて詳しくは、タイマーイベントソース を参照してください。

  3. 以下の項目を設定します。

    項目説明
    [名称]チャネルの名前を入力します。
    [概要]チャネルの概要を入力します。
    [イベントソース設定]

    タイマーの間隔を設定します。

    項目説明
    [有効]この条件の有効/無効を設定します。「有効」にしてください。
    [スケジュール定義]実行の間隔を設定します。ここでは 1 時間と設定します。
    [説明]タイマー設定の説明を記載します。

    以下のように設定します。

  4. [チャネルを作成する] をクリックします。

    イベントソースに連結したチャネルが作成され、チャネルの詳細画面が表示されます。

  5. Esc キーを押すか、[×] (閉じる) をクリックします。

    SORACOM Flux Studio の [STUDIO] タブに戻ります。

ステップ 3: SORACOM API アクションとアウトプットを送信するチャネルを作成する

この Flux アプリでは、タイマーイベントにあわせて Sim:sendDownlinkPing API を実行するように設定します。具体的には、SORACOM API アクション と、SORACOM API アクションのアウトプットを送信するチャネル (例: SORACOM API Output チャネル) を作成します。

  1. ステップ 2: タイマーイベントソースと連結するチャネルを作成する で作成したチャネルをクリックします。

  2. [アクション][+アクションを追加] の順にクリックします。

    「新しいアクションを作成」画面が表示されます。

  3. [SORACOM API][OK] の順にクリックします。

    「新しいアクションを作成: SORACOM API」画面が表示されます。

  4. 以下の項目を設定します。

    項目説明
    [名前]SORACOM API アクションの名前を入力します。
    [概要]SORACOM API アクションの概要を入力します。
    [有効]SORACOM API アクションを有効化します。ここでは「有効」にします。
    [CONDITION]SORACOM API アクションの実行条件を設定します。ここでは、タイマーイベントにあわせて常に実行するため、空欄のままにします。

  5. 続けて、以下の項目を設定します。

    項目説明
    [CONFIG]

    SORACOM API アクションで利用する API を設定します。

    • [API]: 「Sim:sendDownlinkPing」を選択します。

    • [URL]: [API]で選択した API のパスが表示されます。{sim_id} を死活監視対象のデバイスで使用している IoT SIM の SIM ID に置き換えてください。例: /v1/sims/1234567890123456782/downlink/ping

    • [HTTP ボディ]: Sim:sendDownlinkPing API のリクエストボディを入力します。ここでは、以下のように入力してください。

      ping の試行回数が 3 回、各 ping 試行のタイムアウト秒数を 2 秒に設定した例:

      {
        "numberOfPingRequests": 3,
        "timeoutSeconds": 2
      }
      
    • 注意点をよく読み、理解できたら [注意点を理解して利用する] にチェックを入れます。

    • [API を実行する SAM ユーザー]: 「新しく SAM User を作成する」をクリックします。

    • [SAM User 名]: SAM ユーザー名が表示されます。必要に応じて編集してください。

    [OUTPUT]

    SORACOM API アクションのレスポンスを、別のチャネルに送信するかどうかを設定します。

    • [アクションのアウトプットを別のチャネルに送信する]: 「有効」にします。
    • [送信先チャネル]: [新しくチャネルを作成する] を選択して、[チャネル名] に「SORACOM API Output」を入力します。

  6. [作成する] をクリックします。

    SORACOM API アクションが作成され、チャネルの詳細画面の [アクション] タブに戻ります。

    作成された SAM ユーザーの設定は [SAM User] の下のリンクをクリックすると確認できます

    作成された SAM ユーザーの [権限設定][信頼ポリシー][認証設定][SORACOM リソース認証] の設定は、以下の手順で確認できます。

    1. SORACOM API アクションの [詳細] をクリックします。

    2. [SAM User] の下のリンクをクリックします。

      SAM ユーザーの詳細画面が表示されます。

    3. [権限設定][信頼ポリシー][認証設定][SORACOM リソース認証] の設定を確認します。

  7. Esc キーを押すか、[×] (閉じる) をクリックします。

    SORACOM Flux Studio の [STUDIO] タブに戻ります。

ステップ 4: Slack 通知アクションを作成する

この Flux アプリでは、Sim:sendDownlinkPing API の実行結果が失敗した場合に、Slack にメッセージを送信するように設定します。具体的には、Slack 通知アクションを作成します。

  1. ステップ 3: SORACOM API アクションとアウトプットを送信するチャネルを作成する で作成されたチャネル (例: SORACOM API Output) をクリックします。

    チャネルの詳細画面が表示されます。

    ステップ 3 で作成されたチャネルのイベントソースは変更できません。

    チャネルの詳細画面の [イベントソース] タブに表示されたエントリポイントに、JSON 形式のデータを POST すると、任意のタイミングで Slack 通知アクションを実行できます。

  2. [アクション][+アクションを追加] の順にクリックします。

  3. [Slack 通知][OK] の順にクリックします。

    「新しいアクションを作成: Slack 通知」画面が表示されます。

  4. 以下の項目を設定します。

    項目説明
    [名前]Slack 通知アクションの名前を入力します。
    [概要]Slack 通知アクションの概要を入力します。
    [有効]Slack 通知アクションを有効化する場合は「有効」にします。
    [CONDITION]Slack 通知アクションの実行条件を設定します。ここでは、Sim:sendDownlinkPing API のレスポンスボディに含まれる success の値が false の場合を実行条件にするために、[アクションの実行条件]payload.success == false を入力します。

  5. 続けて、以下の項目を設定します。

    項目説明
    [CONFIG]

    Slack 通知アクションで送信するメッセージや、Incoming Webhook インテグレーションの Webhook URL を設定します。

    • [URL]: 通知先の Slack チャンネルに紐づいた Webhook URL を入力します。Webhook URL を発行する手順について詳しくは、Slack App の Incoming Webhook の Webhook URL を発行する を参照してください。

    • [PAYLOAD]: 以下の内容を入力します。

      デバイスからの ping 応答がありません。
      SIM ID: 1234567890123456782
      
      ${payload.stat}
      

    Slack 通知アクションが追加されたチャネルのデータ (この例では、SORACOM API アクションで実行した Sim:sendDownlinkPing API のレスポンスボディ) を扱う場合は、${payload.stat} のように指定します。

    [OUTPUT]

    Slack 通知アクションのレスポンスを、別のチャネルに送信するかどうかを設定します。

    • [アクションのアウトプットを別のチャネルに送信する]: 「無効」にします。

  6. [作成する] をクリックします。

    Slack 通知アクションが作成され、チャネルの詳細画面の [アクション] タブに戻ります。

(動作確認) 1 時間に 1 回、対象の IoT SIM を利用するデバイスに Sim:sendDownlinkPing API が実行されることを確認する

1 時間に 1 回、対象の SIM ID をもつデバイスに Sim:sendDownlinkPing API が実行されることを確認します。

また、レスポンスボディの success の値が false の場合に Slack に通知されることも確認してください。Sim:sendDownlinkPing API が実行されるタイミングで、デバイスの電源がオフになっていると、success の値が false になります。

Flux アプリの実行履歴を確認する

success の値によらず、SORACOM Flux Studio の [実行履歴] タブで、実行履歴を確認できます。

  1. ユーザーコンソールにログイン し、Flux アプリを作成したカバレッジタイプを選択します。

    たとえば、グローバルカバレッジに Flux アプリを作成した場合は、グローバルカバレッジの表示に変更します。詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。

  2. [メニュー][SORACOM FLUX][Flux アプリ] の順にクリックします。

  3. 作成した Flux アプリをクリックします。

  4. [実行履歴] をクリックします。

    チャネルごとに、[MESSAGE][CONTEXT]、そのチャネルから実行されたアクションの [入力][出力] が表示されます。詳しくは、実行履歴 (ログ) を参照してください。