PilotGo-plugin-llmops架构详解:Agent、Server与Web三大模块协同工作原理

PilotGo-plugin-llmops架构详解:Agent、Server与Web三大模块协同工作原理

【免费下载链接】PilotGo-plugin-llmopsLLM-assisted cluster fault analysis, inspection, and operation and maintenance management.项目地址: https://gitcode.com/openeuler/PilotGo-plugin-llmops

前往项目官网免费下载:https://ar.openeuler.org/ar/

PilotGo-plugin-llmops是一款基于LLM(大语言模型)的集群故障分析、检查与运维管理工具,通过Agent、Server与Web三大核心模块的协同工作,为用户提供智能化的运维解决方案。本文将深入解析这三个模块的架构设计与协作机制,帮助读者全面理解项目的技术实现。

Agent模块:智能化运维执行单元

Agent模块是系统的"智能执行终端",负责在集群节点上执行具体的运维任务。该模块采用分层设计,主要包含以下核心组件:

多Agent协同架构

agent/app/agent_orchestration/agents/目录下,系统实现了三类专业化Agent:

  • ops_agent:处理常规运维操作,通过agent.py实现核心逻辑,agent.yaml定义配置参数,mcp.json描述MCP服务器交互协议
  • qa_agent:专注于故障诊断与问答,knowledge.json存储领域知识库
  • template_agent:提供任务模板管理功能,支持自定义运维流程

核心能力支撑

Agent的功能实现依赖于多个支撑组件:

  • 配置管理agent/app/common/config/agent_config.py负责加载和解析系统配置
  • 向量数据库适配agent/app/common/vectordb_adapter/ragflow_vectordb.py实现与向量数据库的交互,支持知识库检索
  • LLM适配agent/app/llm_adapter/openai_adapter.py提供与OpenAI风格API的对接能力
  • 技能扩展agent/app/extensions/skill/目录下实现了k8s管理、技能发现等扩展能力,通过skill_checker.py进行技能验证

Server模块:系统中枢与数据处理中心

Server模块作为系统的"大脑",负责协调各组件工作、处理业务逻辑和管理数据流转。采用Go语言构建,遵循模块化设计原则。

启动流程与核心服务

Server的启动入口位于server/cli/server/main.go,主要启动流程包括:

  1. 配置初始化:config.InitConfig()加载系统配置
  2. 日志系统初始化:logger.Init()配置日志参数
  3. 数据库连接:db.InitDB()建立数据持久化通道
  4. 服务启动:service.StartServices()激活核心业务服务
  5. HTTP服务:http.RunServer()启动Web服务端点

HTTP服务实现位于server/http/server.go,通过RunServer()函数初始化Gin路由引擎,并与MCP服务器集成,提供/mcp/前缀的专用接口。服务停止时通过StopServer()函数实现优雅关闭。

业务服务架构

Server模块的业务逻辑通过server/service/目录下的多个子服务实现:

  • 知识管理服务knowledge/service.go处理知识库的CRUD操作
  • 项目管理服务project/service.go管理运维项目的生命周期
  • 拓扑服务topology/service.go维护集群资源拓扑结构
  • 审计服务audit/service.go记录系统操作日志

数据访问层通过server/service/internal/dao/目录下的文件实现,如knowledge.go处理知识库数据的持久化。

Web模块:用户交互与可视化平台

Web模块为用户提供直观的操作界面,采用Vue+TypeScript技术栈构建,位于web/目录下。

前端架构设计

  • 路由管理web/src/router/index.ts定义页面导航结构
  • API封装web/src/apis/目录下的knowledge.tsproject.ts等文件封装后端接口调用
  • 状态管理web/src/stores/project.ts使用Pinia管理应用状态
  • 组件设计web/src/components/project/目录下实现项目管理相关UI组件,如Knowledge.vueTopology.vue

核心页面功能

  • 概览页面web/src/views/Overview.vue展示系统运行状态
  • 项目管理web/src/views/Project.vue提供项目创建、配置和监控功能
  • 拓扑可视化:通过Topology.vue组件直观展示集群资源关系

三大模块协同工作流程

PilotGo-plugin-llmops的三个模块通过清晰的接口定义实现高效协同:

  1. 指令下发:用户通过Web界面(Web模块)发起运维任务,前端通过web/src/apis/中的接口将请求发送到Server
  2. 任务调度:Server模块接收请求后,由server/http/handler/目录下的处理器(如project.go)进行业务逻辑处理,调用相应的服务组件
  3. Agent执行:Server通过MCP协议与Agent通信,将任务指令下发到agent/app/agent_orchestration/中的具体Agent实例
  4. 结果反馈:Agent执行任务后,将结果通过MCP协议返回给Server,再由Server更新数据库并推送给Web前端展示

快速开始使用

要部署PilotGo-plugin-llmops系统,请按以下步骤操作:

  1. 克隆项目仓库:
git clone https://gitcode.com/openeuler/PilotGo-plugin-llmops
  1. 参考各模块目录下的说明文档配置和启动服务:
  • Agent模块:查看agent/README.md
  • Server模块:执行server/scripts/dev-env.sh配置开发环境
  • Web模块:在web/目录下运行yarn install && yarn dev启动前端服务

通过这种模块化的架构设计,PilotGo-plugin-llmops实现了功能解耦与灵活扩展,为LLM辅助的智能运维提供了坚实的技术基础。各模块既可以独立发展,又能协同工作,共同构建高效、智能的集群管理解决方案。

【免费下载链接】PilotGo-plugin-llmopsLLM-assisted cluster fault analysis, inspection, and operation and maintenance management.项目地址: https://gitcode.com/openeuler/PilotGo-plugin-llmops

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考