8. 付録:intdash Edge Agent用manager.confのサンプル

本書においてエッジデバイス1とエッジデバイス2で使用したintdash Edge Agent用設定ファイルmanager.confは以下のとおりです。

8.1. エッジデバイス1用manager.confのサンプル

dst_idctlr_id で、エッジデバイス2のUUIDを設定する必要があります。

{
  "manager": {
    "meas_root": "$APPDIR/intdash/meas",
    "rawdir": "$APPDIR/intdash/raw",
    "basetime": "$RUNDIR/intdash/basetime",
    "stat": "$RUNDIR/intdash/manager.stat",
    "logger_stat": "$RUNDIR/intdash/logger_%03hhu.stat",
    "process_stat": "$RUNDIR/intdash/process.stat",
    "intdash_stat": "$RUNDIR/intdash/intdash.stat",
    "network_stat": "$RUNDIR/intdash/network.stat",
    "system_stat": "$RUNDIR/intdash/system.stat",
    "wwan_stat": "$RUNDIR/intdash/wwan.stat",
    "workdirs": [
      "$APPDIR/intdash/meas",
      "$RUNDIR/intdash"
    ],
    "filters": []
  },
  "clients": [
    {
      "protocol": "mod_websocket.v2",
      "type": "realtime",
      "my_token": "$TOKEN",
      "my_id": "$UUID",
      "my_secret": "$SECRET",
      "auth_path": "$APPDIR/intdash/.auth",
      "connection": {
        "host": "$SERVER",
        "path": "/api/v1/ws/measurements"
      },
      "fifo_rx": "$RUNDIR/intdash/client_%s.rx",
      "fifo_tx": "$RUNDIR/intdash/client_%s.tx",
      "path": "$SBINDIR/intdash-edge-client",
      "stat": "$RUNDIR/intdash/client_%s.stat",
      "fast_net_check_cmd":"$BINDIR/intdash-edge-networkd.sh -q -t",
      "dst_id": ["エッジデバイス2のUUID"]
    },
    {
      "protocol": "mod_http",
      "type": "resend",
      "my_token": "$TOKEN",
      "my_id": "$UUID",
      "my_secret": "$SECRET",
      "auth_path": "$APPDIR/intdash/.auth",
      "connection": {
        "host": "$SERVER",
        "path": "/api/v1/measurements"
      },
      "fifo_rx": "$RUNDIR/intdash/client_%s.rx",
      "fifo_tx": "$RUNDIR/intdash/client_%s.tx",
      "path": "$SBINDIR/intdash-edge-client",
      "stat": "$RUNDIR/intdash/client_%s.stat",
      "fast_net_check_cmd":"$BINDIR/intdash-edge-networkd.sh -q -t"
    },{
      "protocol": "mod_websocket.v2",
      "type": "control",
      "my_id": "$UUID",
      "my_secret": "$SECRET",
      "auth_path": "$APPDIR/intdash/.auth",
      "connection": {
        "host": "$SERVER",
        "port":443,
        "path":"/api/v1/ws/measurements",
        "ca":"/opt/vm2m/etc/ssl/certs/cacert.pem",
        "ssl":"secure",
        "opts":[]
      },
      "fifo_rx": "$RUNDIR/intdash/client_%s.rx",
      "fifo_tx": "$RUNDIR/intdash/client_%s.tx",
      "path": "$SBINDIR/intdash-edge-client",
      "stat": "$RUNDIR/intdash/client_%s.stat",
      "fast_net_check_cmd":"$BINDIR/intdash-edge-networkd.sh -q -t",
      "ctlr_id": "エッジデバイス2のUUID",
      "ctlr_flt_ids": [
        "/srv/resp:/add_two_ints",
        "/act/goal_resp:/fibonacci",
        "/act/fb:/fibonacci",
        "/act/result:/fibonacci",
        "/act/cancel_resp:/fibonacci",
        "/param/resp:/minimal_action_server/get_parameters",
        "/param/resp:/minimal_action_server/describe_parameters",
        "/param/resp:/minimal_action_server/get_parameter_types",
        "/param/resp:/minimal_action_server/get_parameters",
        "/param/resp:/minimal_action_server/list_parameters",
        "/param/resp:/minimal_action_server/set_parameters",
        "/param/resp:/minimal_action_server/set_parameters_atomically"
      ],
      "ctlr_ch": 1,
      "ctlr_dtype": 14
    }
  ],
  "loggers": [
    {
      "path": "",
      "connections": [
        {
          "channel": 255,
          "fifo_rx": "$RUNDIR/intdash/logger_255.rx",
          "fifo_tx": "$RUNDIR/intdash/logger_255.tx"
        }
      ],
      "details": {
        "plugin": "status",
        "plugin_dir": "$LIBDIR/plugins",
        "plugin_arg": {
          "stintd": {
            "meas_root": "$RUNDIR/intdash/meas"
          },
          "stsys": {
            "storage_dir": "/"
          }
        }
      }
    },{
      "path": "",
      "connections": [
          {
            "channel": 1,
            "fifo_tx": "$RUNDIR/intdash/logger_001.tx",
            "fifo_rx": "$RUNDIR/intdash/logger_001.rx"
          },{
            "channel": 2,
            "fifo_tx": "$RUNDIR/intdash/logger_002.tx",
            "fifo_rx": "$RUNDIR/intdash/logger_002.rx"
          }
        ],
        "details": {
        "plugin": "fifo"
      }
    }
  ]
}

8.2. エッジデバイス2用manager.confのサンプル

dst_idctlr_id で、エッジデバイス1のUUIDを設定する必要があります。

{
  "manager": {
    "meas_root": "$APPDIR/intdash/meas",
    "rawdir": "$APPDIR/intdash/raw",
    "basetime": "$RUNDIR/intdash/basetime",
    "stat": "$RUNDIR/intdash/manager.stat",
    "logger_stat": "$RUNDIR/intdash/logger_%03hhu.stat",
    "process_stat": "$RUNDIR/intdash/process.stat",
    "intdash_stat": "$RUNDIR/intdash/intdash.stat",
    "network_stat": "$RUNDIR/intdash/network.stat",
    "system_stat": "$RUNDIR/intdash/system.stat",
    "wwan_stat": "$RUNDIR/intdash/wwan.stat",
    "workdirs": [
      "$APPDIR/intdash/meas",
      "$RUNDIR/intdash"
    ],
    "filters": []
  },
  "clients": [
    {
      "protocol": "mod_websocket.v2",
      "type": "realtime",
      "my_token": "$TOKEN",
      "my_id": "$UUID",
      "my_secret": "$SECRET",
      "auth_path": "$APPDIR/intdash/.auth",
      "connection": {
        "host": "$SERVER",
        "path": "/api/v1/ws/measurements"
      },
      "fifo_rx": "$RUNDIR/intdash/client_%s.rx",
      "fifo_tx": "$RUNDIR/intdash/client_%s.tx",
      "path": "$SBINDIR/intdash-edge-client",
      "stat": "$RUNDIR/intdash/client_%s.stat",
      "fast_net_check_cmd":"$BINDIR/intdash-edge-networkd.sh -q -t",
      "dst_id": ["エッジデバイス1のUUID"]
    },
    {
      "protocol": "mod_http",
      "type": "resend",
      "my_token": "$TOKEN",
      "my_id": "$UUID",
      "my_secret": "$SECRET",
      "auth_path": "$APPDIR/intdash/.auth",
      "connection": {
        "host": "$SERVER",
        "path": "/api/v1/measurements"
      },
      "fifo_rx": "$RUNDIR/intdash/client_%s.rx",
      "fifo_tx": "$RUNDIR/intdash/client_%s.tx",
      "path": "$SBINDIR/intdash-edge-client",
      "stat": "$RUNDIR/intdash/client_%s.stat",
      "fast_net_check_cmd":"$BINDIR/intdash-edge-networkd.sh -q -t"
    },
      {
      "protocol": "mod_websocket.v2",
      "type": "control",
      "my_id": "$UUID",
      "my_secret": "$SECRET",
      "auth_path": "$APPDIR/intdash/.auth",
      "connection": {
        "host": "$SERVER",
        "port":443,
        "path":"/api/v1/ws/measurements",
        "ca":"/opt/vm2m/etc/ssl/certs/cacert.pem",
        "ssl":"secure",
        "opts":[]
      },
      "fifo_rx": "$RUNDIR/intdash/client_%s.rx",
      "fifo_tx": "$RUNDIR/intdash/client_%s.tx",
      "path": "$SBINDIR/intdash-edge-client",
      "stat": "$RUNDIR/intdash/client_%s.stat",
      "fast_net_check_cmd":"$BINDIR/intdash-edge-networkd.sh -q -t",
      "ctlr_id": "エッジデバイス1のUUID",
      "ctlr_flt_ids": [
        "/topic:/chatter",
        "/srv/req:/add_two_ints",
        "/act/goal_req:/fibonacci",
        "/act/cancel_req:/fibonacci",
        "/param/req:/minimal_action_server/get_parameters",
        "/param/req:/minimal_action_server/get_parameters",
        "/param/req:/minimal_action_server/describe_parameters",
        "/param/req:/minimal_action_server/get_parameter_types",
        "/param/req:/minimal_action_server/get_parameters",
        "/param/req:/minimal_action_server/list_parameters",
        "/param/req:/minimal_action_server/set_parameters",
        "/param/req:/minimal_action_server/set_parameters_atomically"
      ],
      "ctlr_ch": 1,
      "ctlr_dtype": 14
    }
  ],
  "loggers": [
    {
      "path": "",
      "connections": [
        {
          "channel": 255,
          "fifo_rx": "$RUNDIR/intdash/logger_255.rx",
          "fifo_tx": "$RUNDIR/intdash/logger_255.tx"
        }
      ],
      "details": {
        "plugin": "status",
        "plugin_dir": "$LIBDIR/plugins",
        "plugin_arg": {
          "stintd": {
            "meas_root": "$RUNDIR/intdash/meas"
          },
          "stsys": {
            "storage_dir": "/"
          }
        }
      }
    },{
      "devicetype": "intdash_ros2bridge",
      "path": "",
      "connections": [
          {
            "channel": 1,
            "fifo_tx": "$RUNDIR/intdash/logger_001.tx",
            "fifo_rx": "$RUNDIR/intdash/logger_001.rx"
          },{
            "channel": 2,
            "fifo_tx": "$RUNDIR/intdash/logger_002.tx"
          }
        ],
        "details": {
        "plugin": "fifo"
      }
    }
  ]
}