cv4pve-diag

Corsinvest Srl · Corsinvest.cv4pve.diag

Diagnostic Tool for Proxmox VE

cv4pve-diag is a comprehensive diagnostic tool for Proxmox VE that performs health checks and system analysis on your virtualization infrastructure. Features: - Node health and status monitoring - VM/Container diagnostics and configuration validation - Storage capacity and performance checks - Replication and backup status verification - Snapshot age monitoring - Multiple output formats (Text, HTML, JSON, Markdown) - Customizable severity thresholds - Support for ignore patterns

winget install --id Corsinvest.cv4pve.diag --exact --source winget

Latest 2.1.0

Release Notes

New checks Node:

  • Memory overcommit (WN0036) — the total RAM allocated to VMs and containers on a node exceeds the node's physical memory. This can cause system instability or unexpected VM crashes.
  • Bridge not VLAN-aware (WN0037) — a VM or container uses a VLAN tag on a network bridge that does not support VLANs. The tag is silently ignored and network traffic may not be isolated as expected.
  • VM consolidation candidate (IN0003) — a node has very low CPU and RAM usage. Consider migrating its VMs to other nodes to free up hardware.
  • Firewall rule allows all traffic (WC0008) — a cluster firewall rule uses 0.0.0.0/0 as source or destination, allowing traffic from or to any address. This is overly permissive and increases the attack surface. LXC containers (new checks):
  • Nesting without keyctl (WG0038) — the container has Docker nesting enabled but is missing the keyctl option. Without it, nested containers may leak cryptographic keys between each other.
  • Privileged container (WG0039) — the container runs as privileged, meaning the root user inside has the same permissions as root on the host. Use unprivileged containers where possible.
  • Privileged without AppArmor (CG0006) — a privileged container also has AppArmor protection disabled. There is no kernel-level confinement: a compromised container can affect the entire host.
  • No memory limit (WG0040) — the container has no RAM limit configured. It can consume all available host memory and starve other VMs and containers.
  • Swap disabled (IG0013) — the container has no swap space. Under heavy memory pressure, the OS will kill processes instead of using swap.
  • No hostname (IG0014) — the container has no hostname set, making it harder to identify in logs and monitoring tools.
  • Raw LXC config entries (WG0041) — the container has low-level LXC configuration entries that bypass Proxmox VE management. These can cause unexpected behavior after upgrades. Error code unification VM and container checks previously used separate code prefixes (WQ*/IQ*/CQ* for QEMU, WL*/IL*/CL* for LXC). All guest codes are now unified under WG*, IG*, CG*. Checks that apply to both VMs and containers share the same code.

If you use ignore rules based on error codes, update any WQ*, IQ*, CQ*, WL*, IL*, or CL* codes to their G equivalents. Performance Analysis is significantly faster on large clusters. Backup content, VM configs, and storage lists are now fetched once and reused across all checks — instead of being fetched repeatedly for each VM or container. On a typical cluster this reduces the number of API calls by ~18% and total analysis time by ~32%. Fixes

  • Memory, network-in, and network-out threshold breaches on nodes now report distinct error codes (WN0038, WN0039, WN0040) instead of all sharing the CPU code WN0027.
  • Minor code quality improvements with no user-visible impact. What's Changed
  • Homebrew Repository Configuration Added by @setswei in #23
  • feat: v2.1.0 — new checks, unified guest error codes, performance improvements by @franklupo in #27 New Contributors
  • @setswei made their first contribution in #23 Full Changelog: v2.0.3...v2.1.0

Installer type: zip

Architecture Scope Download SHA256
x86 Download 7165C03B6C16786233DEDECA044CF5728143815824A518889681CED2C42F6332
x64 Download 24775262C8529CAF076E3945F7313D1D28C28904A8B6E92797E2C0BC465E295E
arm64 Download 754EBDA11D2E4423214D1F75F7C0C11A8992049450E9ACC76D1DC3CA5EBC457B

Details

Homepage
https://github.com/Corsinvest/cv4pve-diag
License
GPL-3.0
Publisher
Corsinvest Srl
Support
https://www.corsinvest.it/cv4pve
Privacy Policy
https://www.corsinvest.it/privacy
Copyright
Copyright (c) 2019-2025 Corsinvest Srl
Moniker
cv4pve-diag

Tags

corsinvestdiagnostichealth-checkmonitoringproxmoxproxmoxvevirtualizationvm

Older versions (4)

2.0.3
Architecture Scope Download SHA256
x86 Download 0BC802EF54EF955B666A70625BE6F08C91B00B4BFE97A68FC6F33B6994D1163C
x64 Download 74BA91212010F15561474A1288FF2DD53B4282BB6E168C379BCBD3E6EDE89A3E
arm64 Download 016407AC5E6A867C97D7DEF7ECE1D40E14EF4C9D85F5FC6F8697F0D1D6E85754
2.0.2
Architecture Scope Download SHA256
x86 Download 98280E1F39837C69BD6C7E5027E29119A6B38D6CC0F4245D3C8FF8D3745B4CED
x64 Download BF3832F5EB5E3071C19F686298F852FE9588CA198349947EEFF7FED1F75BEF68
arm64 Download 7E0129E62F5EAF56CDD6AEDEB0E24AF17EF38FB6B05905027C4F68DF416D4A8A
2.0.1
Architecture Scope Download SHA256
x86 Download 529A57440CC04FCF2633BB523125F78813B7B7C7FF785E61BA98823B32234CB4
x64 Download 763257DFBE3C6741E306FBE9DA75183156053D59CA4BFB06A4C25A0118A61C7C
arm64 Download F0C4F101D5CECE31DECADCECEC04DC4B514B1E59C656BB37F68E5ABD73AE3642
1.9.0
Architecture Scope Download SHA256
x64 Download 2A143004B834B07CB6CF51653029B6E2B9B002F66FBC5D0311B9BC37133BF5F5
x86 Download 739FB4E55FEAC8B825794A5A85DD1B5516DB9C61ADB7CBFE3FDDC7B146E6C4FA
arm64 Download A1D68D3533808811FA17E3B69461D18F7D3363738E65E7F1601824A84351F3A5