Spaces:
Runtime error
Runtime error
Download App.py from SureshKumarParamasivam/AlertNoiseReduction: direct link, hf CLI and curl.
- Browser
- Download file 2.39 kB
-
https://huggingface.co/spaces/SureshKumarParamasivam/AlertNoiseReduction/resolve/main/App.py
- Command line
-
hf download hf://spaces/SureshKumarParamasivam/AlertNoiseReduction/App.py
-
curl -L -o App.py https://huggingface.co/spaces/SureshKumarParamasivam/AlertNoiseReduction/resolve/main/App.py
2.39 kB
| import time | |
| import random | |
| # Simulated Alert Stream | |
| alerts = [ | |
| {"id": 1, "type": "CPU_HIGH", "service": "payment-api", "severity": "warning"}, | |
| {"id": 2, "type": "LATENCY_SPIKE", "service": "payment-api", "severity": "critical"}, | |
| {"id": 3, "type": "DB_CONN_ERROR", "service": "payment-api", "severity": "critical"}, | |
| {"id": 4, "type": "DISK_USAGE", "service": "notification-service", "severity": "warning"}, | |
| ] | |
| # Historical Incident Database (simulated) | |
| incident_history = { | |
| "CPU_HIGH+LATENCY_SPIKE+DB_CONN_ERROR": {"likely_root": "DB connection pool issue", "auto_fix": True}, | |
| } | |
| # Agentic AI Decision Engine | |
| def agentic_ai_decision(alerts): | |
| correlated = [] | |
| action_plan = {} | |
| # Step 1: Correlate alerts based on service and time proximity | |
| services = set(alert['service'] for alert in alerts) | |
| for service in services: | |
| service_alerts = [a for a in alerts if a['service'] == service] | |
| alert_types = "+".join(sorted(a['type'] for a in service_alerts)) | |
| # Step 2: Check historical incident patterns | |
| if alert_types in incident_history: | |
| incident = incident_history[alert_types] | |
| print(f"\n📌 Correlated incident pattern detected for {service}") | |
| print(f"Likely Root Cause: {incident['likely_root']}") | |
| if incident['auto_fix']: | |
| action = "AUTO_REMEDIATE" | |
| else: | |
| action = "ESCALATE" | |
| correlated.append(service) | |
| action_plan[service] = action | |
| else: | |
| action_plan[service] = "ESCALATE" | |
| # Step 3: Handle uncorrelated alerts (noise suppression) | |
| uncorrelated = [a for a in alerts if a['service'] not in correlated] | |
| for a in uncorrelated: | |
| if a['severity'] == "warning": | |
| action_plan[a['service']] = "SUPPRESS" | |
| else: | |
| action_plan[a['service']] = "ESCALATE" | |
| return action_plan | |
| # Simulate agent decision-making | |
| actions = agentic_ai_decision(alerts) | |
| # Step 4: Execute actions | |
| for service, action in actions.items(): | |
| if action == "AUTO_REMEDIATE": | |
| print(f"\n✅ Auto-remediating issue in {service}… Restarting service.") | |
| elif action == "ESCALATE": | |
| print(f"\n🚨 Escalating incident for {service} to on-call.") | |
| elif action == "SUPPRESS": | |
| print(f"\n🔕 Suppressing non-critical alert for {service}.") |