Skip to content

ungreat/Heimdallr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Heimdallr - 智能告警中枢

License Java Spring Boot React

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:run

前端启动

cd frontend
npm install
npm run dev

配置说明

  1. 复制 backend/src/main/resources/application.yml.exampleapplication.yml
  2. 配置数据库连接和Redis连接
  3. 配置Spring AI相关参数(OpenAI、Azure OpenAI等)

📚 核心概念

入站通道 (Inbound Channel)

  • 对外暴露的 Webhook 接收入口
  • 支持身份校验/验签、去重与归一化
  • 可配置内容模板进行字段提取

出站端点 (Outbound Endpoint)

  • 用于对外推送的 Webhook 目标
  • 支持多种鉴权方式(Header、Bearer、Basic)
  • 可配置请求体模板

转发绑定 (Forward Binding)

  • 将入站通道收到的告警按规则过滤
  • 支持多目标推送与重试策略
  • 可配置并发度限制

智能聚合 (Intelligent Aggregation)

  • 基于时间窗与语义相似度归并
  • 自动生成摘要与标签
  • 支持升级策略(Alert Escalation)

Agent 与知识库

  • 基于 LLM + 工具函数的智能体
  • 支持 RAG 检索增强生成
  • 自动匹配处理方案

🔧 主要功能

1. 告警接收与处理

  • Webhook 接收与验签
  • 幂等去重与防抖
  • 字段归一化与内容模板
  • 结构化数据存储

2. 转发与编排

  • 转发绑定配置
  • 过滤条件与模板渲染
  • 多目标推送
  • 重试策略与失败处理

3. 智能聚合

  • 语义相似度计算
  • 时间窗聚合
  • 自动摘要生成
  • 标签分类

4. 智能决策

  • Agent 配置与管理
  • 知识库构建与同步
  • RAG 检索与匹配
  • 自动化处置建议

📖 API 文档

入站通道管理

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}   # 删除绑定

Webhook 接收

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%+

🚧 开发计划

M1 - 基础功能 (已完成)

  • 入站通道管理
  • 出站端点管理
  • 转发绑定配置
  • 基础前端管理界面

M2 - 智能聚合 (进行中)

  • 语义相似度计算
  • 时间窗聚合
  • 摘要生成与标签

M3 - 智能决策

  • Agent 配置与管理
  • 知识库构建
  • RAG 检索增强

M4 - 企业级特性

  • 审计日志
  • 可观测性
  • 性能优化
  • 多租户支持

🤝 贡献指南

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

📞 联系我们

🙏 致谢

感谢所有为这个项目做出贡献的开发者和用户!


Heimdallr - 守护你的告警世界,让智能决策触手可及。

About

Heimdallr 是一款基于 Spring AI 的智能告警中枢,负责统一接收各类 Webhook 告警,完成存储、清洗、归一化、转发编排,以及借助大模型(LLM)进行智能聚合、归类、摘要与自动化处置建议推送。项目支持可配置的 Agent 与知识库(RAG),实现从“接收—理解—决策—推送”的闭环。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages