Heimdallr 是一款基于 Spring AI 的智能告警中枢,负责统一接收各类 Webhook 告警,完成存储、清洗、归一化、转发编排,以及借助大模型(LLM)进行智能聚合、归类、摘要与自动化处置建议推送。
- 统一告警接收: 支持多种第三方系统(Prometheus、Grafana、Sentry、云厂商等)的 Webhook 告警
- 智能聚合分析: 基于 Spring AI 的语义相似度聚合,自动生成摘要与标签
- 灵活转发编排: 可配置的转发绑定,支持多目标推送与重试策略
- 智能决策支持: Agent + 知识库(RAG)自动匹配处理方案
- 安全可靠: 支持验签、去重、幂等、审计等企业级特性
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 第三方系统 │ │ 入站通道 │ │ 智能聚合 │
│ (Prometheus, │───▶│ (验签/去重/ │───▶│ (语义分析/ │
│ Grafana等) │ │ 归一化) │ │ 摘要生成) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ 转发绑定 │ │ Agent + │
│ (过滤/模板/ │ │ 知识库 │
│ 重试策略) │ │ (RAG/决策) │
└─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ 出站端点 │
│ (IM机器人/ │
│ 工单系统等) │
└─────────────────┘
- Java: 17+
- Node.js: 18+
- 数据库: PostgreSQL 12+ (推荐) 或 MySQL 8+
- Redis: 6+ (用于缓存和去重)
cd backend
mvn spring-boot:runcd frontend
npm install
npm run dev- 复制
backend/src/main/resources/application.yml.example为application.yml - 配置数据库连接和Redis连接
- 配置Spring AI相关参数(OpenAI、Azure OpenAI等)
- 对外暴露的 Webhook 接收入口
- 支持身份校验/验签、去重与归一化
- 可配置内容模板进行字段提取
- 用于对外推送的 Webhook 目标
- 支持多种鉴权方式(Header、Bearer、Basic)
- 可配置请求体模板
- 将入站通道收到的告警按规则过滤
- 支持多目标推送与重试策略
- 可配置并发度限制
- 基于时间窗与语义相似度归并
- 自动生成摘要与标签
- 支持升级策略(Alert Escalation)
- 基于 LLM + 工具函数的智能体
- 支持 RAG 检索增强生成
- 自动匹配处理方案
- Webhook 接收与验签
- 幂等去重与防抖
- 字段归一化与内容模板
- 结构化数据存储
- 转发绑定配置
- 过滤条件与模板渲染
- 多目标推送
- 重试策略与失败处理
- 语义相似度计算
- 时间窗聚合
- 自动摘要生成
- 标签分类
- Agent 配置与管理
- 知识库构建与同步
- RAG 检索与匹配
- 自动化处置建议
POST /api/v1/channels/inbound # 创建入站通道
GET /api/v1/channels/inbound # 获取通道列表
GET /api/v1/channels/inbound/{id} # 获取通道详情
PUT /api/v1/channels/inbound/{id} # 更新通道
DELETE /api/v1/channels/inbound/{id} # 删除通道POST /api/v1/endpoints # 创建出站端点
GET /api/v1/endpoints # 获取端点列表
GET /api/v1/endpoints/{id} # 获取端点详情
PUT /api/v1/endpoints/{id} # 更新端点
DELETE /api/v1/endpoints/{id} # 删除端点POST /api/v1/forward-bindings # 创建转发绑定
GET /api/v1/forward-bindings # 获取绑定列表
GET /api/v1/forward-bindings/{id} # 获取绑定详情
PUT /api/v1/forward-bindings/{id} # 更新绑定
DELETE /api/v1/forward-bindings/{id} # 删除绑定POST /hook/{channelKey} # 接收告警事件- 框架: Spring Boot 3.3.2+
- AI 集成: Spring AI
- 数据库: Spring Data JPA + Hibernate
- 安全: Spring Security
- 模板引擎: FreeMarker, Mustache
- 缓存: Redis
- 消息队列: Kafka/RabbitMQ (可选)
- 框架: React 18+
- UI 组件: Ant Design
- 状态管理: Zustand
- 路由: React Router
- 构建工具: Vite
- 类型检查: TypeScript
- 数据库: PostgreSQL (推荐) / MySQL
- 向量数据库: PGVector / Milvus / OpenSearch (可选)
- 缓存: Redis
- 监控: Micrometer + Prometheus
- 日志: Logback
- 身份验证: 支持 HMAC-SHA256 签名验证
- 访问控制: 来源 IP 白名单
- 数据加密: 敏感字段加密存储
- 审计日志: 完整的操作审计记录
- 速率限制: 防止 API 滥用
- 入站处理: 单实例 ≥ 500 RPS
- 转发延迟: 99p 延迟 < 1s (同地域内)
- 聚合延迟: 可配置,支持实时/批处理
- 可用性: 99.9%+
- 入站通道管理
- 出站端点管理
- 转发绑定配置
- 基础前端管理界面
- 语义相似度计算
- 时间窗聚合
- 摘要生成与标签
- Agent 配置与管理
- 知识库构建
- RAG 检索增强
- 审计日志
- 可观测性
- 性能优化
- 多租户支持
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- 项目主页: https://github.com/ungreat/Heimdallr
- 问题反馈: Issues
- 讨论交流: Discussions
感谢所有为这个项目做出贡献的开发者和用户!
Heimdallr - 守护你的告警世界,让智能决策触手可及。