Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

• 実装例は 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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

No content