1. Introduction¶
This document describes how to use intdash Edge Agent (hereinafter referred to as Agent).
Important
This document is for general informational purposes only. Specifications in this document are subject to change without notice and are not guaranteed.
Screenshots used in descriptions are examples. Some displays or procedures might differ depending on your environment and application version.
Note
Company names, service names, and product names mentioned in this document are generally registered trademarks or trademarks of their respective owners. Trademark symbols "™" and "®" are omitted in the text, figures, and tables.
Attention
This document has been translated using machine translation services and may contain inaccuracies and translation errors. Please also refer to the official version in Japanese.
1.1. What is Agent?¶
Agent is agent software that sends and receives data to and from the intdash server.
The Agent can stream frequently occurring time series data to the intdash server with low latency. Data that could not be sent due to a failure such as a network line disconnection will be automatically retransmitted. This enables the data to be fully recovered to the intdash server.
1.2. Main features¶
Streaming time series data
Automatic retransmission of lost data
Filtering and sampling of time series data
Saving the acquired time series data as a dump file
1.3. System requirements¶
Supported platforms
Linux on AMD64 architecture
Raspbian on Raspberry Pi
NVIDIA L4T on NVIDIA Jetson
Minimum hardware requirements
Intel Atom processor E3815, 1.46GHz or higher
Recommended hardware requirements
Multi-core CPU
2 GB or more memory
SSD
Important
If the amount of data is large and the CPU load is too high, data may be lost.
The guideline for the amount of data that can be processed without loss is as follows. (The following are approximate values that apply when you are using a device connector with a small processing load. The limit performance will increase or decrease depending on the processing load of the device connector.)
When using VTC 1910-S (Intel Atom E3815 1.46GHz)
Sending small data frequently: about 8B(bytes) / unit, 24000 units / second
Sending large data infrequently: about 0.98MB / unit, 10 units / second
When using Raspberry Pi 4 Model B
Sending small data frequently: about 8B(bytes) / unit, 100000 units / second
Sending large data infrequently: about 0.98MB / unit, 80 units / second
If you anticipate a heavy load on the CPU, we recommend that you perform test measurements in advance. After performing test measurements, execute the following command on the edge to check the messages in syslog.
$ cat /var/log/syslog | grep -e"ring is full" -e "data buffer is overflow" | grep -v PacketSender
If you see a message ring is full
or data buffer is overflow
in the syslog (except for the PacketSender message), some data has been lost between the device connector and the agent.
1.4. System configuration¶
The Agent consists of software modules: Device Connectors, a manager, and clients.
The Device Connector receives data from the device.
The manager performs various processes such as filtering and sampling.
The client sends the time series data to the intdash server.
1.4.1. Device connector¶
A Device connector is software for connecting various devices and the Agent.
The default Device Connector, the intdash-edge-logger
, and 6 settings are installed with the Agent.
v4lh264
gstreamer_h264
mjpeg
nmea
socketcan
canopen
Configuration is required to use the Device Connector. See Settings for using the pre-installed Device Connector for instructions on how to configure the Device Connectors above.
Users can connect devices that are not supported by intdash-edge-logger
by providing a new Device Connector. See Add your own Device Connector for information on how to add Device Connectors other than intdash-edge-logger
.
Note
The word "logger" is sometimes used in configuration files, but "logger" refers to the Device Connector.
1.4.2. Plugin¶
A plugin is an internal software module that interfaces the Device Connector with the Agent. There are the following two types.
- FIFO plugin
Sends and receives data between the Agent and a Device Connector via a FIFO (named pipe).
- Status plugin
This plugin does not connect to a Device Connector, but collects status information.
Note
Plugins need to be specified in
loggers[].details.plugin
in the configuration file. See Device connector settings for more information.The Device Connector
intdash-edge-logger
provided by Aptpod does not use the FIFO plugin. Therefore, when usingintdash-edge-logger
, it is not necessary to defineplugin
in the configuration file.
1.4.3. Manager¶
The manager is the software module at the center of the Agent. It manages the start and stop of other modules, aggregates the data collected from the Device Connectors, processes filtering and sampling, and exports RAW data.
1.4.4. Client¶
A client in the Agent is a software module responsible for communication between the Agent and the intdash server. A client is responsible for real-time transmission using intdash's Realtime API, transmission in high-efficiency format using intdash REST API, and retransmission.
- Realtime client
Sends data in real time using intdash's Realtime API (WebSocket).
- Bulk client
Sends data in bulk at regular intervals of several seconds using intdash's Realtime API (WebSocket).
- Resend client
Resends the data at regular intervals that the Realtime and Bulk clients were unable to send. Both Realtime API (WebSocket) and REST API can be used to communicate with the intdash server.
- Control client
Receives data in real time using intdash's Realtime API (WebSocket).