Skip to content

d0zingcat/alert-message-center

Repository files navigation

Alert Message Center

Tech Stack Database

Alert Message Center 是一个现代化、企业级的告警路由与分发中心。它旨在将纷繁复杂的告警源(Prometheus, Grafana, 自建脚本等)与最终接收人解耦,通过 飞书机器人私聊 实现告警的精准触达。


📸 界面预览

1. 话题管理与个人信箱

支持通过 Topic (主题) 订阅模式分发告警,同时也提供 Personal Inbox (个人信箱) 功能,无需创建话题即可快速给自己推送消息。 Topics View

除了个人订阅外,您可以将 Topic 绑定至多个飞书群聊

Tip

群聊发现:请先将机器人邀请进入目标群聊。机器人入群后会触发自动感应,此时刷新管理页面即可在下拉菜单中看到并绑定该群组。

2. 群聊告警分发

支持将机器人加入飞书群聊,并将话题绑定到群聊中,实现告警的群组广播。 Group Binding Group Alert

3. 管理员看板 (Live Stats)

实时追踪全系统的告警负载、分发成功率以及各话题的热度。 Admin Dashboard


🔥 核心特性

  • 🚀 极简推送 (Personal Inbox): 每个用户拥有专属的 Webhook Token,直接向 /dm 接口发送即可在飞书收到私聊,零配置成本。
  • 📢 主题订阅 (Topic Model): 灵活的“发布-订阅”机制。告警发送至 Topic,系统自动分发给所有订阅成员。
  • 👥 群聊分发 (Group Support): 告警可同步分发至绑定的飞书群聊,支持机器人自动发现与解绑。
  • 🛡️ 权限与审计:
    • 话题创建需经过管理员审批。
    • 记录完整的 Alert Task 日志,实现发送链路可追溯。
  • 📊 实时看板: Grafana 风格的监控界面,直观展示系统运行健壮性。
  • 🔌 长连接模式 (WebSocket): 支持飞书开放平台长连接,无需公网 IP 或域名即可在内网环境接收事件回调。
  • ⚡ 高性能架构: 基于 Bun + Hono 的全异步架构,毫秒级分发延迟。

🛠️ 技术栈


🚀 快速开始

1. 飞书应用配置

  1. 登录 飞书开放平台 创建一个 企业自建应用
  2. 在“应用能力”中开启 机器人
  3. 在“权限管理”中申请 im:message:send_as_bot (以应用身份发送消息)。
  4. 获取 App IDApp Secret

2. 部署运行

# 安装依赖
bun install

# 配置环境变量 (apps/server/.env)
DATABASE_URL="postgresql://user:pass@localhost:5432/db"
FEISHU_APP_ID="cli_xxx"
FEISHU_APP_SECRET="xxx"
ADMIN_EMAILS="user1@example.com,user2@example.com" # 管理员列表

# 数据库推送/迁移
cd apps/server && bun run db:migrate:deploy

# 启动开发环境
bun run dev

3. Docker 部署

项目支持使用 Docker Compose 快速部署,且数据库会自动进行初始化与迁移

# 复制并填写环境变量
cp apps/server/.env.example .env

# 启动所有服务 (Postgres + Server + Web)
docker-compose up -d

🏗️ CI/CD

项目通过 GitHub Actions 实现了自动化流水线:

  • 自动化构建: 每次推送至 main 分支或提交 Pull Request 时,会自动触发 Docker 镜像构建。
  • 镜像仓库: 构建生成的镜像会同步推送到 GitHub Container Registry (GHCR)。
  • 镜像路径: ghcr.io/${USER}/alert-message-center (包含前后端的统一镜像)

📜 更新日志

所有版本的详细变更记录请查看 CHANGELOG.md


📡 Webhook 使用指南

1. 发送给个人 (Personal Inbox)

URL: POST /api/webhook/:your_token/dm Body:

{
  "msg_type": "text",
  "content": { "text": "这是一条私有告警" }
}

2. 发送到主题 (Topic)

URL: POST /api/webhook/:your_token/topic/:topic_slug Body: 同上。系统会自动根据该 Topic 的订阅列表进行广播。


📂 项目结构

  • apps/server: 核心 API 服务,处理 OAuth、Webhook 解析与飞书分发。
  • apps/web: 响应式管理后台。
  • docs/copilot-context.md: 为 AI 辅助编程提供的深层架构背景。

Created with ❤️ by the Alert Message Center Team.

About

X-like alert message subscription management tool.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages