日志分析桥接服务

实现Claude Desktop与Splunk管理端点的安全实时连接,通过自然语言处理进行复杂的日志分析。

  • by EmilWijayasekara
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 EmilWijayasekara/splunk-mcp-server-with-claude-desktop

使用说明

Splunk MCP桥

该项目实现了一个模型上下文协议(MCP)桥,用于连接 克劳德桌面版 到一个 Splunk管理端点。它利用定制设计的Node.js JSON-RPC中继来绕过Splunk Port 8089上的传统协议限制,实现安全、实时的AI驱动日志分析。

项目概述

该项目的核心目标是将Claude Desktop转变为Splunk搜索头的功能扩展。通过桥接这两个平台,用户可以使用自然语言而不是手动SPL编码来执行复杂的数据操作,如多指标相关性分析和自动根本原因识别。

主要特点

  • 自定义Node.js中继: 定制的JavaScript桥(splunk_mcp_bridge.mjs)它将来自Claude的JSON-RPC请求重构为Splunk兼容的REST命令。

  • 安全的“零信任”架构: 使用Nginx代理管理器为SSL/TLS终止和细粒度、零继承IAM角色实施强化的安全边界(mcp_user).

  • 加密令牌身份验证: 使用高熵加密的受众令牌(范围为 mcp)以确保只有经过验证的AI实例才能访问数据湖。

  • Docker化部署: Splunk Enterprise核心和Nginx环境都是容器化的,以实现一致的部署和完全的服务隔离。

系统架构

该实现由三个主要环境组成:

  1. 当地环境: 托管Claude Desktop和Node.js网桥。

  2. 网络周长: 通过Cloudflare DNS和Nginx代理管理器进行管理,以确保HTTPS流量的安全。

  3. 远程云(DigitalOcean): 一个高性能的Ubuntu droplet(8GB RAM,160GB磁盘),承载着停靠的Splunk Enterprise内核。

实施步骤

1.基础设施设置

  • 提供高性能的Ubuntu服务器。

  • 部署Docker和Portainer进行容器编排。

  • 将Splunk Enterprise初始化为具有持久存储映射的无状态容器。

2.Splunk配置

  • 安装 Splunk MCP服务器 和 SPL的Splunk AI助手 Splunkbase的附加组件。

  • 配置 mcp_user 具有“最小权限”执行设置和零继承的角色。

  • 生成一个 加密令牌 强制受众范围设置为 mcp.

3.安全与网络

  • 部署 Nginx代理管理器 将内部Docker网络映射到安全域。

  • 对所有传输数据实施TLS 1.3加密。

4.客户集成

  • 配置克劳德桌面 config.json 启动 splunk_mcp_bridge.mjs 继电器。

  • 通过确认Claude识别握手来验证握手 splunk-mcp-server 连接器。

未来工程

  • 主动警报: 配置Claude以自动监控阈值,并在触发事件时提供即时根本原因分析。

  • 自动修复: 授予网桥“写入”功能,以允许实时威胁阻止(例如,更新防火墙黑名单)。

  • 集装箱网关: 包装 .mjs 桥接作为sidecar服务,便于企业范围内的部署。