3.4. インベントリ送信

Terminal System 2のインベントリ送信について説明します。

インベントリとは

インベントリとは、エッジコンピューターから定期的にMenderサーバーに報告されるエッジコンピューターの情報です。 キーと値の組み合わせ( key=value )で表現されるデータで、Mender Web UIの[Inventory]タブ [1] で確認することができます。

インベントリはデバイス状態の確認に使用するだけでなく、Mender Web UIでのデバイス検索・フィルタリング、動的グループの作成などの情報としても利用することができます。

注意

Menderサーバーに報告されたインベントリは、デバイスから新しいインベントリが報告されるまで変更されません。

また、Mender Web UIを利用してインベントリを変更することはできません。 デバイスの情報をMender Web UIから変更したい場合は、 デバイス設定 のMender Configureを利用してください。

注釈

Terminal System 2が報告するインベントリについては、 Terminal System 2 ユーザーガイド を参照してください。 インベントリの詳細については、 Mender docs を参照してください。

インベントリ送信の仕組み

Terminal System 2は、以下の仕組みでMenderサーバーにインベントリを送信します。

  1. Menderクライアントが、定期的にインベントリスクリプトを実行します。 インベントリスクリプトは /usr/share/mender/inventory ディレクトリに格納されています。

  2. インベントリスクリプトは必要なデータを収集し、 key=value の形式で標準出力にデータを出力することで、インベントリをMenderクライアントに伝えます。

  3. Menderクライアントが、収集したインベントリをMenderサーバーに報告します。

../../_images/feature_inventory.png

図 19 インベントリの送信

device-inventory

Terminal System 2は、システムの状態を確認する各種コマンドや、カスタムインベントリを収集する device-inventory ツールをプリインストールしています。 インベントリスクリプト mender-inventory-device-inventory により、 device-inventory で収集したインベントリをMenderサーバーに報告します。

カスタムインベントリのディレクトリ /var/run/device-inventory/custom.d に、JSON形式のインベントリデータを格納することで、カスタムインベントリを送信することも可能です。

# echo '{"key": "value"}' > /var/run/device-inventory/custom.d/my_inventory
# device-inventory --custom | jq
{
"custom": {
      "my_inventory": {
         "key": "value"
      }
   }
}

また、デバイスコネクターサービス Device Inventory を利用すると、カスタムインベントリを含めたdevice-inventoryのインベントリ情報を時系列データとしてintdashサーバーに送信することができます。

注意

device-inventoryは、複数のインベントリ情報を収集するため、インベントリの取得に時間がかかります。 インベントリはデバイスの状態を確認する用途で利用するため、リアルタイム性が必要なデータはカスタムインベントリではなく、計測データとして送信してください。