ステータスを送信する
付属デバイスコネクターdevice-connector-intdashを使用してエッジデバイスのステータス情報(CPU、メモリ、ストレージ、ネットワークなど)を取得し、JSON文字列で送信するための設定例です。
アップストリームの設定
以下のコマンドを実行して、 recoverable
というIDを持つアップストリームを作成します。
指定しているのはIDのみのため、他の設定値はデフォルトのとおりになります。
$ intdash-agentctl config up --create '
id: recoverable
'
デバイスコネクターIPCの設定
デバイスコネクターからのデータを受け取るためにデバイスコネクターIPCを追加します。以下のコマンドを実行してください。
$ intdash-agentctl config device-connector up --create '
id: up-device-inventory
data_name_prefix: v1/255/
dest_ids:
- recoverable
format: iscp-v2-compat
ipc:
type: fifo
path: /var/run/intdash/device-inventory.fifo
launch:
cmd: device-connector-intdash
args:
- --config
- /etc/dc_conf/device_inventory.yml
environment:
- DC_PROCESS_SRC_CONF_COMMAND_INTERVAL=30
- DC_PRINT_LOG_FILTER_CONF_TAG=device-inventory
- DC_FILE_SINK_CONF_PATH=/var/run/intdash/device-inventory.fifo
'
launch
で、device-connector-intdashを起動するように設定しています。device-connector-intdashのパイプライン設定として、付属の /etc/dc_conf/device_inventory.yml を指定しています。 また、パイプライン設定で使用する環境変数を
environment
で与えています。DC_PROCESS_SRC_CONF_COMMAND_INTERVAL
はステータスの送信間隔(秒)です。30秒以上で指定することを推奨します。device-connector-intdashから
/var/run/intdash/device-inventory.fifo
を介して得られたデータは、v1/255/
というデータ名称プレフィックスを与えられて、recoverable
というIDを持つアップストリームに送信されます。
ストリーマーの起動
以上の設定ができたらストリーマーを起動します。
$ intdash-agentctl run
警告
このデバイスコネクターでは、dfやmmcliなどのコマンドによりステータス情報が取得され、送信されます。ただし、以下に該当する古いバージョンのディストリビューションでは、いくつかのコマンドのデータが送信されません。
ディストリビューション |
情報を送信できないコマンド |
---|---|
Debian:9 |
mmcli、ip |
Debian:10 |
mmcli |
Ubuntu:18.04 |
mmcli |
警告
以下条件に該当する場合、送信する情報が多くなりデータの取得に時間がかかることがあります。
条件 |
例 |
---|---|
ipコマンドで送信するネットワークインターフェースが多い場合 |
Dockerを利用している |
lsusbコマンドで送信するデバイス情報が多い場合 |
多数のUSBデバイスが接続されている |
dfコマンドで送信するストレージ情報が多い場合 |
多数のストレージが接続されている |
注釈
Docker環境で利用する場合、以下の点に注意してください。
mmcliの情報を取得するために
/var/run/dbus
のバインドマウントが必要です。dfのマウントポイント
/
の情報は、Dockerのストレージドライバの情報となります。通常はホストの/var/lib/docker/overlay2
が存在するパーティションの情報となります。ipで取得できる情報はコンテナからアクセスできるネットワークインターフェースの情報のみとなります。ホストの情報も取得したい場合は、コンテナ実行時に
--net=host
を指定してください。