diff --git a/docs/FAQ.md b/docs/FAQ.md index e16cb4dcf..478d31094 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -91,11 +91,11 @@ Reduce `metricsRetentionDays` in settings and restart ### Why do VMs show 0% disk usage? This is usually one of these issues: -**Proxmox 9**: VM disk monitoring has mixed results: -- Some users report it working fine, especially in cluster configurations -- Others see 0% disk usage due to API token limitations -- VM.Monitor permission was removed (replaced with VM.GuestAgent.Audit) -- If you're seeing 0%, there's currently no reliable workaround +**Proxmox 9**: VM disk monitoring should work with proper setup: +- API tokens CAN access guest agent data (confirmed working) +- Ensure your token has proper permissions (PVEAuditor role includes VM.GuestAgent.Audit) +- The `/cluster/resources` endpoint shows disk=0 but Pulse fetches actual data via guest agent API +- If you see 0%, check: guest agent installed/running, token permissions, and Pulse logs for errors - Note: Container (LXC) disk usage always works fine **Proxmox 8**: Check that: diff --git a/internal/api/config_handlers.go b/internal/api/config_handlers.go index 26fc0816b..cf41cb5cf 100644 --- a/internal/api/config_handlers.go +++ b/internal/api/config_handlers.go @@ -2164,18 +2164,18 @@ else fi echo "" - echo "⚠️ NOTE: Proxmox 9 VM Disk Usage" - echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" - echo "VM disk usage may show 0% on Proxmox 9 with API tokens." + echo "✓ VM Disk Monitoring on Proxmox 9" + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + echo "VM disk monitoring DOES work on Proxmox 9 with API tokens!" echo "" - echo "This appears to be a Proxmox limitation where guest agent data" - echo "may not be accessible to API tokens in some configurations." + echo "The PVEAuditor role includes VM.GuestAgent.Audit permission" + echo "which allows reading guest agent data for disk usage." echo "" - echo "Results vary:" - echo " • Some users report it works, especially in cluster setups" - echo " • Others see 0% disk usage for VMs" - echo " • Container (LXC) disk usage always works correctly" - echo " • If you see 0%, try configuring as a cluster if possible" + echo "If VMs show 0% disk usage:" + echo " • Ensure qemu-guest-agent is installed and running in the VM" + echo " • Check that the token has PVEAuditor role applied" + echo " • Verify with: qm agent get-fsinfo" + echo " • Container (LXC) disk usage always works" echo "" echo "Note: qemu-guest-agent must be installed in VMs for any disk" echo "monitoring to work. The data exists but token access is restricted." diff --git a/internal/monitoring/monitor.go b/internal/monitoring/monitor.go index 7bd642347..ac5bb3fe1 100644 --- a/internal/monitoring/monitor.go +++ b/internal/monitoring/monitor.go @@ -988,7 +988,7 @@ func (m *Monitor) pollVMsAndContainersEfficient(ctx context.Context, instanceNam log.Info(). Str("instance", instanceName). Str("vm", res.Name). - Msg("• Proxmox 9: API tokens may not be able to access guest agent data") + Msg("• Check token has PVEAuditor role (includes VM.GuestAgent.Audit on PVE 9)") log.Info(). Str("instance", instanceName). Str("vm", res.Name). @@ -996,7 +996,7 @@ func (m *Monitor) pollVMsAndContainersEfficient(ctx context.Context, instanceNam log.Info(). Str("instance", instanceName). Str("vm", res.Name). - Msg("• Some PVE 9 users report it works in cluster configs, but results vary") + Msg("• Verify guest agent is installed and running inside the VM") } else { log.Debug(). Err(err). @@ -1370,7 +1370,7 @@ func (m *Monitor) pollVMsWithNodes(ctx context.Context, instanceName string, cli log.Info(). Str("instance", instanceName). Str("vm", vm.Name). - Msg("• Proxmox 9: API tokens may not be able to access guest agent data") + Msg("• Check token has PVEAuditor role (includes VM.GuestAgent.Audit on PVE 9)") log.Info(). Str("instance", instanceName). Str("vm", vm.Name). @@ -1378,7 +1378,7 @@ func (m *Monitor) pollVMsWithNodes(ctx context.Context, instanceName string, cli log.Info(). Str("instance", instanceName). Str("vm", vm.Name). - Msg("• Some PVE 9 users report it works in cluster configs, but results vary") + Msg("• Verify guest agent is installed and running inside the VM") } else { log.Debug(). Err(err).