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

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

7cd783377515bdf8207062840b7b2f4e?s=47 SORACOM
PRO
January 25, 2022

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

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

7cd783377515bdf8207062840b7b2f4e?s=128

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)
  2. 自己紹介 三國直樹 (mick) Customer Reliability Engineer SORACOM の技術サポートやドキュメント等を 担当 好きな

    SORACOM サービス: SORACOM Lagoon はじめて触った監視サービス: IBM Tivoli
  3. IoT 現場の心配事 インターネット クラウド デバイス うちのデバイスは ちゃんと動いている かな?

  4. • Pull 型 • サーバからの要求に応答 • Ping, HTTP などのプロトコル •

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

    3. (Push 型) 送信データ監視 死活監視の例
  6. 死活監視の例 (1): Ping レスポンス監視 Device Server Ping request Alert When

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

    API Ping API Ping request Slack When Ping failed…
  8. • SORACOM は IoT SIM にプライベート IP アドレスを割り当てるため、 インターネットからは直接 Ping

    はできない • プライベートネットワークを構築する SORACOM Gate か、Ping API の利用が 必要。なお SORACOM Napter は TCP 通信用のサービスなため Ping はできない Ping レスポンス監視の注意点 (1)
  9. • 「デバイスが動いている」ことを保証できないこともある • モデムが Ping に応答する場合もある • モデムの死活監視にはなるが… Ping レスポンス監視の注意点

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

    OS Computer Hardware Application
  11. 死活監視の例 (2): HTTP レスポンス監視 Device Server HTTP GET Alert When

    request failed…
  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
  13. • SORACOM は IoT SIM にプライベート IP アドレスを割り当てるため、 インターネットからは直接 HTTP

    アクセスできない • プライベートネットワークを構築する SORACOM Gate か、オンデマンドな リモートアクセスができる SORACOM Napter が必要 • デバイスに HTTP サーバーが必要 • IoT デバイスの多くは Web サーバーではないため、監視のためだけに建て るのは勿体ない HTTP リクエストによる死活監視の注意点
  14. HTTP でカバーできる死活監視 Cellular Modem OS Computer Hardware Application HTTP リクエストによる死活監視の範囲

    HTTP Server OS が生きているとは言える 監視だけのために建てるのは勿体ない?
  15. 死活監視の例 (3): 送信データ監視 Program Device Data store Monitor Data upload

    Alert When no data
  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/ を参照
  17. • どれくらいの頻度でデバイスからデータが送信されるかを把握する • 異常時のみデータが送信されるようなユースケースの監視は難しい。定期的 に死活監視用のデータを送信できると良い • 送信データがなかったとき、どこに問題があるかの切り分けが必要 になる (Application, OS,

    Network, etc…) • 送信データに電波強度・電池残量などを入れておくと調査時に過去の傾向と して参考になる • Pull 型の監視を切り分けに活用することも考えられる 送信データ監視の注意点
  18. 送信データ監視でカバーできる死活監視 データ送信がないときは切り分けが必要 データ送信による死活監視の範囲 Cellular Modem OS Computer Hardware Application データ送信があればすべて動いている

  19. • Pull 型 (Ping, HTTP) と Push 型 (送信データ) の死活監視の例を紹介した

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