Azure IoT リファレンス アーキテクチャなどの多くの IoT ソリューションは、いくつかの異なるサービスを利用します。IoT メッセージは、デバイスを起点に、多数のサービスを通過してから保存または表示される場合があります。この流れの中で何か問題が発生した場合、問題を特定するのは非常に困難な場合があります。メッセージが欠落した場所をどのようにして確認するのでしょう。たとえば、5 つの異なる Azure サービスと 1,500 台のアクティブ デバイスを使用する IoT ソリューションがあるとします。device-to-cloud メッセージがデバイスごとに毎秒 10 件送信されますが (合計で毎秒 15,000 メッセージ)、Web アプリには毎秒 10,000 件のメッセージしか表示されないことに気付きます。どこに問題がありますか。どのようにして原因を見つけることができるのでしょうか。
IoT Hub を介したメッセージの流れを完全に理解するには、一意識別子を使用して各メッセージの経路を追跡する必要があります。このプロセスを分散トレースといいます。本日、IoT Hub の分散トレース サポートのパブリック プレビューを発表いたします。
IoT Hub の分散トレース サポートを開始する
この機能を使用すると、以下のような操作ができます。
- トレース コンテキストを使用して、IoT Hub を介した各メッセージの流れを正確に監視できます。このトレース コンテキストには、あるコンポーネントからのイベントを別のコンポーネントからのイベントに関連付けることができる関連付け ID が含まれています。これは、デバイス ツインを使用して、サブセットまたはすべての IoT デバイス メッセージに適用できます。
- トレース コンテキストを自動的に Azure Monitor 診断ログに記録できます。
- デバイスから IoT Hub およびルーティング エンドポイントまでのメッセージ フローと待ち時間を測定および把握できます。
- ご使用の IoT ソリューション内の Azure 以外のサービスに対して分散トレースをどのように実装するか、検討を開始できます。
パブリック プレビューで、この機能は特定のリージョンで作成された IoT Hub で利用可能になります。
開始方法:
- ドキュメント「Trace Azure IoT device-to-cloud messages with distributed tracing (preview) (分散トレースを使用した Azure IoT の device-to-cloud メッセージのトレース (プレビュー))」に従ってください。
- C サンプル コードをご確認ください。
- UserVoice からフィードバックをご提供ください。