日志与追踪搜索聚合服务

Datadog MCP Server 是一个提供日志搜索、追踪跨度搜索和追踪跨度聚合功能的API服务,适用于需要高效监控和分析分布式系统的场景。

  • by Nozomuts
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 nozomuts/datadog-mcp

使用说明

Datadog MCP服务器

英语(本文件) | 日本语

用于Datadog API的MCP服务器,启用日志搜索、跟踪范围搜索和跟踪范围聚合功能。

特性

  • 日志搜索:使用灵活的查询选项从Datadog搜索和检索日志
  • 跟踪范围搜索:使用各种筛选选项搜索分布式跟踪跨度
  • 跟踪范围聚合:按不同维度汇总跟踪跨度以进行分析

工具

  1. search_logs

    • 在Datadog中搜索日志
    • 输入:
      • filterQuery (可选字符串):用于搜索日志的查询字符串(默认值:“*”)
      • filterFrom (可选数字):以秒为单位搜索UNIX时间戳的开始时间(默认值:15分钟前)
      • filterTo (可选数字):以秒为单位的UNIX时间戳搜索结束时间(默认值:当前时间)
      • pageLimit (可选数字):要检索的最大日志数(默认值:25,最大值:1000)
      • pageCursor (可选字符串):用于检索其他结果的分页光标
    • 返回:包含以下内容的格式化文本:
      • 搜索条件(查询和时间范围)
      • 找到的日志数量
      • 下一页光标(如果可用)
      • 日志详细信息包括:
        • 服务名称
        • 标签
        • 时间戳
        • 状态
        • 消息(截断为300个字符)
        • 主机
        • 重要属性(http.method、http.url、http.status_code、error)
  2. search_spans

    • 在Datadog中搜索跟踪跨度
    • 输入:
      • filterQuery (可选字符串):用于搜索跨度的查询字符串(默认值:“*”)
      • filterFrom (可选数字):以秒为单位搜索UNIX时间戳的开始时间(默认值:15分钟前)
      • filterTo (可选数字):以秒为单位的UNIX时间戳搜索结束时间(默认值:当前时间)
      • pageLimit (可选数字):要检索的最大跨度数(默认值:25,最大值:1000)
      • pageCursor (可选字符串):用于检索其他结果的分页光标
    • 返回:包含以下内容的格式化文本:
      • 搜索条件(查询和时间范围)
      • 找到的跨度数量
      • 下一页光标(如果可用)
      • 跨度详细信息包括:
        • 服务名称
        • 时间戳
        • 资源名称
        • 持续时间(秒)
        • 主机
        • 环境
        • 类型
        • 重要属性(http.method、http.url、http.status_code、error)
  3. aggregate_spans

    • 按指定维度聚合Datadog中的跟踪跨度
    • 输入:
      • filterQuery (可选字符串):用于筛选聚合跨度的查询字符串(默认值:“*”)
      • filterFrom (可选数字):开始时间为UNIX时间戳(秒)(默认值:15分钟前)
      • filterTo (可选数字):结束时间为UNIX时间戳(秒)(默认值:当前时间)
      • groupBy (可选字符串[]):分组依据的维度(例如,[“服务”、“资源名称”、“状态”])
      • aggregation (可选字符串):聚合方法-“count”、“avg”、“sum”、“min”、“max”、“pct”(默认值:“count”)
      • interval (可选字符串):时间序列数据的时间间隔(仅当类型为“timeseries”时)
      • type (可选字符串):结果类型,“timeseries”或“total”(默认值:“timesries”)
    • 返回:包含以下内容的格式化文本:
      • 桶中的聚合结果,每个桶包括:
        • 存储桶ID
        • 按值分组(如果指定了groupBy)
        • 基于聚合方法计算的值
      • 附加元数据:
        • 处理时间(已用)
        • 请求ID
        • 状态
        • 警告(如有)

设置

您需要设置Datadog API和应用程序密钥:

  1. 从获取API密钥和应用程序密钥 Datadog API密钥页
  2. 在datadog mcp项目中安装依赖项:
    npm install
    # or
    pnpm install
    
  3. 构建TypeScript项目:
    npm run build
    # or
    pnpm run build
    

Docker设置

您可以使用Docker使用以下命令进行构建:

docker build -t datadog-mcp .

使用Claude Desktop

要在Claude Desktop中使用此功能,请将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "datadog": {
      "command": "node",
      "args": [
        "/path/to/datadog-mcp/build/index.js"
      ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}

如果你正在使用Docker,你可以这样配置它:

{
  "mcpServers": {
    "datadog": {
      "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "DD_API_KEY",
          "-e",
          "DD_APP_KEY",
          "datadog-mcp"
        ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}

使用VS代码

为了在VS Code中快速安装,请配置您的设置:

  1. 在VS代码中打开用户设置(JSON)(Ctrl+Shift+P → Preferences: Open User Settings (JSON))
  2. 添加以下配置:
{
  "mcp": {
    "servers": {
      "datadog": {
        "command": "node",
        "args": [
          "/path/to/datadog-mcp/build/index.js"
        ],
        "env": {
          "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
          "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
        }
      }
    }
  }
}

如果你正在使用Docker,你可以这样配置它:

{
  "mcp": {
    "servers": {
      "datadog": {
        "command": "docker",
          "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "DD_API_KEY",
          "-e",
          "DD_APP_KEY",
          "datadog-mcp"
        ],
        "env": {
          "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
          "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
        }
      }
    }
  }
}

或者,您可以将其添加到 .vscode/mcp.json 工作区中的文件(没有 mcp 按键):

{
  "servers": {
    "datadog": {
      "command": "node",
      "args": [
        "/path/to/datadog-mcp/build/index.js"
      ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}

如果你正在使用Docker,你可以这样配置它:

{
  "servers": {
    "datadog": {
      "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "DD_API_KEY",
          "-e",
          "DD_APP_KEY",
          "datadog-mcp"
        ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}