設定一覧

intdash-agentd show コマンドにより出力することができる、intdash Edge Agent 2の全設定について説明します。

注釈

設定を出力する方法については 設定の書き出し/読み込み を参照してください。

重要

この章では、設定値の型を表記するため、また、設定内の値を指し示すために独自の表現を使っています。

型の表現

この章での独自の表現と、 YAMLJSONとの対応には以下のとおりです。

型(本章での独自表現)

YAML

JSON

object

Mapping (!!map)

object

[型]

Sequence (!!seq)

array

string

Scalar (!!str)

string

integer

Scalar (!!int)

integer

bool

Scalar (!!bool)

true/false

キーの表現

object または [型] によるネストが行われているとき、キーを表現する方法として . (ピリオド)を使用します。

例えば、キー filters.[].id という表現は、 "filters":[{"id":"id1"},{"id":"id2"}] というJSONにおいて複数のidを指します。

設定は以下の部分に大別されます。

キー

説明

connection

object

接続先サーバーと認証情報の設定

transport

object

トランスポートの設定

upstream

object

アップストリームの設定

downstream

object

ダウンストリームの設定

filters_upstream

[object]

上り方向のフィルター設定のリスト

filters_downstream

[object]

下り方向のフィルター設定のリスト

device_connectors_upstream

[object]

上り方向のデバイスコネクター設定のリスト

device_connectors_downstream

[object]

下り方向のデバイスコネクター設定のリスト

deferred_upload

object

未送信データの遅延アップロードに関する設定

設定の例

connection:
  server_url: https://xxxxx.intdash.jp
  project_uuid: c48e3eee-0242-462f-xxxx-xxxxxxxxxxxx
  edge_uuid: 03ace3b1-d208-4fc3-xxxx-xxxxxxxxxxxx
  client_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
transport:
  protocol: quic
upstream:
- id: recoverable
  enabled: true
  recover: true
  persist: true
  qos: unreliable
  flush_policy: interval
  flush_interval: 5
- id: h264_nal_unit_key_units
  enabled: true
  recover: true
  persist: true
  qos: partial
  flush_policy: immediately
  flush_interval: 5
- id: h264_nal_unit_extra_units
  enabled: true
  recover: true
  persist: true
  qos: unreliable
  flush_policy: immediately
  flush_interval: 5
downstream:
- id: down
  enabled: true
  dest_ids:
  - down-hello
  filters:
  - src_edge_uuid: 03ace3b1-d208-xxxx-xxxxxxxxxxxx
    data_filters:
    - type: string
      name: v1/1/ab
device_connectors_upstream:
- id: up-hello
  data_name_prefix: v1/1/
  dest_ids:
  - recoverable
  enabled: true
  format: iscp-v2-compat
  ipc:
    type: fifo
    path: /var/run/intdash/up-hello.fifo
  launch:
    cmd: device-connector-intdash
    args:
    - --config
    - /tmp/dc-hello.yaml
- id: h264_nal_unit
  data_name_prefix: 101/h264_nal_unit
  dest_ids:
  - recoverable
  enabled: true
  format: iscp-v2-compat
  ipc:
    type: fifo
    path: /var/run/intdash/up-h264_nal.fifo
device_connectors_downstream:
- id: down-hello
  enabled: true
  format: iscp-v2-compat
  ipc:
    type: fifo
    path: /var/run/intdash/down-hello.fifo
filters_upstream:
- id: string_to_deferred
  enabled: true
  type: type
  target:
    dest_ids:
      - recoverable
    type: string
  change_to:
    dest_id: deferred
- id: h264_nal_unit_filter
  enabled: true
  type: type
  target:
    dest_ids:
      - recoverable
    type: h264_nal_unit
  change_to:
    dest_id: h264_nal_unit_extra_units
- id: h264_nal_unit_key_filter
  enabled: true
  type: h264-essential-nal-units
  target:
    dest_ids:
      - h264_nal_unit_extra_units
  change_to:
    dest_id: h264_nal_unit_key_units
filters_downstream: []
deferred_upload:
  priority: same_as_realtime
  limit_data_storage: true
  data_storage_capacity: 102400

connection

キー

説明

server_url

string

接続先intdashサーバーのURL

project_uuid

string

プロジェクトUUID

edge_uuid

string

intdashサーバーに接続する際に使用する、このエッジのUUID

client_secret

string

intdashサーバーに接続する際に使用するクライアントシークレット

記載例

connection:
  server_url: https://xxxxx.intdash.jp
  project_uuid: c48e3eee-0242-462f-xxxx-xxxxxxxxxxxx
  edge_uuid: 03ace3b1-d208-4fc3-xxxx-xxxxxxxxxxxx
  client_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

transport

キー

説明

protocol

string

  • quic: QUICによる接続(QUICを使用するためにはサーバー側で設定が必要です。)

  • websocket: WebSocketによる接続

記載例

transport:
  protocol: quic

upstream

キー

説明

[].id

string

アップストリーム設定を識別するための文字列。 deferred は予約されているため使用できません。

[].enabled

bool

アップストリームの有効(true)/無効(false)

[].recover

bool

送信ができなかった場合の遅延アップロードの有効(true)/無効(false)。 true にすると、リアルタイム送信できなかった場合に、遅延アップロードが行われます。 ただし、 persistfalse の場合、遅延アップロードは行われません。

[].persist

bool

サーバーでのデータ永続化の有効(true)/無効(false)

[].qos

string

partial: iSCPのQoSとしてPARTIALを指定します。

unreliable: iSCPのQoSとしてUNRELIABLEを指定します。

[].flush_policy

string

interval - リアルタイム送信を一定周期でフラッシュします。

immediately - リアルタイム送信をデータポイントごとにフラッシュします。

[].flush_interval

string

リアルタイム送信をフラッシュする間隔(ミリ秒)。flush_policyがintervalの場合のみ使用されます。

記載例

upstream:
- id: recoverable
  enabled: true
  recover: true
  persist: true
  qos: unreliable
  flush_policy: interval
  flush_interval: 5
- id: h264_nal_unit_key_units
  enabled: true
  recover: true
  persist: true
  qos: partial
  flush_policy: immediately
  flush_interval: 5
- id: h264_nal_unit_extra_units
  enabled: true
  recover: true
  persist: true
  qos: unreliable
  flush_policy: immediately
  flush_interval: 5

downstream

キー

説明

[].id

string

ストリーム設定を識別するための文字列。 deferred は予約されているため使用できません。

[].enabled

bool

iSCPでのダウンストリームの有効(true)/無効(false)

[].dest_ids

[string]

データは、ここで指定したIDのデバイスコネクターを使って外部デバイスに送られます。複数のIDを指定した場合、データポイントは複製され、それぞれのデバイスコネクターに送られます。 ただし、フィルターを設定すると、行先のデバイスコネクターを変更することができます。 フィルター(必要な場合のみ) を参照してください。

[].filters

[object]

ダウンストリーム対象とするデータを定義した設定のリスト

[].filters.[].src_edge_uuid

string

ダウンストリーム対象とする送信元のエッジUUID。このUUIDのエッジから送信されたデータを受信します。

[].filters.[].data_filters

[object]

ダウンストリーム対象とするデータIDを定義した設定のリスト。ここで指定したデータID(データ型とデータ名称)に一致したデータを受信します。

[].filters.[].data_filters.[].type

[object]

ダウンストリーム対象とするデータ型

[].filters.[].data_filters.[].name

[object]

ダウンストリーム対象とするデータ名称( #+ を利用したワイルドカード指定が可能)

注釈

データIDのワイルドカード指定を含む、データIDの詳細についてはiSCPの仕様を参照してください。

記載例

downstream:
- id: down
  enabled: true
  dest_ids:
  - down-hello
  filters:
  - src_edge_uuid: 03ace3b1-d208-4fc3-xxxx-xxxxxxxxxxxx
    data_filters:
    - type: string
      name: v1/1/ab

filters_upstream

キー

説明

[].id

string

フィルター設定を識別する任意のID

[].enabled

bool

フィルターの有効(true)/無効(false)

[].type

string

フィルターのタイプ

[].target

object

フィルターのタイプに応じた対象データポイントの条件指定。条件の指定方法については、フィルターの種類別の説明を参照してください。

データポイントがここで記載された条件に一致した場合、データポイントに change_to で指定された変更が行われます。

[].change_to

object

フィルターの条件に合致したデータポイントは、ここに指定された変更が行われます。

記載例

filters_upstream:
- id: string_to_deferred
  enabled: true
  type: type
  target:
    dest_ids:
      - recoverable
    type: string
  change_to:
    dest_id: deferred
- id: h264_nal_unit_filter
  enabled: true
  type: type
  target:
    dest_ids:
      - recoverable
    type: h264_nal_unit
  change_to:
    dest_id: h264_nal_unit_extra_units
- id: h264_nal_unit_key_filter
  enabled: true
  type: h264-essential-nal-units
  target:
    dest_ids:
      - h264_nal_unit_extra_units
  change_to:
    dest_id: h264_nal_unit_key_units

filters_downstream

キー

説明

[].id

string

フィルター設定を識別する任意のID

[].enabled

bool

フィルターの有効(true)/無効(false)

[].type

string

フィルターのタイプ

[].target

object

フィルターのタイプに応じた対象データポイントの条件指定。条件の指定方法については、フィルターの種類別の説明を参照してください。

データポイントがここで記載された条件に一致した場合、データポイントに change_to で指定された変更が行われます。

[].change_to

object

フィルターの条件に合致したデータポイントは、ここに指定された変更が行われます。

記載例

filters_downstream:
- id: string_to_dc2
  enabled: true
  type: type
  target:
    dest_ids:
      - recoverable
    type: string
  change_to:
    dest_id: deferred

device_connectors_upstream

キー

説明

[].id

string

デバイスコネクター設定の識別子

[].enabled

bool

デバイスコネクター設定の有効(true)/無効(false)

[].data_name_prefix

string

iSCPのデータ名称のプリフィックスとして使用する文字列。受信側でiSCP v1を使用する場合は、決められたルールに沿って data_name_prefix を与える必要があります。詳細は 付与されるデータID を参照してください。

[].dest_ids

[string]

データは、ここで指定したIDのアップストリームを使ってサーバーに送られます。複数のIDを指定した場合、データポイントは複製され、それぞれのアップストリームからサーバーに送られます。 ただし、フィルターを設定すると、行先のアップストリームを変更することができます。 フィルター(必要な場合のみ) を参照してください。

[].format

string

デバイスコネクターが送信するデータのフォーマット

iscp-v2-compat : iSCPv2と同等のFIFOデータフォーマット

logger-msg : 旧intdash Edge AgentのFIFOデータフォーマット

[].ipc.type

string

intdash Edge Agent 2とデバイスコネクターのデータ通信方法(現在 fifo のみに対応しているため、 fifo を指定してください。)

[].ipc.path

string

intdash Edge Agent 2がデバイスコネクターからデータを受信するFIFOのパス

[].launch.cmd

string

intdash Edge Agent 2が起動したらそれに連動してデバイスコネクターも起動させたい場合は、デバイスコネクターの実行ファイルのパスを指定します。付属デバイスコネクターを使用する場合は、 device-connector-intdash とします。

この設定を使ってデバイスコネクターを起動した場合、intdash Edge Agent 2を終了すると、デバイスコネクターも終了します。

[].launch.args

[string]

デバイスコネクター起動時の引数。付属デバイスコネクターを使用するために launch.cmddevice-connector-intdash とした場合は、第1引数を --config 、第2引数をパイプライン設定ファイルのパスとします。

- --config
- <path-to-pipeline-configuration.yaml>

[].launch.environment

[string]

デバイスコネクター起動時に追加する環境変数( VARIABLE=VALUE の形式で記載します)

記載例

device_connectors_upstream
- id: up-hello
  enabled: true
  data_name_prefix: v1/1/
  format: iscp-v2-compat
  ipc:
    type: fifo
    path: /var/run/intdash/up-hello.fifo
  launch:
    cmd: device-connector-intdash
    args:
    - --config
    - /tmp/dc-hello.yaml
    environment:
    - TEST_VAR=1

device_connectors_downstream

キー

説明

[].id

string

デバイスコネクター設定の識別子

[].enabled

bool

デバイスコネクター設定の有効(true)/無効(false)

[].format

string

デバイスコネクターが受信するデータのフォーマット

iscp-v2-compat : iSCPv2と同等のFIFOデータフォーマット

logger-msg : 旧intdash Edge AgentのFIFOデータフォーマット

[].ipc.type

string

intdash Edge Agent 2とデバイスコネクターのデータ通信方法(現在 fifo のみに対応しているため、 fifo を指定してください。)

[].ipc.path

string

デバイスコネクターがintdash Edge Agent 2からデータを受信するFIFOのパス

[].launch.cmd

string

intdash Edge Agent 2が起動したらそれに連動してデバイスコネクターも起動させたい場合は、デバイスコネクターの実行ファイルのパスを指定します。付属デバイスコネクターを使用する場合は、 device-connector-intdash とします。

[].launch.args

[string]

デバイスコネクター起動時の引数。付属デバイスコネクターを使用するために launch.cmddevice-connector-intdash とした場合は、第1引数を --config 、第2引数をパイプライン設定ファイルのパスとします。

- --config
- <path-to-pipeline-configuration.yaml>

[].launch.environment

[string]

デバイスコネクター起動時に追加する環境変数( VARIABLE=VALUE の形式で記載します)

記載例

device_connectors_downstream
- id: down-hello
  enabled: true
  format: iscp-v2-compat
  ipc:
    type: fifo
    path: /var/run/intdash/down-hello.fifo
  launch:
    cmd: device-connector-intdash
    args:
    - --config
    - /tmp/down-hello.yaml
    environment:
    - TEST_VAR=1

deferred_upload

キー

説明

priority

string

遅延アップロードのネットワーク通信優先度

  • higher_than_realtime -リアルタイム送受信よりも高い優先度で遅延アップロードを行います。遅延アップロードが帯域を占有した場合はリアルタイム送信は行われません。

  • same_as_realtime -リアルタイム送受信と同じ優先度で遅延アップロードを行います。遅延アップロードが帯域を占有することはありませんが、遅延アップロードによりリアルタイム送受信が影響を受ける場合があります。

  • lower_than_realtime -リアルタイム送受信よりも低い優先度で遅延アップロードを行います。リアルタイム送受信が帯域を占有した場合は遅延アップロードは行われません。

limit_data_storage

bool

古い計測の自動削除の有効( true )/無効( false

data_storage_capacity

integer

遅延アップロード用のデータの保存のために使用するディスク容量( MiB )。 データの量がこの容量を超える場合は、古いデータから順に削除されます。

記載例

deferred_upload:
  priority: same_as_realtime
  limit_data_storage: true
  data_storage_capacity: 102400