6e3cafa98d87023b1581b26a85588c6192857af8
- Fix memory slot counting: use grep on Locator/Size fields instead of awk pattern that wasn't matching dmidecode output correctly - Add SATA to HBA detection patterns - was missing SATA controllers - Remove get_disk_health from runDiags - redundant with DriveAtlas which shows the same info in a better format Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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
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.1.0
Changelog
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
Description
A comprehensive diagnostic tool for Proxmox servers that performs system health checks and monitoring - your virtual system's doctor! 🏥
Languages
Shell
100%