关于 Cribl MCP Server
Cribl MCP Server 将 Cribl API 操作提供给 AI 客户端,适用于管理 Cribl 部署的团队。它支持查询数据源和指标,以及读取、修改管道配置和重启 Worker Group。
主要功能
- 01列出 Worker Group 和 Fleet
- 02读取与设置 Pipeline 配置
- 03获取 Source 配置
- 04重启 Worker Group
- 05筛选查询系统指标
适用场景
- 01检查正在接收的数据源
- 02查看或调整数据处理管道
- 03重启 Worker Group 以应用更改
MCP 相关
该 MCP 服务向 MCP 客户端提供 Cribl 数据操作工具。通过配置 Cribl 地址和认证信息连接部署。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
10收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| productType | enum | 否 | 按产品类型(stream、edge、search、all)筛选组。默认为 stream。stream | edge | search | all |
详细介绍
Cribl MCP 服务
一个 Model Context Protocol(MCP)服务,可通过 Cribl API 实现 AI 交互。
此服务允许 AI 客户端发现并调用 Cribl 部署中的数据操作,并使用标准化的 MCP 工具。
如需详细文档,请参阅 docs/ 目录。以下是各文档文件的内容概述:
README.md(本文件):提供最高层级的介绍、快速入门说明、非常基础的示例,以及指向文档目录的链接。docs/configuration.md:专门介绍配置所需的环境变量,并说明身份验证模式。内容仅涉及设置。docs/usage.md:介绍如何运行服务(通过 npx 或本地开发命令),以及如何配置 MCP 客户端以连接服务。文中提供了调用工具的概念性示例。docs/overview.md:内容介于 README 和专门介绍配置与使用的文档之间。该文档详细介绍服务提供的身份验证方式,最重要的是,提供可用工具及其特定参数和输出的详细参考指南,以及未来将提供的工具。
开始使用
你可以选择本地安装并运行,也可以通过 npx 即时执行。使用 npx 无需安装 Git、依赖项或任何构建工具。两种方式都要求你安装 16 以上版本的 Node.js:
前置条件
运行此服务前,请确保满足以下条件:
- 已安装 Node.js(建议使用 16 或更高版本)
- 可访问互联网(以便从 npm 获取 MCP 服务包)
你可以从 https://nodejs.org 安装 Node.js。
验证你的设置:
node -v
npx -v
使用 npx 快速入门
CRIBL_BASE_URL=https://your.cribl.cloud.instance CRIBL_AUTH_TYPE=cloud CRIBL_CLIENT_ID=abc123 CRIBL_CLIENT_SECRET=secret npx @pebbletek/cribl-mcp
注意: 运行 npx 需要设置必要的环境变量(例如 CRIBL_BASE_URL 和身份验证详情),可以在环境中设置,也可以直接通过命令行传入,以确保服务能够成功连接。
有关高级 npx 用法配置(包括适用于 MCP 客户端的 JSON 和必需变量),请参阅 docs/usage.md。
本地开发
- 前往用于存放代码库的上级目录(克隆时会创建包含代码库的目录)。克隆代码库:
git clone https://github.com/pebbletek/cribl-mcp.git cd cribl-mcp - 安装依赖项:
npm install - 复制
.env.example文件并填入所需值:cp .env.example .env - 请参阅 usage.md > 本地开发,了解如何运行、构建和启动 MCP 服务
有关环境变量和身份验证的详情,请参阅 docs/configuration.md;有关如何运行服务,请参阅 docs/usage.md。
可用工具
此服务提供用于与 Cribl 交互的工具,包括:
- 列出 Worker Groups/Fleets
- 获取/设置 Pipeline 配置
- 获取 Source 配置
- 重启 Worker Groups
- 查询系统指标(支持筛选)
如需查看详细列表和使用说明,请参阅 docs/usage.md。
使用示例(提示词)
通过 MCP 客户端(例如 Claude Desktop)连接后,你可以使用自然语言提示词调用可用工具,与 Cribl 实例交互。以下是一些示例:
-
提示词:
what sources are we ingesting?
(你需要允许 MCP 客户端访问该工具)-
响应示例如下:
"要回答有关摄取来源的问题,我来检查一下你的 Cribl Stream 环境中可用的数据源。
<View result from cribl_getSources from Cribl (local)>我再检查一下你的 Cribl Stream 环境中配置了哪些管道:
<View result from cribl_getPipelines from Cribl (local)>根据我从你的 Cribl Stream 环境中获取的信息,以下是你正在摄取的来源:
活跃数据源
你的 Cribl Stream 实例配置了多个数据源,其中值得注意的有:- HTTP/HTTPS 来源:
HTTP 来源(端口 10080)
Cribl HTTP(端口 10200)
Splunk HEC(端口 8088)... - <等等>
管道配置
你的环境还配置了多个管道,用于处理特定类型的数据:- Cisco ASA 事件 - 筛选并抽样 Cisco ASA 安全日志
- Cisco eStreamer 数据 - 处理 Cisco eStreamer 数据
- Palo Alto 流量事件 - 筛选并抽样 Palo Alto 流量日志
- Windows 事件日志 - 处理 Windows 安全事件日志
这些管道表明,你正在摄取来自 Cisco ASA 防火墙、Cisco eStreamer(可能来自 Firepower/FTD 设备)、Palo Alto Networks 防火墙以及 Windows 安全事件的网络安全日志。
你想了解任何特定来源或管道配置的更多详细信息吗?" - HTTP/HTTPS 来源:
-
-
提示词:
what functions are processing the palo alto traffic?-
响应:
"我来详细检查一下处理 Palo Alto 流量的函数:
<View result from cribl_getPipelineConfig from Cribl (local)>以下是 Palo Alto 流量数据在你的 Cribl Stream 环境中的处理流程详解:
Palo Alto 流量管道函数
1. 初始筛选(Eval):- 筛选条件:sourcetype!='pan:traffic'
- 说明:短路处理(跳过)所有 sourcetype 不是 'pan' 的事件
- 该函数设为最终函数,意味着如果条件为真,该事件的处理就会停止
2. 字段提取(Regex Extract):
- 使用正则表达式匹配从原始事件中提取多个关键字段:
- __log_subtype:标识日志是开始记录还是结束记录
- __src_zone 和 __dest_zone:源安全区域和目标安全区域
- __transport:传输协议
- __action:执行的操作(允许、拒绝等)
- __bytes_in:接收的字节数
3. 筛选事件(Drop):
- 筛选条件:__log_subtype=='start'
- 说明:丢弃所有日志子类型为 'start' 的事件
- 原因(摘自注释):"丢弃 log_subtype=start 的事件,因为它们的应用分配通常不准确。log_subtype=end 的信息更可靠。"
- 等等。"
-
-
提示词:
please update the pipeline to include start events as well as end events.-
响应:
"我会通过修改配置来更新 Palo Alto 流量管道,使其同时包含“start”和“end”事件。现在来为你进行修改:
<View result from cribl_getPipelineConfig from Cribl (local)>现在,我会通过禁用丢弃函数并更新注释,来修改管道配置,使其保留“start”和“end”事件:
<View result from cribl_setPipelineConfig from Cribl (local)>现在重启工作组以应用这些更改: <View result from cribl_restartWorkerGroup from Cribl (local)> Palo Alto 流量管道已成功更新,现已包含“start”和“end”事件。以下是我所做的修改:
-
禁用了丢弃函数:
- 已禁用过滤掉 __log_subtype=='start' 事件的函数
- 这意味着现在会处理“start”和“end”两种会话事件
-
更新了注释:
- 将原先解释为何丢弃“start”事件的注释,改为说明现在会保留这两种事件类型,以便完整地查看流量
-
重启了 Worker Group:
- 通过重启 Cribl Stream worker group 应用更改
更新后的管道现在会处理 Palo Alto 防火墙发出的“start”和“end”事件,让您能够完整查看流量会话从开始到结束的全过程。所有其他处理函数均保持不变,包括:
- 提取关键流量属性的字段
- 对零字节流量和可信区域流量进行采样
- 移除不可靠的日期字段
您的 Palo Alto 流量数据现在将包含网络连接的完整生命周期,同时仍能受益于采样规则带来的效率提升。”
-
-
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。