Profile
Back to NewsBack
GitHub Trending 1 min
Reader Mode
kubehan/PromAI: 一款轻量级、开箱即用的自动化巡检工具,基于 Prometheus 数据源,专为多场景监控而设计。  核心特色:  🔄 多数据源支持:通过 datasource 参数动态切换不同 Prometheus 集群 📊 自动生成 HTML 报告:集成表格与可视化图表,直观呈现指标趋势 🤖 机器

kubehan/PromAI: 一款轻量级、开箱即用的自动化巡检工具,基于 Prometheus 数据源,专为多场景监控而设计。 核心特色: 🔄 多数据源支持:通过 datasource 参数动态切换不同 Prometheus 集群 📊 自动生成 HTML 报告:集成表格与可视化图表,直观呈现指标趋势 🤖 机器

3 hours ago

Prometheus 监控报告生成器

Prometheus Automated Inspection

项目简介

基于 Prometheus 的监控巡检工具,支持自动采集指标、生成可视化 HTML 报告,并提供 Web 管理后台(SQLite 持久化)进行数据源、指标、模板、定时任务、通知渠道的全生命周期管理。

效果展示

!xx !xx !xx !xx !xx !xx !xx !xx !xx

快速开始

源码编译

  1. 克隆仓库:
git clone https://github.com/kubehan/PromAI.git
   cd PromAI
  1. 安装依赖:
go mod download
   cd frontend && npm install && cd ..
  1. 修改配置文件 config/config.yaml,设置 Prometheus 地址
  1. 构建前端 + 后端:
cd frontend && npm run build 
   cd ..
   go build -o promai .
  1. 运行:
./promai

首次运行自动从 config/config.yaml 导入种子数据到 SQLite。

访问地址

| 用途 | 地址 | |------|------| | 首页 | http://localhost:8091/promai | | 健康大屏(BI) | http://localhost:8091/promai/bi | | 巡检报告 | http://localhost:8091/promai/reports | | 触发巡检 | http://localhost:8091/promai/inspection/ |

Helm 部署

helm install promai ./deploy/helm/promai \
  --set image.repository=promai \
  --set image.tag=v2.0.3

升级:

helm upgrade promai ./deploy/helm/promai \
  --set image.repository=promai \
  --set image.tag=v2.0.3

常用配置:

env:
  reportUrl: "https://promai.example.com"
bootstrapSql:
  enabled: true
  content: |
    -- 自定义初始化 SQL

说明:

  • env.reportUrl 用于生成报告外链,推荐配置成外部可访问地址。
  • deploy/helm/promai/files/metric_types_seed.sql 是默认初始化 SQL。
  • 如果需要自定义初始化内容,直接改 bootstrapSql.content 或替换 files/metric_types_seed.sql

管理后台功能

| 页面 | 功能 | |------|------| | 控制台 | 系统概览,数据源/报告/模板/通知数量统计 | | 健康大屏 | ECharts 图表展示各数据源健康评分、指标分布、告警统计 | | 数据源管理 | 添加/编辑/删除 Prometheus 数据源,绑定巡检模板 | | 指标配置 | 管理指标类型和 PromQL 配置,按数据源筛选,PromQL 验证 | | 巡检模板 | 创建巡检模板,绑定指标,支持指标级别覆盖(不影响全局) | | 通知渠道 | 配置钉钉、企业微信、飞书、邮件等通知方式 | | 定时任务 | Cron 表达式定时巡检,选择通知渠道自动告警推送 | | 触发巡检 | 手动触发巡检,支持选择数据源、指标、模板 | | 报告管理 | 查看/删除历史巡检报告 | | 系统设置 | 项目名称、调度 Cron、报告清理策略等 |

配置说明(config/config.yaml)

仅用于首次启动时的种子数据导入,后续所有配置通过管理后台 UI 操作,持久化在 SQLite。

prometheus_url: "http://prometheus.k8s.kubehan.cn"
project_name: "PromAI"
cron_schedule: "00 08,17   *"

data_sources: - name: "cluster1" url: "http://prometheus.cluster1.example.com"

多数据源

通过管理后台「数据源管理」页面添加,每个数据源可独立绑定不同的巡检模板。

已实现的核心功能

  • ✅ 多数据源支持
  • ✅ SQLite 持久化(GORM)
  • ✅ 巡检模板系统(模板指标覆盖)
  • ✅ 智能告警(警告、严重两级告警)
  • ✅ 管理后台 SPA(Vue 3 + Element Plus)
  • ✅ 健康大屏(ECharts)
  • ✅ 定时巡检(Cron 表达式)
  • ✅ 多渠道通知(钉钉、企微、飞书、邮件)
  • ✅ 数据导出(HTML 报告)
  • ✅ PromQL 在线验证
  • ✅ 响应式设计

许可证

该项目采用 MIT 许可证,详细信息请查看 LICENSE 文件。

Chat with me