Service management
Systemd
The agent runs asinsaion-agent.service:
Docker
Manage the container with standard Docker commands:Configure the agent
Systemd
Runtime configuration is stored in/etc/default/insaion-agent. Edit the file and restart the service to apply changes:
Docker
Docker configuration is supplied through environment variables. To make a persistent change, stop and remove the container, then run the command generated by the Add Device wizard again with the updated values:/var/lib/insaion-agent host directory.
Common variables
ENROLLMENT_KEY: automatically register the device without manual pairingROS_DISTRO: ROS2 distribution sourced before launchCUSTOM_ROS_SETUP: path to an additional ROS workspace setup scriptRMW_IMPLEMENTATION: DDS middleware selection, such as CycloneDDS or Fast DDSROS_DOMAIN_ID: ROS domain ID for discovery isolationROS_AUTOMATIC_DISCOVERY_RANGE: ROS discovery rangeROS_STATIC_PEERS: static peer list for ROS discoveryROS_LOCALHOST_ONLY: restrict ROS traffic to localhost when requiredFASTRTPS_DEFAULT_PROFILES_FILE: Fast DDS profile pathROS_DISCOVERY_SERVER: Fast DDS discovery server addressCYCLONEDDS_URI: CycloneDDS configuration URIZENOH_ROUTER_CONFIG_URI: Zenoh router configuration locationZENOH_SESSION_CONFIG_URI: Zenoh session configuration locationZENOH_ROUTER_CHECK_ATTEMPTS: retry count for Zenoh router availability checks
Logging and diagnostics
The agent uses a standardized log format across its components. Each record includes a timestamp, severity level, and thread identifier. Persistent agent logs also include the source file and line number. Output from managed Telegraf and ReductStore processes is captured in the same stream with a component tag, making events easier to follow in chronological order. For systemd, follow live service logs with:/var/lib/insaion-agent/. Mount this directory as persistent storage in Docker to retain diagnostics across container restarts.
Create a support bundle
When reporting an issue, generate a redacted support bundle:.tar.gz archive to /tmp and prints the full path when complete.
Choose a specific output path with:
[REDACTED], and device tokens are not included. Review the archive before attaching it to an issue or sending it to Insaion support.
For Docker, create the bundle inside the container and copy it to the host:
Update the agent
Systemd
If the Insaion package repository is still configured, update the agent with the standard system upgrade workflow:/etc/default/insaion-agent and the state stored under /var/lib/insaion-agent, then restarts the service after the agent upgrade.
You can also re-run the installation command generated by the Add Device wizard. This is useful when you want to update only the agent or restore its package repository configuration.
If APT keeps the agent back or reports a Telegraf version conflict, re-run the current installation command to remove package holds created by older installer versions, then run the upgrade again.
Docker
Pull the current image and recreate the container with the same configuration and persistent state mount:latest-jazzy with the image tag used by your deployment.
Troubleshooting
The service or container is not running
For systemd:The device does not register automatically
Confirm thatENROLLMENT_KEY is present in the systemd configuration:
The pairing page is not reachable
Confirm that the agent is running, then test the local endpoint:Custom ROS messages are missing
SetCUSTOM_ROS_SETUP to the workspace setup.bash path. For Docker, also mount that workspace into the container at the configured path. Restart or recreate the agent after the change.
DDS settings are not applied
Check the configured middleware variables and verify that referenced files exist:Docker state is not persisting
Confirm that/var/lib/insaion-agent is mounted and writable on the host:
