次の方法で共有


Device Update for IoT Hub を使用してデバイスから診断ログをリモートで収集する

Device Update for IoT Hub ログ操作を開始し、Azure Blob Storage 内で収集されたログを表示する方法について説明します。

前提条件

現在、リモート ログ収集機能は、診断インターフェイスを実装し、Azure Blob Storage にファイルをアップロードできるデバイスとのみ互換性があります。 参照エージェントの実装では、デバイスがデバイス上のユーザー指定のファイル パスにログ ファイルを書き込む必要もあります。

リモート ログ収集機能を使用するには、まず Azure Blob Storage アカウントを Device Update インスタンスにリンクする必要があります。 この Azure Blob Storage アカウントは、デバイスが診断ログをアップロードする場所です。

  1. Azure portalで、Device Update for IoT Hub アカウントに移動します。

  2. ナビゲーション ウィンドウの [インスタンス管理] セクションの下にある [インスタンス] を選択します。

  3. 一覧から Device Update インスタンスを選択して、[診断を構成する].

  4. Customer Diagnostics タブを選択し、次に Azure ストレージ アカウントを選択します。

  5. 一覧から目的のストレージ アカウントを選択し、[保存] 選択します。

  6. インスタンスの一覧に戻ったら、[ の更新] を定期的に選択し、インスタンスのプロビジョニング状態に "成功" と表示されます。通常、このプロセスには 2 ~ 3 分かかります。

ログ収集の構成

デバイス更新エージェントは、参照エージェントの /etc/adu/du-diagnostics-config.json にあるデバイス上の構成ファイルを参照します。

ログ収集ファイルパス

デバイス上の Device Update エージェントは、デバイス更新サービスからログ アップロード開始シグナルを受信すると、デバイス上の特定のファイル パスからファイルを収集します。 これらのファイル パスは、診断構成ファイルで定義されます。

構成ファイル内では、収集およびアップロードされる各ログ ファイルは、componentName プロパティと logPath プロパティを持つ logComponent オブジェクトとして表されます。 この構成は、必要に応じて変更できます。

最大ログ ファイル サイズ

Device Update エージェントは、特定のファイル サイズのログ ファイルのみを収集します。 この最大ファイル サイズは、診断構成ファイルで定義されます。

関連するパラメーター "maxKilobytesToUploadPerLogPath" は各 logComponent オブジェクトに適用され、必要に応じて変更できます。

ログ操作を作成する

ログ操作は、Device Update サービスを通じて実行するように IoT デバイスに指示できるサービス駆動型アクションです。 ログ操作の機能の詳細については、「デバイス更新診断を参照してください。

  1. IoT Hub に移動し、ナビゲーション ウィンドウの Device Management セクションの下にある Updates タブを選択します。

  2. UI の [診断] タブを選択します。 [診断] タブが表示されない場合は、最新バージョンの Device Update for IoT Hub ユーザー インターフェイスを使用していることを確認してください。 "この Device Update インスタンスに対して診断を有効にする必要があります" と表示される場合は、Azure Blob Storage アカウントを Device Update インスタンスにリンクしていることを確認してください。

  3. [ログのアップロード操作 追加] を選択して、ログ操作の作成ページに移動します。

  4. 新しいログ操作の名前 (ID) と説明を入力し、[デバイスの追加] を選択して、診断ログを収集する IoT デバイスを選択します。

  5. [] を選択し、[] を追加します。

  6. [診断]タブに戻ったら、操作テーブルにログ操作が表示されるまで更新を選択します。

  7. 操作の状態が [成功 ] または [失敗 したら、操作名を選択してその詳細を表示します。 操作は、対象となるすべてのデバイスがログのアップロードを正常に完了した場合にのみ、"成功" とマークされます。 一部のターゲット デバイスが成功し、一部が失敗した場合、ログ操作は "失敗" とマークされます。ログ操作の詳細ページを使用して、成功したデバイスと失敗したデバイスを確認できます。

  8. ログ操作の詳細では、デバイス固有の状態を表示し、ログの場所のパスを確認できます。 このパスは、診断ログがアップロードされた Azure Blob Storage アカウント内の仮想ディレクトリ パスに対応します。

収集された診断ログの表示とエクスポート

  1. ログ操作が成功したら、Azure Blob Storage アカウントに移動します。

  2. ナビゲーション ウィンドウの [データ ストレージ] セクションの下にある [コンテナー] を選択します。

  3. Device Update インスタンスと同じ名前のコンテナーを選択します。

  4. ログ操作の詳細からログの場所のパスを使用して、ログを含む正しいディレクトリに移動します。 既定では、リモート ログ収集機能は、次のディレクトリ パス モデルを使用して診断ログをアップロードするようにターゲット デバイスに指示します。blob storage コンテナーの /ターゲット デバイス ID/ログ操作 ID/デバイス上のログ パス

  5. DU エージェントの診断コンポーネントを変更していない場合、デバイスは、DU エージェント診断ログ ("aduc.log") と DO エージェント診断ログ ("do-agent.log") の 2 つのプレーンテキスト ログ ファイルのアップロードを試みることで、ログ操作に応答します。 DU 参照エージェントが収集するログ ファイルの詳細については、「デバイス更新診断 概念」ページを参照してください。

  6. ログファイルの内容を表示するには、ファイル名を選択し、メニューの省略記号をクリックし、その後で表示/編集を選択します。 また、それぞれラベル付けされたオプションを選択して、ログ ファイルをダウンロードまたは削除することもできます。

    Azure Blob Storage 内のログ ファイルのスクリーンショット。

次のステップ

デバイス更新プログラムの診断機能の詳細については、「デバイス更新プログラムの診断機能の概要