Problem: When SMART errors evolved on the same drive, new tickets were created instead of updating the existing ticket. This happened because the hash was based on specific error values (e.g., "Reallocated_Sector_Ct: 8") instead of just the issue category. Root Cause: - Old hash included specific SMART attribute names and values - When errors changed (8 → 16 reallocated sectors, or new errors appeared), the hash changed, allowing duplicate tickets - Only matched "Warning" attributes, missing "Critical" and "Error X occurred" - Only matched /dev/sd[a-z], missing NVMe devices Solution: - Hash now based on: hostname + device + issue_category (e.g., "smart") - Does NOT include specific error values or attribute names - Supports both /dev/sdX and /dev/nvmeXnY devices - Detects issue categories: smart, storage, memory, cpu, network Result: ✅ Same drive, errors evolve → Same hash → Updates existing ticket ✅ Different device → Different hash → New ticket ✅ Drive replaced → Different device → New ticket ✅ NVMe devices now supported Example: Before: - "Warning Reallocated: 8" → hash abc123 - "Warning Reallocated: 16" → hash xyz789 (NEW TICKET - bad!) After: - "Warning Reallocated: 8" → hash abc123 - "Warning Reallocated: 16" → hash abc123 (SAME TICKET - good!) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
7.2 KiB
7.2 KiB