Embedded Linux Integration
Integrate your Embedded Linux devices using the Spotflow daemon.
spotflowd runs as a service on your Linux device and sends logs, OS metrics, custom application metrics, and kernel crash reports to Spotflow.
You can keep using your existing logging tools without adding an SDK to your applications.
Prerequisites
For this quickstart, you need:
- A Linux device running systemd on x86-64, ARM64, or ARMv7 (hard-float), with a glibc-based userspace compatible with the pre-built binaries.
- Shell access with
sudo, andcurland Bash installed. - Network access to
mqtt.spotflow.ioon TCP port8883for MQTT over TLS, working DNS, and trusted CA certificates. - A Spotflow ingest key.
Building a device image with Yocto? Follow Yocto integration instead. The included layer supports both systemd and SysVinit and builds with your distribution's toolchain. For other targets, see the upstream source build instructions.
Install spotflowd
Run the installer on the device:
curl -sSfL https://github.com/spotflow-io/spotflowd/releases/latest/download/install.sh | sudo bashThe installer detects your architecture, downloads and verifies the binary's checksum, creates the spotflow service account, and installs the systemd service.
It creates /etc/spotflow/spotflowd.toml without overwriting an existing configuration and enables the service for subsequent boots. It does not start the service immediately.
You can also download binaries from GitHub Releases.
Configure Device Identity
Edit /etc/spotflow/spotflowd.toml and replace the values in its existing [device] section:
[device]
id = "linux-device-001"
ingest_key = "<your-ingest-key>"Choose a unique device ID that stays the same across reboots. The ingest key authenticates your device with Spotflow. Manage keys on the Ingest Keys page and keep them out of version control. Preserve the file's restrictive permissions so only the service account and administrators can read it.
By default, this build collects journald logs. The systemd service validates the configuration as its service account before starting collection.
Start the Service
sudo systemctl start spotflowd
sudo spotflowd status
sudo journalctl -u spotflowd -fWhen connected, the service logs include MQTT connected to Spotflow platform.
The local spotflowd status command also works offline and reports source health, connection state, queued data, and drops without exposing the ingest key.
Send a Test Log
logger -t spotflow-test "Hello from embedded Linux to Spotflow"
logger -t spotflow-test -p user.err "Test error from embedded Linux"Open the Spotflow web application and filter logs by your device ID. Once the device is connected, the test messages should appear within seconds.