Prometheus 监控报告生成器
Prometheus Automated Inspection
项目简介
基于 Prometheus 的监控巡检工具,支持自动采集指标、生成可视化 HTML 报告,并提供 Web 管理后台(SQLite 持久化)进行数据源、指标、模板、定时任务、通知渠道的全生命周期管理。
效果展示
!xx !xx !xx !xx !xx !xx !xx !xx !xx快速开始
源码编译
- 克隆仓库:
git clone https://github.com/kubehan/PromAI.git
cd PromAI
- 安装依赖:
go mod download
cd frontend && npm install && cd ..
- 修改配置文件
config/config.yaml,设置 Prometheus 地址
- 构建前端 + 后端:
cd frontend && npm run build
cd ..
go build -o promai .
- 运行:
./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 文件。