2. Get started

This section describes how to install the Agent and how to start and stop it.

The installer supports the following environments.

Distribution

Version

Architecture

Ubuntu

22.04(LTS), 20.04(LTS), 18.04(LTS), 16.04(LTS)

amd64, arm64, armhf

Debian

10, 9

amd64

Raspbian

based on Debian 10

armhf

2.1. Installation

In the environment where you want to install the Agent, execute the installer as follows.

${DISTRIBUTION} must be ubuntu, debian or raspbian.

$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    lsb-release
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://repository.aptpod.jp/intdash-edge/linux/${DISTRIBUTION}/gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/intdash-edge.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/intdash-edge.gpg] \
    https://repository.aptpod.jp/intdash-edge/linux/${DISTRIBUTION} \
    $(lsb_release -cs) \
    stable" \
    | sudo tee /etc/apt/sources.list.d/intdash-edge.list
$ sudo apt-get update
$ sudo apt-get install intdash-edge

Note

The above procedure will install the latest version. If you want to install a specific version, specify the version in the last command as follows (* is necessary because suffixes vary depending on the distribution version).

sudo apt-get install intdash-edge=1.23.0*

Note

To continue to use the currently installed minor version even if the package list is updated, add a setting to /etc/apt/preferences.d as follows.

$ cat << EOF >/etc/apt/preferences.d/intdash-edge.pref
Package: intdash-edge
Pin: version 1.23.*
Pin-Priority: 999
EOF

2.2. Files to be installed

When installed the Agent with the default settings, the following files and folders are placed.

+ /etc
  + opt
    + intdash                            # (1)
      - manager.conf                     # (2)
      - logger.conf.canopen              # (3)
      - logger.conf.nmea                 # (4)
      - logger.conf.gstreamer_h264       # (5)
      - logger.conf.mjpeg                # (6)
      - logger.conf.socketcan            # (7)
      - logger.conf.v4lh264              # (8)

+ /opt
  + vm2m
    + bin                                # (9)
    + etc                                # (10)
    + lib                                # (11)
    + sbin                               # (12)
      - intdash-edge-client              # (13)
      - intdash-edge-logger              # (14)
      - intdash-edge-manager             # (15)
    + share
      + licenses                         # (16)

Number

File or directory description

(1)

Directory for storing configuration files

(2)

Sample configuration file for the agent

(3)

Sample configuration file for canopen type device connector

(4)

Sample configuration file for nmea type device connector

(5)

Sample configuration file for gstreamer_h264 type device connector

(6)

Sample configuration file for mjpeg type device connector

(7)

Sample configuration file for socketcan type device connector

(8)

Sample configuration file for v4lh264 type device connector

(9)

Directory for tools

(10)

Directory for storing static configuration files

(11)

Directory for libraries used by Agent (or intdash-edge-logger)

(12)

Directory for the Agent executable and the aptpod device connectors.

(13)

Executable file of a client that sends data over the network.

(14)

Device connector made by aptpod

(15)

Manager executable, the core of the Agent

(16)

Directory where information about open source libraries used by the Agent is stored

2.3. Start and stop the Agent

2.3.1. Start the Agent

To start the Agent, execute the following command.

$ sudo \
   LD_LIBRARY_PATH=/opt/vm2m/lib \
   /opt/vm2m/sbin/intdash-edge-manager -C <full-path-to-the-configuration-file>

For full-path-to-the-configuration-file, you can use the pre-installed configuration file /etc/opt/intdash/manager.conf. The pre-installed configuration file uses the environment variables.

Variable name

Description

INTDASH_EDGE_UUID

The UUID to identify this edge. Use the one issued by the intdash server. (Example: f90f2b42-66a5-4a57-8e99-468c36ebb6f2)

INTDASH_EDGE_SECRET

The token for authentication. Use the one issued for this edge by the intdash server. (Example: sEh9ZHPoKX8QYU-v0Noe0ZPzxGBF..........iBn5fn_eFM) See Edge information setting for more information.

INTDASH_EDGE_SERVER

Enter the FQDN of the intdash server. (Example: dummy.intdash.jp)

INTDASH_EDGE_APPDIR

Application data storage location (example: /var/lib)

INTDASH_EDGE_RUNDIR

Temporary file location (example: /var/run)

INTDASH_EDGE_BINDIR

Script file location (example: /opt/vm2m/bin)

INTDASH_EDGE_SBINDIR

Executable file location (example: /opt/vm2m/sbin)

INTDASH_EDGE_LIBDIR

Library location (example: /opt/vm2m/lib)

INTDASH_EDGE_CONFDIR

Configuration file location (example: /etc/opt/intdash)

$ sudo \
   LD_LIBRARY_PATH=/opt/vm2m/lib \
   INTDASH_EDGE_UUID=f90f2b42-66a5-4a57-8e99-468c36ebb6f2 \
   INTDASH_EDGE_SECRET=sEh9ZHPoKX8QYU-v0Noe0ZPzxGBF..........................iBn5fn_eFM \
   INTDASH_EDGE_SERVER=dummy.intdash.jp \
   INTDASH_EDGE_APPDIR=/var/lib \
   INTDASH_EDGE_RUNDIR=/var/run \
   INTDASH_EDGE_BINDIR=/opt/vm2m/bin \
   INTDASH_EDGE_SBINDIR=/opt/vm2m/sbin \
   INTDASH_EDGE_LIBDIR=/opt/vm2m/lib \
   INTDASH_EDGE_CONFDIR=/etc/opt/intdash \
   /opt/vm2m/sbin/intdash-edge-manager -C /etc/opt/intdash/manager.conf

Note

If you set the log level to the environment variable INTDASH_LOG, logs of that level or higher will be output. Available log levels are as follows. If not specified, info or higher logs will be output.

  • debug (debug, info, warn, and error logs are output)

  • info (info, warn, and error logs are output)

  • warn (warn and error logs are output)

  • error (error logs are output)

  • quiet (no log is output)

Note

When invoked with the -c option as shown below, the actual configuration used will be displayed. The settings displayed are based on the contents of the configuration file, with default values applied if the configuration file does not have values, and with environment variables expanded.

$ sudo \
   LD_LIBRARY_PATH=/opt/vm2m/lib \
   ...
   /opt/vm2m/sbin/intdash-edge-manager -C /etc/opt/intdash/manager.conf -c

In the pre-installed configuration file /etc/opt/intdash/manager.conf, Device Connectors are not configured. Therefore, only the Status plugin will work. The Status plugin gets the system information, network information, and Agent status as shown below and sends them to the intdash server.

Data type

Data ID

Channel

Content

String

s00

255

System information

String

s20

255

Network information

String

s50

255

Agent status

2.3.2. Stop the Agent

To stop the Agent, do one of the following:

  • Send SIGINT

  • Execute the following command:

    $ LD_LIBRARY_PATH=/opt/vm2m/lib /opt/vm2m/sbin/intdash-edge-manager -k
    

Attention

It may take about 10 seconds to stop the Agent.

2.3.3. Reference: Sequence from start to stop of the Agent

../_images/02_sequence.png