Updated priority system

This commit is contained in:
2025-08-17 09:48:25 -04:00
parent fb1a9f67e1
commit cae4bf031b

View File

@ -774,6 +774,57 @@ class SystemHealthMonitor:
return description
def _determine_ticket_priority(self, issue: str, health_report: Dict[str, Any]) -> str:
"""
Determine ticket priority based on issue type and severity.
P1 = Critical system outages (reserved for future major outages)
P2 = Hardware failures requiring same-day response
P3 = Warnings requiring response within 1-3 days
P4 = Low priority monitoring alerts
"""
issue_lower = issue.lower()
# P1 - Reserved for major system outages (implement later)
# if 'cluster down' in issue_lower or 'total failure' in issue_lower:
# return self.PRIORITIES['CRITICAL'] # P1
# P2 - Hardware failures requiring same-day response
if any(keyword in issue_lower for keyword in [
'smart failure', 'drive failure', 'disk failure',
'uncorrectable ecc', 'hardware failure',
'critical temperature', 'firmware issue',
'reallocated sector', 'pending sector'
]):
return self.PRIORITIES['HIGH'] # P2
# P2 - SMART errors indicating potential drive failure
if 'smart issues' in issue_lower and any(error_type in issue_lower for error_type in [
'error', 'failed', 'reallocated', 'pending', 'uncorrectable'
]):
return self.PRIORITIES['HIGH'] # P2
# P2 - Critical storage usage (>90%)
if 'critical storage usage' in issue_lower:
return self.PRIORITIES['HIGH'] # P2
# P2 - Network failures affecting cluster communication
if any(keyword in issue_lower for keyword in [
'network failure', 'unreachable', 'network down'
]):
return self.PRIORITIES['HIGH'] # P2
# P3 - Warnings requiring attention within days
if any(keyword in issue_lower for keyword in [
'high temperature', 'high storage usage',
'correctable ecc', 'high cpu usage',
'warning'
]):
return self.PRIORITIES['MEDIUM'] # P3
# P4 - Low priority monitoring alerts
return self.PRIORITIES['LOW'] # P4
def _create_tickets_for_issues(self, health_report: Dict[str, Any]):
issues = self._detect_issues(health_report)
if not issues: