Skip to content

wucb/opsr

Repository files navigation

OpsR:AI Agent 驱动的企业级基础环境运维平台

OpsR 是一个面向企业的基础环境运维工具,基于多 Agent 协同能力,覆盖 服务器与应用嗅探、数据库与中间件安装、运维监控与告警、自动化巡检与处置 等核心场景。

1. 产品定位

  • 目标用户:SRE、平台工程团队、运维团队、DBA、值班工程师。
  • 目标问题:降低环境交付与日常运维成本,缩短故障定位与恢复时间(MTTR),提升标准化与可审计性。
  • 核心价值
    • 让 AI Agent 协助执行重复性运维动作。
    • 将经验固化为可复用的 Playbook 与策略。
    • 通过统一观测、告警与自动化闭环实现“发现-分析-处置-复盘”。

2. 核心能力

2.1 服务器与应用嗅探

  • 自动发现主机、容器、K8s 工作负载与网络关系。
  • 识别应用栈(Java / Node / Python / Go)、端口、进程、依赖服务。
  • 输出环境拓扑、资源画像、风险项(弱配置、过期组件、暴露端口)。

2.2 数据库与中间件安装编排

  • 支持 MySQL / PostgreSQL / Redis / MongoDB / Kafka / RabbitMQ / Nginx 等安装模板。
  • 提供标准化安装向导与参数校验(版本、资源、网络、权限)。
  • 通过 Agent + 执行器完成自动安装、初始化、健康校验与回滚。

2.3 运维监控与告警

  • 接入主机、应用、数据库、中间件指标与日志。
  • 基于规则 + 异常检测进行告警降噪、聚合、去重与关联分析。
  • 支持多通道通知(邮件、企业微信、钉钉、Slack、Webhook)。

2.4 AI Agent 运维助手

  • 自然语言运维:
    • “帮我检查生产 Redis 延迟升高原因并给出修复建议”。
  • 自动执行 Runbook:
    • “当磁盘使用率 > 85% 时自动扩容或清理并提交变更记录”。
  • 提供变更预览、风险评估、人工审批、审计留痕。

2.5 自动化巡检与合规

  • 日常巡检(容量、备份、证书、慢查询、漏洞基线)。
  • 配置一致性检查与漂移检测。
  • 输出巡检报告、整改建议与闭环跟踪。

3. 技术架构(建议)

3.1 分层设计

  1. 接入层:Web 控制台、API Gateway、CLI。
  2. 控制层:任务编排、策略引擎、审批流、租户与权限。
  3. Agent 层
    • Discovery Agent(发现)
    • Install Agent(安装)
    • Monitor Agent(监控)
    • Incident Agent(故障处置)
  4. 执行层:SSH / WinRM / K8s Operator / Ansible Runner。
  5. 数据层:CMDB、时序库(Metrics)、日志库、审计库、知识库。

3.2 关键组件建议

  • 前端:React + TypeScript + Ant Design。
  • 后端:Go 或 Python(FastAPI)微服务。
  • 任务队列:Redis Streams / RabbitMQ / Kafka。
  • 观测体系:Prometheus + Grafana + Loki / ELK。
  • 规则与策略:OPA / 内置策略 DSL。
  • 审计与安全:RBAC、MFA、操作留痕、命令黑白名单。

4. 企业级能力要求

  • 多租户隔离与细粒度权限控制。
  • 高可用与水平扩展(控制面与执行面分离)。
  • 全链路审计、变更可追溯、可回放。
  • 灰度发布与回滚机制。
  • 支持私有化部署与离线环境。

5. MVP 版本范围(建议 8~12 周)

里程碑 1:环境发现 + 资产管理

  • 主机/应用自动发现、基础拓扑展示。
  • 资产标签与分组管理。

里程碑 2:数据库/中间件安装

  • 提供 2~3 个高频组件安装模板(如 MySQL / Redis / Nginx)。
  • 一键安装、验收检查、失败回滚。

里程碑 3:监控告警

  • 主机与组件核心指标采集。
  • 告警规则、通知渠道、告警历史。

里程碑 4:Agent 自动化处置

  • 预置 3~5 个自动化 Runbook。
  • 支持审批后执行与审计报告。

6. 典型使用流程

  1. 接入目标环境(凭据、网络、权限)。
  2. Discovery Agent 自动嗅探并生成资产拓扑。
  3. 按模板安装数据库/中间件并自动验收。
  4. 接入监控并启用告警策略。
  5. 告警触发后由 Incident Agent 进行分析与处置建议。
  6. 人工审批或自动执行后,输出复盘与审计报告。

7. 成功指标(KPI)

  • 环境交付时间降低 40% 以上。
  • 告警噪音减少 30% 以上。
  • MTTR 降低 35% 以上。
  • 标准变更自动化率达到 60% 以上。

8. 下一步建议

  • 先以 “发现 + 安装 + 监控 + 告警” 为最小闭环。
  • 将高频故障场景沉淀为 Runbook,逐步引入“审批后自动修复”。
  • 建立知识库与操作审计,为后续智能化优化提供数据基础。

9. 里程碑 1 当前开发进展

当前仓库已开始里程碑 1 的核心领域开发,提供一个可扩展的 Python 服务层(内存版)用于验证“发现 + 资产管理 + 基础拓扑”闭环:

  • src/opsr/models/asset.py:定义探测信号、资产模型、拓扑边、拓扑快照。
  • src/opsr/agents/discovery_agent.py:Discovery Agent 根据端口与进程信号执行资产识别与分类(database/middleware/server),并构建依赖边。
  • src/opsr/repositories/asset_repository.py:资产内存仓库,支持 upsert、查询、标签更新。
  • src/opsr/services/asset_inventory_service.py:里程碑 1 编排服务,封装发现流程、资产列表、资产打标、拓扑输出。
  • tests/test_milestone1.py:覆盖资产分类、标签持久化、拓扑依赖关系测试。

快速验证

python -m unittest discover -s tests -p "test_*.py"

9.1 里程碑 1 前端页面(Demo)

  • 新增 frontend/index.html,提供无登录的 Milestone 1 控制台页面。
  • 页面支持:指定 IP / CIDR 网段嗅探(可配置线程数)、资产列表打标。
  • 支持单页切换“列表分类展示 / 可视化拓扑展示”,并可按分类筛选资产。
  • 该页面当前基于前端内置逻辑模拟调用后端能力,用于快速验证交互流程。

本地运行:

python -m http.server 8080
# 浏览器访问 http://localhost:8080/frontend/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages