Rohityadav9575/LogiAI
GitHub: Rohityadav9575/LogiAI
这是一个基于 Spring Boot 和 RabbitMQ 构建的智能日志分析引擎,通过正则和 LLM 混合检测实时异常,并能自动创建 Jira 工单以简化事件响应流程。
Stars: 0 | Forks: 0
# LogiAI - 智能日志分析与工单创建工具
LogiAI 是一个专为现代事件响应打造的 AI 驱动日志分析引擎。它利用 Spring Boot、MongoDB 和 RabbitMQ,通过智能语义分析实时捕获异常,并自动化 Jira 工单创建,从而简化您的 DevOps 工作流程。
## 🚀 主要功能
1. **实时 AI 日志分析**:
- 使用 **RegexRuleEngine** 检测已知模式,并结合 **LlmRuleEngine** 进行语义异常检测的混合检测方式。
- 通过 **RabbitMQ** 实现分布式摄入,以处理来自多个微服务的高吞吐量日志流。
2. **深度诊断追踪与根因分析**:
- 使用 `correlationId` 自动关联日志,可视化执行链路。
- 为每个检测到的异常提供 AI 驱动的建议解决方案,帮助工程师更快地解决问题。
3. **自动化事件编排**:
- 与 **Jira** 无缝集成,实现自动化工单创建。
- 通过 **Email/Slack** 发送实时告警,确保不会遗漏高优先级问题。
## 🏗️ 系统架构与流程
下图展示了从日志摄入到事件解决的端到端数据流:

### 数据工作流:
1. **摄入**: 日志通过 REST API 或文件上传发送至 `IngestionController`。
2. **缓冲**: 日志事件被推送到 RabbitMQ (`ingestion.queue`) 进行异步处理。
3. **分析**: `AnalysisService` 协调 Regex 和 LLM 引擎进行评估。追踪信息缓存在 **Redis** 中以提供上下文。
4. **持久化**: 检测到的异常及其建议解决方案存储在 **MongoDB** 中。
5. **分发**: 高严重性异常触发 RabbitMQ 中的任务 (`anomaly.exchange`)。
6. **行动**: `DispatchListener` 创建 Jira 工单并发送通知。
## 📂 项目结构
```
java-log-analyzer/
├── src/main/java/com/loganalyzer/
│ ├── analysis/ # Rule engines, AI analysis, and anomaly controllers
│ ├── auth/ # Identity and Access Management (Tenant models)
│ ├── core/ # Shared configs, DTOs, and base entities
│ ├── dispatch/ # Notification and Ticket services (Jira/Email)
│ └── ingestion/ # Log parsing and ingestion listeners
├── src/main/resources/
│ ├── static/ # Modern Dashboard UI (HTML, CSS, JS)
│ └── templates/ # Dashboard templates
├── drawings/ # Architecture diagrams
├── docs/ # Technical documentation
├── docker-compose.yml # Infrastructure setup (Mongo, Redis, RabbitMQ, Ollama)
└── pom.xml # Build and dependency configuration
```
## 🛠️ 设置与安装
### 前置条件
- **Java 17** 或更高版本
- **Maven 3.8+**
- **Docker Desktop**
### 1. 启动基础设施
启动数据库、缓存、消息代理和本地 LLM (Ollama):
```
docker-compose up -d
```
### 2. 配置环境
使用您的凭据更新 `src/main/resources/application.properties`:
- **Jira API Tokens**
- **LLM Settings**(默认为 localhost:11434 上的 Ollama)
- **Database URIs**
### 3. 构建与运行
```
mvn clean install
mvn spring-boot:run
```
访问仪表板:`http://localhost:8080`
## 📊 仪表板 UI
仪表板提供包含 **Open**(未处理)和 **Resolved**(已解决)问题的异常实时动态流,并可直接查看执行链路和 AI 建议的解决方案。
标签:AI风险缓解, DLL 劫持, Jira集成, JS文件枚举, MongoDB, RabbitMQ, Redis, Spring Boot, 人工智能, 全链路追踪, 分布式系统, 告警通知, 响应大小分析, 域名枚举, 大语言模型, 安全运营, 实时分析, 异常检测, 扫描框架, 搜索引擎查询, 故障排查, 根因分析, 消息队列, 用户模式Hook绕过, 请求拦截