# 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 - **Interactive menu system** when run without arguments - **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 - Remote host diagnostics capability ## 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 ```bash ./proxdoc.sh [OPTIONS] ``` ```bash curl -sL "http://10.10.10.63:3000/LotusGuild/proxDoc/raw/branch/main/proxDoc.sh" | bash -s -- --services ``` ### 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 - `--connect`: Connect to a remote Proxmox host - `--save`: Save examination results to a log file ### Interactive Mode Run without arguments to display an interactive menu: ```bash ./proxDoc.sh ``` ## 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 ## Installation 1. Download the script 2. Make it executable: ```bash chmod +x proxdoc.sh ``` ## Note This script must be run as root Designed for Proxmox environments Supports Proxmox version 6.0 and above ## Version Current Version: 1.1.0 ### Changelog #### v1.1.0 - Added interactive menu system when run without arguments - 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 #### v1.0.0 - Initial release