Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IoTデバイスの死活監視を考える

SORACOM
PRO
January 25, 2022

 IoTデバイスの死活監視を考える

2022年1月25日にSORACOM UG Online #9 ~新春LT祭り~で、ソラコム CREの三國直樹(mick)が発表した「IoTデバイスの死活監視を考える」の資料です。

SORACOM
PRO

January 25, 2022
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. IoT デバイスの死活監視を考える
    SORACOM UG Online #9 ~新春 LT 祭り~
    Jan. 25, 2022
    株式会社ソラコム
    Customer Reliability Engineer
    三國直樹 (mick / @n_mikuni)

    View Slide

  2. 自己紹介
    三國直樹 (mick)
    Customer Reliability Engineer
    SORACOM の技術サポートやドキュメント等を
    担当
    好きな SORACOM サービス: SORACOM Lagoon
    はじめて触った監視サービス: IBM Tivoli

    View Slide

  3. IoT 現場の心配事
    インターネット クラウド
    デバイス
    うちのデバイスは
    ちゃんと動いている
    かな?

    View Slide

  4. • Pull 型
    • サーバからの要求に応答
    • Ping, HTTP などのプロトコル
    • タイミングはサーバ次第
    死活監視のアプローチ: Pull か Push か
    Device Server
    生きてる?
    生きてるよ!
    • Push 型
    • デバイスから生存報告
    • UDP, TCP, HTTP, MQTT などのプロトコル
    • タイミングはデバイス次第
    Device Server
    生きてるよ!

    View Slide

  5. 1. (Pull 型) Ping レスポンス監視
    2. (Pull 型) HTTP レスポンス監視
    3. (Push 型) 送信データ監視
    死活監視の例

    View Slide

  6. 死活監視の例 (1): Ping レスポンス監視
    Device Server
    Ping request
    Alert
    When Ping failed…

    View Slide

  7. • 実装例は https://github.com/nmikuni/soracom-ping-monitoring-sample で公開
    Ping レスポンス監視の実装例
    AWS Lambda
    Device SORACOM API
    Ping API
    Ping request
    Slack
    When Ping failed…

    View Slide

  8. • SORACOM は IoT SIM にプライベート IP アドレスを割り当てるため、
    インターネットからは直接 Ping はできない
    • プライベートネットワークを構築する SORACOM Gate か、Ping API の利用が
    必要。なお SORACOM Napter は TCP 通信用のサービスなため Ping はできない
    Ping レスポンス監視の注意点 (1)

    View Slide

  9. • 「デバイスが動いている」ことを保証できないこともある
    • モデムが Ping に応答する場合もある
    • モデムの死活監視にはなるが…
    Ping レスポンス監視の注意点 (2)

    View Slide

  10. (参考) Ping による死活監視の範囲
    Ping による死活監視をしたい範囲
    (一部のモデム) Ping による死活監視ができる範囲
    Cellular
    Modem
    OS
    Computer
    Hardware
    Application

    View Slide

  11. 死活監視の例 (2): HTTP レスポンス監視
    Device Server
    HTTP GET
    Alert
    When request failed…

    View Slide

  12. • 実装例は https://github.com/nmikuni/soracom-http-monitoring-sample で公開
    HTTP レスポンス監視の実装例
    AWS Lambda
    Device SORACOM Napter
    HTTP GET
    HTTP GET
    Slack
    When bad Status code…
    Create Temporary IP address and
    port number
    SORACOM API

    View Slide

  13. • SORACOM は IoT SIM にプライベート IP アドレスを割り当てるため、
    インターネットからは直接 HTTP アクセスできない
    • プライベートネットワークを構築する SORACOM Gate か、オンデマンドな
    リモートアクセスができる SORACOM Napter が必要
    • デバイスに HTTP サーバーが必要
    • IoT デバイスの多くは Web サーバーではないため、監視のためだけに建て
    るのは勿体ない
    HTTP リクエストによる死活監視の注意点

    View Slide

  14. HTTP でカバーできる死活監視
    Cellular
    Modem
    OS
    Computer
    Hardware
    Application
    HTTP リクエストによる死活監視の範囲
    HTTP
    Server
    OS が生きているとは言える
    監視だけのために建てるのは勿体ない?

    View Slide

  15. 死活監視の例 (3): 送信データ監視
    Program
    Device Data store
    Monitor
    Data upload
    Alert
    When no data

    View Slide

  16. 送信データ監視の実装例
    SORACOM Lagoon
    Device SORACOM Harvest Data
    Monitor
    Data upload
    Slack
    When no data
    • 実装例は https://users.soracom.io/ja-jp/docs/lagoon-v2/setup-alert/ を参照

    View Slide

  17. • どれくらいの頻度でデバイスからデータが送信されるかを把握する
    • 異常時のみデータが送信されるようなユースケースの監視は難しい。定期的
    に死活監視用のデータを送信できると良い
    • 送信データがなかったとき、どこに問題があるかの切り分けが必要
    になる (Application, OS, Network, etc…)
    • 送信データに電波強度・電池残量などを入れておくと調査時に過去の傾向と
    して参考になる
    • Pull 型の監視を切り分けに活用することも考えられる
    送信データ監視の注意点

    View Slide

  18. 送信データ監視でカバーできる死活監視
    データ送信がないときは切り分けが必要
    データ送信による死活監視の範囲
    Cellular
    Modem
    OS
    Computer
    Hardware
    Application
    データ送信があればすべて動いている

    View Slide

  19. • Pull 型 (Ping, HTTP) と Push 型 (送信データ) の死活監視の例を紹介した
    • 死活監視実装にあたっての Tips を紹介した
    • どの範囲を死活監視できているかを把握することが重要
    • Push 型のタイミングはデバイス次第なので監視する時間範囲に注意
    • Push 型・Pull 型の組み合わせも有用
    • サーバーと異なり IoT デバイスはパワーが低く、通信コストが高い。
    一緒に工夫して頑張りましょう!
    まとめ

    View Slide

  20. View Slide