Skip to content

kubehan/PromAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prometheus 监控报告生成器

Prometheus Automated Inspection

项目简介

这是一个基于 Prometheus 的监控报告自动生成工具,可以自动收集、分析指标数据并生成可视化的 HTML 报告。该工具旨在简化监控数据的收集和展示过程,帮助运维人员快速了解系统状态。

报告样式

报告样式 report report

功能特点

  • 支持多种指标类型的监控(基础资源、Kubernetes、应用服务等)
  • 自动计算指标状态和告警级别(正常、警告、严重)
  • 生成包含数据表格和图表的 HTML 报告
  • 支持自定义指标阈值和标签别名
  • 灵活的配置文件系统
  • 支持多维度数据分析和展示
  • 自动计算关键统计指标(最大值、最小值、平均值等)
  • 美观的可视化界面,支持响应式布局

系统要求

  • Go 1.22 或更高版本
  • 可访问的 Prometheus 服务器
  • 现代浏览器(支持 HTML5 和 JavaScript)
  • 至少 512MB 可用内存
  • 50MB 可用磁盘空间

配置说明

配置文件采用 YAML 格式,主要包含以下几个部分:

Prometheus 配置

config/config.yaml 中配置 Prometheus 服务器地址和监控指标。

prometheus_url: "http://prometheus.k8s.kubehan.cn"

metric_types:
  - type: "基础资源使用情况"
    metrics:
      - name: "CPU使用率"
        description: "节点CPU使用率统计"
        query: "100 - (avg by(instance) (irate(node_cpu_seconds_total{mode='idle'}[5m])) * 100)"
        trend_query: "100 - (avg by(instance) (irate(node_cpu_seconds_total{mode='idle'}[5m])) * 100)[6h:5m]"
        threshold: 80
        unit: "%"
        labels:
          instance: "节点"
      # 其他指标...

指标说明

每个指标可以配置以下内容:

  • name: 指标名称
  • description: 指标描述
  • query: 用于表格显示的即时查询
  • trend_query: 用于图表显示的趋势查询
  • threshold: 指标阈值
  • unit: 指标单位
  • labels: 标签别名
  • threshold_type: 阈值比较方式: "greater", "less", "equal", "greater_equal", "less_equal"
greater: 表示值必须大于阈值才被视为 "critical" 状态。
greater_equal: 表示值必须大于或等于阈值才被视为 "critical" 状态。
less: 表示值必须小于阈值才被视为 "normal" 状态。
less_equal: 表示值必须小于或等于阈值才被视为 "normal" 状态。
equal: 表示值必须等于阈值才被视为 "normal" 状态。

快速开始

源码编译

  1. 克隆仓库:

    git clone https://github.com/kubehan/PromAI.git
    cd PromAI
  2. 安装依赖:

    go mod download
  3. 修改配置文件:

    cp config/config.yaml config/config.yaml
    # 编辑 config.yaml 设置 Prometheus 服务器地址和监控指标
  4. 构建并运行:

    go build -o PromAI main.go
    ./PromAI -config config/config.yaml
  5. 查看报告: 生成的报告将保存在 reports 目录下。

Docker 部署

docker run -d --name PromAI -p 8091:8091 kubehan/promai:latest

Kubernetes 部署

kubectl apply -f deploy/deployment.yaml

使用示例

在配置文件中添加所需的监控指标后,运行程序将生成 HTML 报告。报告中将包含各个指标的当前状态、历史趋势图表以及详细的表格数据。

  1. 修改配置文件中的Prometheus地址为自己的地址
  2. 修改配置文件中的指标
  3. 运行程序 默认运行在8091端口,通过访问http://localhost:8091/getreport 查看报告
go build -o PromAI main.go
./PromAI -config config/config.yaml

Prometheus Automated Inspection 未来新功能规划列表

  1. 多数据源支持
  2. 自定义仪表板
  3. 历史数据存储
  4. 智能告警
  5. API 接口
  6. 用户角色和权限管理
  7. 数据导出功能
  8. 集成 CI/CD 流程
  9. 可视化组件库
  10. 多语言支持
  11. 移动端支持
  12. 社区和插件支持
  13. 性能优化
  14. 用户反馈和建议收集
  15. xxx

贡献

欢迎任何形式的贡献!请提交问题、建议或拉取请求。

贡献者

kubehan
Kubehan
wevsmy
Wilson_wu
liaofan-0710
了凡

许可证

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

About

基于Prometheus数据源的巡检服务

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •