jaredandClaude Opus 4.5 76f7aaa64c Bump version to 1.2.0 and update changelog
Update version number and document all changes from the
issue fixes including new features, bug fixes, and
performance improvements.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 10:56:29 -05:00

ProxDoc - The Proxmox System Doctor

ProxDoc is a comprehensive diagnostic tool for Proxmox server health monitoring and system examination.

Features

  • Complete system diagnostics and health checks
  • DriveAtlas integration for physical drive bay mapping
  • Ceph cluster health monitoring (OSD tree, pool usage, disk usage)
  • Node Exporter status check for Prometheus monitoring
  • hwmon daemon status for hardware monitoring
  • Quick health check mode for fast assessments
  • Temperature monitoring
  • Disk health status via SMART
  • CPU and RAM information
  • Detailed memory DIMM information (slots, speed, manufacturer)
  • Motherboard and system information
  • Storage information including ZFS pools
  • Network diagnostics with ethtool integration
  • Detailed NIC information (driver, firmware, link speed)
  • HBA/Storage controller detection and details
  • Hardware information
  • Service status monitoring
  • VM and Container status

Requirements

The script requires the following tools to be installed:

  • dmidecode
  • lscpu
  • ip
  • smartctl
  • sensors
  • lspci

Optional tools for enhanced diagnostics:

  • ethtool (for detailed NIC information including link speed and firmware)
  • netstat (for network statistics)

Usage

Run remotely via curl:

curl -sL "http://10.10.10.63:3000/LotusGuild/proxDoc/raw/branch/main/proxDoc.sh" | bash -s -- [OPTION]

Examples

# Full system diagnostics
curl -sL "http://10.10.10.63:3000/LotusGuild/proxDoc/raw/branch/main/proxDoc.sh" | bash -s -- --diags

# Quick health check
curl -sL "http://10.10.10.63:3000/LotusGuild/proxDoc/raw/branch/main/proxDoc.sh" | bash -s -- --quick

# Check services
curl -sL "http://10.10.10.63:3000/LotusGuild/proxDoc/raw/branch/main/proxDoc.sh" | bash -s -- --services

# Show drive bay mapping
curl -sL "http://10.10.10.63:3000/LotusGuild/proxDoc/raw/branch/main/proxDoc.sh" | bash -s -- --drives

Available Options

  • --help: Show the help guide
  • --diags: Perform full system examination
  • --quick: Quick health check (services, temps, disks)
  • --drives: Show physical drive bay mapping (DriveAtlas)
  • --ceph: Check Ceph cluster health
  • --node-exporter: Check Node Exporter status
  • --hwmon: Check hwmon daemon status
  • --services: Check vital Proxmox services
  • --vm-list: Check VM vitals
  • --ct-list: Check container vitals
  • --backup: Review backup health
  • --checks=LIST: Run only specific checks (comma-separated)
    • Valid checks: cpu, ram, memory, storage, disk, network, hardware, temps, services, ceph, vms, containers

Output Information

The script provides detailed information about:

  • System information and Proxmox version
  • CPU model, cores, and frequency
  • RAM usage and detailed DIMM information
  • Motherboard manufacturer, model, and serial number
  • Storage status
  • Disk health
  • Network configuration
  • Detailed NIC information (driver, MAC, speed, firmware)
  • HBA/Storage controller details
  • Hardware details including PCI devices
  • System load
  • Service status
  • Recent system errors
  • VM and container status

Note

  • This script must be run as root
  • Designed for Proxmox environments
  • Supports Proxmox version 6.0 and above
  • No local installation required - runs directly from Gitea

Version

Current Version: 1.2.0

Changelog

v1.2.0

  • Fixed variable quoting in disk iteration loops (security)
  • Added input validation with whitelist of valid options
  • Added examples to help documentation
  • Added timeout protection to smartctl and ceph commands
  • Added --checks= option for selective diagnostics
  • Extracted magic strings into named constants
  • Added validation for potentially empty variables
  • Standardized error handling with cleanup trap
  • Added optional logging infrastructure (PROXDOC_LOGFILE)
  • Cached disk list and unit files to reduce command overhead
  • Added efficient process wait utility function
  • Fixed CPU MHz parsing showing multiple values
  • Fixed memory DIMM table not displaying data
  • Fixed bonding_masters showing as network interface

v1.1.0

  • Added DriveAtlas integration (--drives) for physical drive bay mapping
  • Added Ceph cluster health monitoring (--ceph)
  • Added Node Exporter status check (--node-exporter)
  • Added hwmon daemon status check (--hwmon)
  • Added quick health check mode (--quick)
  • Added container list option (--ct-list)
  • Full diagnostics now include all monitoring checks
  • Improved error handling with graceful fallbacks
  • Optimized for remote execution via curl

v1.0.0

  • Initial release
S
Description
A comprehensive diagnostic tool for Proxmox servers that performs system health checks and monitoring - your virtual system's doctor! 🏥
Readme
262 KiB
Languages
Shell 100%