Running the agent
Start the daemon
cybrium-agent start
The agent runs as a background daemon that:
- Discovers available sensors every startup
- Runs sensors on their configured schedule
- Buffers findings locally in SQLite
- Syncs to the platform every 60 seconds
- Heartbeats every 60 seconds
Check status
cybrium-agent status
Output:
Cybrium Agent Status
License: Active (expires 2027-04-23)
Hardware ID: a1b2c3d4...
Uptime: 2h 34m
Last sync: 12s ago
Buffer: 0 pending findings
Sensors:
cysense v0.1.0 — running (network capture)
cyguard v0.1.0 — running (endpoint scan)
cyprobe v0.1.0 — running (device discovery)
Stop the daemon
cybrium-agent stop
Install as a system service
For production deployments, install the agent as a system service so it starts automatically on boot:
# Linux (systemd)
sudo cybrium-agent install-service
sudo systemctl status cybrium-agent
# macOS (launchd)
sudo cybrium-agent install-service
launchctl list | grep cybrium
Uninstall the service
sudo cybrium-agent uninstall-service
Configuration
The agent stores its configuration at ~/.cybrium-agent/config.json:
{
"license_key": "eyJ...",
"agent_token": "abc123...",
"hardware_id": "a1b2c3d4...",
"platform_url": "https://api.cybrium.ai",
"sync_interval_secs": 60,
"scan_interval_secs": 300,
"sensors_enabled": ["cysense", "cyguard", "cyprobe"]
}
| Setting | Default | Description |
|---|---|---|
platform_url | https://api.cybrium.ai | Platform API endpoint |
sync_interval_secs | 60 | How often to sync findings |
scan_interval_secs | 300 | How often to run sensors |
sensors_enabled | all discovered | Which sensors to run |
Offline mode
If the network is unavailable, the agent continues running sensors and
buffering findings locally in ~/.cybrium-agent/buffer.db. When the
network returns, all buffered findings are synced automatically.
Findings are kept in the buffer for 24 hours after syncing, then purged.
Logs
# Linux (systemd)
journalctl -u cybrium-agent -f
# macOS
tail -f /var/log/cybrium-agent.log
# Debug logging
RUST_LOG=debug cybrium-agent start