# NeuroScale Ops Agent：基于Splunk的Kubernetes MLOps自治运维智能体

> 一个GPT-4o驱动的自治运维智能体，通过Splunk MCP服务器和RAG运行手册，实现Kubernetes ML平台的实时监控、异常检测和自愈工作流，支持模型故障、策略违规和成本飙升三种场景的自动修复。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-06T23:42:22.000Z
- 最近活动: 2026-06-07T00:00:04.695Z
- 热度: 167.7
- 关键词: MLOps, Kubernetes, Splunk, 自治运维, AIOps, 智能体, RAG, MCP, 自愈工作流, KServe, ArgoCD, 成本优化
- 页面链接: https://www.zingnex.cn/forum/thread/neuroscale-ops-agent-splunkkubernetes-mlops
- Canonical: https://www.zingnex.cn/forum/thread/neuroscale-ops-agent-splunkkubernetes-mlops
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者：** Sodiq Jimoh (https://github.com/sodiq-code)
- **来源平台：** GitHub
- **原始标题：** neuroscale-ops-agent - Splunk Agentic Ops for Kubernetes/MLOps
- **原始链接：** https://github.com/sodiq-code/neuroscale-ops-agent
- **发布时间：** 2026年6月6日
- **开源协议：** MIT License
- **比赛背景：** Splunk Agentic Ops Hackathon 2026
- **参赛赛道：** Platform & Developer Experience

## 项目背景与动机

在现代MLOps实践中，Kubernetes已成为部署机器学习模型的标准平台。然而，这种复杂性也带来了运维挑战：

- **监控碎片化：** 模型服务、成本、策略执行等数据分散在不同系统
- **故障响应慢：** 从发现问题到人工介入往往需要数分钟甚至更长
- **知识孤岛：** 运维知识存在于个人经验中，缺乏标准化和可传承
- **成本失控：** 资源过度配置和闲置导致云成本飙升

NeuroScale Ops Agent的诞生旨在解决这些问题。它基于一个核心理念：**将Splunk作为"单一 pane of glass"（单一视图），让AI智能体基于实时数据和标准化运行手册自主运维。**

## 系统架构概览

### 整体架构

```
K8s Cluster (k3d)
  ├── KServe (模型推理服务)
  ├── Kyverno (策略引擎)      ──► splunk-integration/k8s_to_splunk.py
  ├── OpenCost (成本监控)           (4线程，30秒间隔，HEC)
  └── ArgoCD (GitOps)                    │
                                    Splunk Index: neuroscale
                                    ├── 告警 (SPL阈值)
                                    └── MCP服务器 ──► agent/core.py (GPT-4o)
                                                           │
                                                ┌───────────┼───────────┐
                                                ▼           ▼           ▼
                                          runbook_rag  splunk_client  k8s_ops
                                                │           │           │
                                                └──── workflows/ ───────┘
                                                          │
                                                    ui/app.py (Streamlit)
```

### 数据流

1. **采集层：** Kubernetes事件通过4线程并发方式实时流入Splunk（HTTP Event Collector）
2. **存储层：** Splunk的`neuroscale`索引统一存储模型、成本、策略、GitOps四类数据
3. **分析层：** SPL查询和Splunk告警识别异常模式
4. **决策层：** GPT-4o智能体通过MCP协议查询Splunk数据，结合RAG运行手册做出决策
5. **执行层：** 自动执行修复操作或提供人工审核建议

## 核心功能组件

### 1. 实时遥测采集

`splunk-integration/k8s_to_splunk.py`实现了高效的数据转发：

- **并发设计：** 4个并发线程处理不同类型的K8s事件
- **采集间隔：** 30秒轮询一次
- **传输协议：** Splunk HEC（HTTP Event Collector）
- **数据结构化：** 四类数据源分别标记：
  - `neuroscale:models` - KServe推理服务状态
  - `neuroscale:costs` - OpenCost成本数据
  - `neuroscale:policies` - Kyverno策略执行结果
  - `neuroscale:argocd` - ArgoCD同步状态

### 2. SPL驱动的异常检测

系统利用Splunk强大的SPL（Search Processing Language）进行多维度监控：

| 监控场景 | SPL查询示例 | 告警阈值 |
|----------|-------------|----------|
| 模型健康 | `index=neuroscale sourcetype=neuroscale:models` | 错误率>5%持续5分钟 |
| 成本异常 | `index=neuroscale sourcetype=neuroscale:costs` | 每小时>$50 |
| 策略违规 | `index=neuroscale sourcetype=neuroscale:policies` | BLOCK动作触发 |
| GitOps状态 | `index=neuroscale sourcetype=neuroscale:argocd` | 同步失败 |

### 3. MCP连接的智能体推理

项目深度集成Splunk MCP（Model Context Protocol）服务器：

- **实时数据查询：** 智能体在推理过程中可动态查询Splunk数据
- **工具调用：** 14个函数调用工具支持复杂工作流
- **上下文感知：** 每次决策都基于最新的集群状态

### 4. RAG运行手册系统

`tools/runbook_rag.py`实现了基于关键词的检索增强生成：

- **知识库：** 从NeuroScale Platform继承的标准化运行手册
- **检索机制：** 关键词匹配提取相关操作步骤
- **决策依据：** 每个智能体行动都基于文档化流程，避免幻觉

### 5. 自治修复工作流

项目实现了三个核心自愈工作流：

#### 工作流1：模型故障恢复（workflows/model_down.py）

**触发条件：** KServe模型错误率>5%持续5分钟

**执行步骤：**
1. 从Splunk拉取模型遥测数据
2. 检查ArgoCD同步状态
3. 通过RAG检索运行手册步骤
4. 重启InferenceService
5. 轮询检查健康状态（5次重试×30秒间隔）
6. 将解决事件写回Splunk审计

#### 工作流2：策略违规修复（workflows/policy_violation.py）

**触发条件：** Kyverno BLOCK动作

**执行步骤：**
1. 识别违规资源和策略
2. 检索合规运行手册
3. 为资源添加审核注释
4. 触发ArgoCD同步恢复期望状态
5. 验证60秒内无新违规

#### 工作流3：成本飙升处理（workflows/cost_spike.py）

**触发条件：** 每小时命名空间成本>$50

**执行步骤：**
1. 从Splunk拉取OpenCost详细分解
2. 识别最高支出命名空间
3. 检查工作负载是否过度配置
4. 提示用户批准后缩减副本数
5. 预测新成本并记录到Splunk

## 智能体工具集（11个工具）

| 工具名称 | 功能描述 |
|----------|----------|
| `splunk_query` | 对neuroscale索引执行任意SPL查询 |
| `get_model_status` | 通过Splunk查询KServe推理服务健康状态 |
| `get_cost_breakdown` | 从OpenCost→Splunk获取每小时命名空间成本 |
| `check_policy_violations` | 从Splunk获取Kyverno阻止和警告 |
| `get_argocd_status` | 从Splunk获取GitOps同步状态 |
| `get_runbook_guidance` | 从平台运行手册RAG检索指导 |
| `restart_inference_service` | 对KServe执行kubectl rollout restart |
| `trigger_argocd_sync` | 强制同步ArgoCD应用 |
| `scale_deployment` | 对任意命名空间/部署执行kubectl scale |
| `get_cluster_events` | 获取任意命名空间的近期K8s事件 |
| `send_splunk_event` | 将智能体操作写回Splunk用于审计追踪 |

## Splunk AI能力使用

该项目充分利用了Splunk提供的多项AI能力：

| 能力 | 实现方式 | 比赛目标 |
|------|----------|----------|
| **Splunk MCP服务器** | 智能体通过MCP协议实时查询Splunk数据 | 最佳MCP服务器使用奖($1K) |
| **Splunk托管模型** | `tools/splunk_hosted_models.py` - Foundation-Sec（安全分类）、Cisco深度时间序列（预测）、GPT-OSS-120B（SPL生成） | 最佳托管模型使用奖($1K) |
| **Python AI SDK** | `tools/splunk_client.py` - 基于SDK的REST查询、索引管理、SPL执行 | 最佳开发工具使用奖($1K) |
| **HEC采集** | `splunk-integration/k8s_to_splunk.py` - 4线程结构化JSON事件 | 核心能力 |
| **SPL查询** | 模型健康、成本分解、策略违规、ArgoCD状态 | 核心能力 |
| **告警Webhook** | `splunk-integration/alert-actions/trigger_agent.py` - Splunk告警触发智能体 | AI for Splunk Apps模式 |

## 快速开始

### 演示模式（无需基础设施）

项目提供了完整的演示模式，2分钟即可体验：

```bash
git clone https://github.com/sodiq-code/neuroscale-ops-agent
cd neuroscale-ops-agent
bash scripts/setup.sh
DEMO_MODE=true streamlit run ui/app.py
```

访问 `http://localhost:8501` 即可与智能体交互。演示模式下，所有集群和Splunk调用返回真实感合成数据，但完整的智能体推理流程仍然执行。

### 生产部署

#### 前置条件

- Python 3.11+
- 配置好的`kubectl`（或使用`DEMO_MODE=true`）
- 启用HEC的Splunk实例
- OpenAI API密钥

#### 安装步骤

```bash
# 克隆和安装
git clone https://github.com/sodiq-code/neuroscale-ops-agent
cd neuroscale-ops-agent
bash scripts/setup.sh

# 配置环境变量
cp .env.example .env
# 编辑.env填入你的密钥
```

关键环境变量：
```env
OPENAI_API_KEY=sk-...
SPLUNK_HOST=localhost
SPLUNK_HEC_TOKEN=your-hec-token
DEMO_MODE=false
```

#### 启动数据转发器

```bash
# 将K8s事件流式传输到Splunk（每30秒）
python3 splunk-integration/k8s_to_splunk.py
```

#### 启动智能体UI

```bash
streamlit run ui/app.py
# → http://localhost:8501
```

## 技术亮点与创新

### 1. 真实平台扩展

与许多hackathon项目不同，NeuroScale Ops Agent不是从零构建的玩具演示，而是基于真实存在的[NeuroScale Platform](https://github.com/sodiq-code/neuroscale-platform)进行扩展。该平台原本就包含：

- ArgoCD GitOps
- KServe模型服务
- Kyverno策略执行
- OpenCost监控
- Backstage开发者门户
- k3d本地集群

这种"真实平台+AI增强"的模式使项目具有更强的实用价值。

### 2. MCP协议的创新应用

项目展示了MCP（Model Context Protocol）在运维场景的强大潜力：

- **实时数据接入：** 智能体不再是"离线"的，而是可以实时查询最新状态
- **工具链整合：** Splunk的数据分析能力与K8s的操作能力无缝结合
- **可扩展架构：** 新的数据源和工具可以轻松接入MCP框架

### 3. 人机协作设计

项目没有追求"完全无人值守"，而是在关键决策点保留了人工审核：

- **成本缩减：** 需要用户批准后才会执行缩容操作
- **透明度：** Streamlit UI展示智能体的推理过程和决策依据
- **手动覆盖：** 操作员可以随时介入和覆盖自动决策

这种设计在自治性和可控性之间取得了平衡。

### 4. 审计追踪

每个智能体操作都会被写回Splunk，形成完整的审计日志：

- **可追溯性：** 可以追踪任何变更的决策原因和执行者
- **合规性：** 满足企业审计要求
- **学习改进：** 历史数据可用于优化智能体策略

### 5. 演示友好

项目提供了完善的演示支持：

- **演示模式：** 无需任何基础设施即可体验完整功能
- **合成数据：** 演示模式下返回真实感数据
- **快速启动：** 2分钟即可运行

这种设计对于hackathon评审和企业POC都非常有价值。

## 与相关工作的比较

| 特性 | 传统监控工具 | 通用AIOps平台 | NeuroScale Ops Agent |
|------|-------------|--------------|---------------------|
| 数据源 | 单一/有限 | 多源但分散 | Splunk统一索引 |
| 异常检测 | 规则/简单ML | 复杂ML | SPL+智能体推理 |
| 故障修复 | 人工/半自动 | 预定义剧本 | RAG指导+LLM决策 |
| 知识管理 | 文档/经验 | 配置库 | 结构化运行手册 |
| 成本优化 | 事后报告 | 预算告警 | 实时自愈+预测 |
| 可解释性 | 有限 | 中等 | 完整推理链 |

## 局限与未来方向

### 当前局限

- **依赖Splunk：** 核心功能深度绑定Splunk生态
- **OpenAI依赖：** 当前使用GPT-4o，成本较高
- **单集群：** 尚未支持多集群管理
- **有限的工作流：** 目前只有3个自愈工作流

### 潜在改进

- **模型灵活性：** 支持本地/开源LLM，降低依赖和成本
- **多集群支持：** 扩展到大规模多集群环境
- **更多工作流：** 覆盖更多运维场景（如备份、升级、安全响应）
- **预测性维护：** 从"响应式"转向"预测式"运维
- **自然语言交互：** 增强Streamlit UI的对话能力

## 实用价值与应用场景

### 适用场景

1. **中小规模MLOps平台：** 需要自动化运维但无法负担大型AIOps平台的团队
2. **成本敏感环境：** 需要严格控制云资源成本的组织
3. **标准化运维：** 希望将运维知识沉淀为可执行代码的团队
4. **Splunk现有用户：** 已投资Splunk生态，希望扩展AI能力

### 不适用场景

1. **超大规模集群：** 可能需要更专业的分布式运维方案
2. **非K8s环境：** 项目专为Kubernetes设计
3. **无Splunk环境：** 需要部署Splunk作为前置条件

## 对行业的启示

NeuroScale Ops Agent展示了AI运维（AIOps）的演进方向：

1. **从监控到行动：** 不仅发现问题，更要自动解决问题
2. **知识驱动：** 将运维专家经验编码为可执行的运行手册
3. **平台整合：** 利用Splunk等成熟平台作为数据中枢，而非重建数据管道
4. **人机协作：** AI辅助而非替代人类操作员，关键决策保留人工审核
5. **可解释性优先：** 每个决策都可追溯、可解释、可审计

## 总结

NeuroScale Ops Agent是一个精心设计的MLOps自治运维解决方案。它巧妙地结合了：

- **Splunk的数据中枢能力**
- **MCP协议的实时交互能力**
- **GPT-4o的推理决策能力**
- **K8s的操作执行能力**
- **RAG的知识管理能力**

这种组合创造了一种新的运维范式：智能体不再是孤立的工具，而是与现有平台深度集成、持续学习、自主行动的"数字运维工程师"。

对于正在构建或优化MLOps平台的团队，这个项目提供了极佳的参考实现。其代码结构清晰、文档完善、演示友好，是一个高质量的开源项目。

项目地址：https://github.com/sodiq-code/neuroscale-ops-agent
