An event-driven, AI-powered incident triage system that transforms raw operational events into structured, actionable incident reports and dashboards using a locally hosted LLM.
This version introduces a major shift from an AI-powered pipeline to a decision-driven (agentic) system.
Instead of only analyzing incidents, the system now decides what action to take based on context, confidence, and historical patterns.
- Introduced an Agentic Decision Engine
- Added persistent deduplication using EF Core
- Implemented failure fingerprinting (SHA256 + normalization)
- Enabled occurrence tracking for smarter escalation
- Improved LLM reliability with JSON validation and fallback handling
- Refactored into a clean DDD-inspired architecture
- Added unit test coverage for core workflows
Event Sources
โ
Ingestion Layer (Kafka / RabbitMQ / Logs)
โ
Normalization & Fingerprinting
โ
Failure Repository (EF Core)
โ
AI Orchestration (Semantic Kernel)
โ
Agentic Decision Engine
โ
Outputs
- HTML Incident Ticket
- Interactive Dashboard
The system evaluates each failure and determines the appropriate action:
- โ Ignore low-confidence signals
- ๐ Merge duplicate incidents
- ๐ฅ Escalate high-frequency failures
- โ Create tickets when actionable
- Normalize failure input (remove noise like line numbers, casing)
- Generate deterministic fingerprint (SHA256)
- Store in database (EF Core)
- Track occurrence count over time
๐ This prevents duplicate tickets and enables intelligent escalation.
if (confidence < 0.5) return Ignore;
if (occurrenceCount > 5) return Escalate;
if (!isNew) return Merge;
return CreateTicket;Modern distributed systems generate massive volumes of logs and alerts. Engineers spend significant time:
- Parsing noisy logs
- Correlating events
- Performing root cause analysis
- Creating incident tickets manually
This project automates that entire workflow using AI agents.
Given raw operational events (logs, stack traces, alerts), the system:
- Classifies incidents
- Performs root cause analysis
- Redacts sensitive data (PII, internal IPs)
- Suggests remediation steps
- Generates structured HTML incident tickets
- Builds a searchable, filterable incident dashboard
All processing happens locally using a self-hosted LLM.
Experience the system's output through these generated samples:
-
๐๏ธ View Project Architecture A high-level blueprint of the event-driven, private AI triage pipeline.
-
๐ฅ๏ธ View Interactive Dashboard A single pane of glass for multi-event triage, featuring severity filtering and real-time search.
-
๐ View Sample Ticket Deep-dive analysis of an SMTP failure with sanitized technical details and suggested remediation.
//System.Net.Mail.SmtpException: Failure sending mail
// Stack Trace:
// at System.Net.Mail.SmtpClient.Send(MailMessage message)
// at MyCompany.Services.NotificationService.NotifyVendor()
// in C:\Services\NotificationService.cs:line 42
// Source Context: CRITICAL: SmtpException at 10.0.0.42
// Failed to notify user john.doe@external-vendor.com
// Email relay failure containing PII and internal network topology. source IP 172.16.254.1
- Severity: Critical
- Title: Email Relay Failure
- Description: Failed to notify user [EMAIL_REDACTED] due to SmtpException at [IP_REDACTED]
- SmtpException during email processing
- Internal network topology exposed via stack trace
- Review SMTP configuration
- Enforce secure communication protocols
- Email redacted โ
[EMAIL_REDACTED] - IP addresses redacted โ
[IP_REDACTED]
You can view a full, AI-generated HTML incident report here:
View Sample Ticket
Event Sources โ Ingestion Layer (Kafka / RabbitMQ / Logs) โ AI Orchestration (Semantic Kernel) โ Processing Pipeline
- Classification
- Root Cause Analysis
- PII Redaction
- Suggested Fix Generation โ Outputs
- HTML Incident Ticket
- Incident Dashboard
- Backend: .NET 8 / C#
- AI Orchestration: Semantic Kernel
- LLM Runtime: Ollama (LLaMA local model)
- Messaging: Kafka / RabbitMQ (pluggable)
- Output: HTML Reports + Dashboard
- Architecture Style: Event-driven, modular, extensible
Automated classification and root cause detection using AI agents.
- No external API calls
- Sensitive data redacted before output
- Runs fully locally
Produces consistent, high-quality incident reports with:
- Severity
- Root cause
- Suggested fix
- Repro steps
- Acceptance criteria
- Filter by severity
- Search incidents
- Expandable details
- Confidence scoring
- Clean, structured, production-ready format
- Designed for integration with systems like Jira
- Aggregated view of incidents
- Real-time filtering and search
# 1. Clone repo
git clone https://github.com/your-username/ai-incident-triage
# 2. Start Ollama (local LLM)
ollama run llama3
# 3. Run application
dotnet run --project IncidentAgent.Host- Email service failures (SMTP issues)
- Authentication spikes
- API failures
- Database deadlocks
- Observability pipeline alerts
- RAG-based enrichment (incident history + runbooks)
- Duplicate detection and clustering
- Cross-event correlation
- Auto-remediation workflows
- Slack / Teams integration
- Multi-tenant support
- Event-first architecture
- Domain-driven design
- AI as a co-pilot, not a black box
- Privacy and control over data
- Extensibility via plugins