mcpField
C
Cribl MCP Server

Cribl MCP Server

本地服务
github.com/pebbletek云与基础设施577 周前更新

关于 Cribl MCP Server

Cribl MCP Server 将 Cribl API 操作提供给 AI 客户端,适用于管理 Cribl 部署的团队。它支持查询数据源和指标,以及读取、修改管道配置和重启 Worker Group。

主要功能

  1. 01列出 Worker Group 和 Fleet
  2. 02读取与设置 Pipeline 配置
  3. 03获取 Source 配置
  4. 04重启 Worker Group
  5. 05筛选查询系统指标

适用场景

  1. 01检查正在接收的数据源
  2. 02查看或调整数据处理管道
  3. 03重启 Worker Group 以应用更改

MCP 相关

该 MCP 服务向 MCP 客户端提供 Cribl 数据操作工具。通过配置 Cribl 地址和认证信息连接部署。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cribl": {
"command": "npx",
"args": [
"-y",
"@pebbletek/cribl-mcp"
],
"env": {
"CRIBL_BASE_URL": "<CRIBL_BASE_URL>",
"CRIBL_AUTH_TYPE": "<CRIBL_AUTH_TYPE>",
"CRIBL_CLIENT_ID": "<CRIBL_CLIENT_ID>",
"CRIBL_CLIENT_SECRET": "<CRIBL_CLIENT_SECRET>"
}
}
}
}
启动命令npx -y @pebbletek/cribl-mcp
需要配置的环境变量
CRIBL_BASE_URL
CRIBL_AUTH_TYPE密钥
CRIBL_CLIENT_ID
CRIBL_CLIENT_SECRET密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@pebbletek/cribl-mcp

工具

10

收录的工具列表 · 更新于 3 周前

参数类型必填说明
productTypeenum否按产品类型(stream、edge、search、all)筛选组。默认为 stream。stream | edge | search | all

详细介绍

Cribl MCP 服务

npm version License

一个 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。

本地开发
  1. 前往用于存放代码库的上级目录(克隆时会创建包含代码库的目录)。克隆代码库:
    git clone https://github.com/pebbletek/cribl-mcp.git
    cd cribl-mcp
    
  2. 安装依赖项:
    npm install
    
  3. 复制 .env.example 文件并填入所需值:
    cp .env.example .env
    
  4. 请参阅 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 实例配置了多个数据源,其中值得注意的有:

      1. HTTP/HTTPS 来源:
        HTTP 来源(端口 10080)
        Cribl HTTP(端口 10200)
        Splunk HEC(端口 8088)...
      2. <等等>

      管道配置
      你的环境还配置了多个管道,用于处理特定类型的数据:

      1. Cisco ASA 事件 - 筛选并抽样 Cisco ASA 安全日志
      2. Cisco eStreamer 数据 - 处理 Cisco eStreamer 数据
      3. Palo Alto 流量事件 - 筛选并抽样 Palo Alto 流量日志
      4. Windows 事件日志 - 处理 Windows 安全事件日志

      这些管道表明,你正在摄取来自 Cisco ASA 防火墙、Cisco eStreamer(可能来自 Firepower/FTD 设备)、Palo Alto Networks 防火墙以及 Windows 安全事件的网络安全日志。
      你想了解任何特定来源或管道配置的更多详细信息吗?"

  • 提示词: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”事件。以下是我所做的修改:

      1. 禁用了丢弃函数:

        • 已禁用过滤掉 __log_subtype=='start' 事件的函数
        • 这意味着现在会处理“start”和“end”两种会话事件
      2. 更新了注释:

        • 将原先解释为何丢弃“start”事件的注释,改为说明现在会保留这两种事件类型,以便完整地查看流量
      3. 重启了 Worker Group:

        • 通过重启 Cribl Stream worker group 应用更改

      更新后的管道现在会处理 Palo Alto 防火墙发出的“start”和“end”事件,让您能够完整查看流量会话从开始到结束的全过程。所有其他处理函数均保持不变,包括:

      • 提取关键流量属性的字段
      • 对零字节流量和可信区域流量进行采样
      • 移除不可靠的日期字段

      您的 Palo Alto 流量数据现在将包含网络连接的完整生命周期,同时仍能受益于采样规则带来的效率提升。”

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。