feat: add node agent system with heartbeat collection, installer generation, and traffic flow telemetry
CI / backend (push) Failing after 3s
CI / frontend (push) Failing after 28s

Add NodeAgent and TrafficFlow models to track agent status and network flows, implement /agents/heartbeat endpoint to receive interface counters, conntrack flows, firewall status, and nftables ruleset hash from agents, add nexafabric-agent.py Python script to collect host telemetry including VM/LXC interface hints via tap/fwbr regex matching, conntrack flow parsing with protocol/state/byte counters, and pve-firewall status checks,
This commit is contained in:
2026-07-09 14:13:47 +02:00
parent 88badf1f22
commit e67174a4ae
8 changed files with 677 additions and 7 deletions
+29 -2
View File
@@ -160,14 +160,41 @@ Actual traffic flow visibility, top talkers, byte counters, and per-workload tra
Supported or planned options:
- NexaFabric node agent on Proxmox nodes to read nftables/conntrack or flow counters.
- NexaFabric node agent on Proxmox nodes to read host interface counters, VM/LXC interface hints, conntrack flows, nftables ruleset state, and pve-firewall status.
- Open vSwitch with sFlow/NetFlow/IPFIX exported to a collector.
- Router/firewall flow exports from pfSense, OPNsense, FRR/BGP edge devices, or physical switches.
- eBPF or host-level telemetry in future agent builds.
Until such a source is configured, NexaFabric will show `No flow telemetry collected yet` instead of fake traffic.
### 8. Troubleshooting Proxmox Integration
### 8. Install The Node Agent
After a Proxmox cluster sync has imported nodes:
1. Open `Nodes`.
2. Click the agent icon on the node row.
3. Copy the installer command.
4. Run it as `root` on the matching Proxmox node.
The installer creates:
- `/opt/nexafabric-agent/nexafabric-agent.py`
- `/etc/nexafabric-agent/config.json`
- `nexafabric-agent.service`
The agent sends a heartbeat every 30 seconds to NexaFabric. It uses a node-specific enrollment token generated by the UI and does not need your Proxmox API token.
Useful commands on the Proxmox node:
```bash
systemctl status nexafabric-agent
journalctl -u nexafabric-agent -f
systemctl restart nexafabric-agent
```
The agent reports host/interface counters, VMID hints from Proxmox interface names, conntrack flow records, pve-firewall status, and an nftables ruleset hash. NexaFabric maps flow source/destination IPs back to workloads through IPAM, so VM/LXC details can show observed traffic once guest IPs have been discovered. The agent does not enforce policies itself; Proxmox firewall rule apply remains API-driven through NexaFabric.
### 9. Troubleshooting Proxmox Integration
`401 No ticket` or `Provider sync failed` usually means: