feat: add node agent system with heartbeat collection, installer generation, and traffic flow telemetry
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:
@@ -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:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user