返回市场
新睿监控

新睿监控

作者:Ivlad00328 星标更新:2025-05-14

项目介绍

MseeP.ai 安全评估徽章

New Relic MCP 服务器

这是一个简单的模型上下文协议(MCP)服务器,用于通过 NRQL 查询 New Relic 日志。此服务器使大型语言模型(如 Claude)能够与您的 New Relic 数据进行交互。

功能

  • 使用 NRQL 查询 New Relic 日志和指标
  • 详细的错误日志记录
  • 与 Claude Desktop 的简单集成
  • 可读性强的输出格式化
  • 可配置的 New Relic 账户 ID

设置说明

先决条件

  • Python 3.10 或更高版本
  • New Relic 账户和 API 密钥
  • Claude Desktop 应用程序

安装步骤

  1. 安装 uv 包管理器:
# 在 macOS/Linux 上
curl -LsSf https://astral.sh/uv/install.sh | sh

# 在 Windows (PowerShell) 上
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  1. 创建并设置项目:
# 创建目录
mkdir newrelic-mcp
cd newrelic-mcp

# 创建虚拟环境
uv venv

# 激活虚拟环境
source .venv/bin/activate  # 在 Unix/macOS 上
.venv\Scripts\activate     # 在 Windows 上

# 安装依赖项
uv pip install "mcp[cli]" httpx
  1. 创建服务器文件 newrelic_logs_server.py 并使用提供的代码。

  2. 配置您的环境变量:

# 在 Unix/macOS 上
export NEW_RELIC_API_KEY="your-api-key-here"
export NEW_RELIC_ACCOUNT_ID="your-account-id-here"

# 在 Windows (CMD) 上
set NEW_RELIC_API_KEY=your-api-key-here
set NEW_RELIC_ACCOUNT_ID=your-account-id-here

# 在 Windows (PowerShell) 上
$env:NEW_RELIC_API_KEY = "your-api-key-here"
$env:NEW_RELIC_ACCOUNT_ID = "your-account-id-here"

Claude Desktop 集成

通过编辑配置文件来配置 Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

添加以下配置:

{
    "mcpServers": {
        "newrelic": {
            "command": "uv",
            "args": [
                "--directory",
                "/absolute/path/to/newrelic-mcp",
                "run",
                "newrelic_logs_server.py"
            ],
            "env": {
                "NEW_RELIC_API_KEY": "your-api-key-here",
                "NEW_RELIC_ACCOUNT_ID": "your-account-id-here"
            }
        }
    }
}

使用方法

示例 NRQL 查询

  1. 基本事务查询:
SELECT * FROM Transaction SINCE 1 小时前
  1. 错误分析:
SELECT * FROM Transaction WHERE error IS TRUE SINCE 1 小时前 LIMIT 10
  1. 性能分析:
SELECT average(duration) FROM Transaction FACET name ORDER BY average(duration) DESC LIMIT 5

示例 Claude 提示

您可以向 Claude 提问如下问题:

  • "显示我过去一小时的所有事务"
  • "我们的应用程序是否有任何错误?"
  • "我们的最慢端点是什么?"

调试

查看日志

# 在 macOS/Linux 上
tail -f ~/Library/Logs/Claude/mcp-server-newrelic.log

# 在 Windows 上
type %APPDATA%\Claude\logs\mcp-server-newrelic.log

使用 MCP Inspector 测试

使用以下命令测试您的服务器功能:

npx @modelcontextprotocol/inspector uv run newrelic_logs_server.py

常见问题

  1. 认证错误:
  • 检查 NEW_RELIC_API_KEY 是否正确设置
  • 确认 API 密钥具有正确的权限
  • 确保 API 密钥有效
  1. 查询错误:
  • 核实 NRQL 语法
  • 检查代码中的账户 ID 是否与您的账户匹配
  • 确保查询的数据在指定的时间范围内存在
  1. 连接问题:
  • 检查网络连接
  • 确认 GraphQL 端点可访问
  • 确保没有防火墙阻止连接

安全注意事项

  • 切勿将 API 密钥提交到版本控制中
  • 使用环境变量存储敏感数据
  • 保持依赖项更新
  • 监控查询模式和访问日志

开发

本地测试

  1. 设置环境变量:
export NEW_RELIC_API_KEY="your-api-key-here"
export NEW_RELIC_ACCOUNT_ID="your-account-id-here"
  1. 运行服务器:
uv run newrelic_logs_server.py

代码结构

服务器实现:

  • 单个 NRQL 查询工具
  • 可配置的 New Relic 账户 ID
  • 综合性的错误处理
  • 详细的日志记录
  • 响应格式化

测试更改

  1. 根据需要修改代码
  2. 使用 MCP Inspector 测试
  3. 重启 Claude Desktop 应用程序以应用更改

故障排除指南

  1. 服务器无法启动:
  • 检查 Python 版本
  • 确认所有依赖项已安装
  • 确保虚拟环境已激活
  1. 查询不起作用:
  • 查看日志获取详细错误信息
  • 核实 NRQL 语法
  • 确保查询的数据在指定时间范围内存在
  1. Claude 无法连接:
  • 检查配置文件语法
  • 确认路径是绝对路径
  • 重启 Claude Desktop 应用程序

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 提交拉取请求

许可证

该项目采用 MIT 许可证。

支持

如果您遇到问题:

  1. 查看日志
  2. 查阅常见问题部分
  3. 使用 MCP Inspector 测试
  4. 在 GitHub 上提交问题