项目简介
该仓库提供了一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于与 Dynatrace 可观测性平台进行交互。通过这个 MCP 服务器,LLM 客户端(如 VS Code、Claude、Cursor 等)可以直接访问 Dynatrace 中的数据和功能,例如查询问题、安全漏洞、日志、实体信息,并触发自动化工作流或发送 Slack 消息。它充当了 LLM 应用与 Dynatrace 之间的桥梁,使得开发者和运维人员可以在其常用的开发或AI环境中获取实时可观测性洞察并执行相关操作。
主要功能点
- 获取 Dynatrace 可观测性数据: 能够列出和检索 Dynatrace 中的问题 (Problems)、安全漏洞 (Vulnerabilities) 的详细信息。
- 查询数据: 支持执行 Dynatrace Query Language (DQL) 查询,获取日志、事件、指标等数据。
- 获取实体信息: 根据实体 ID 获取被监控实体的详细信息,如服务、主机、Kubernetes 集群等。
- 获取所有权信息: 查询实体相关的团队或人员所有权信息。
- 触发自动化操作: 能够通过 Dynatrace Automation Engine 创建用于问题通知的工作流,或向 Slack 发送消息。
- 修改工作流: 支持修改现有工作流的属性,例如使其变为公共。
安装步骤
该 MCP 服务器作为 npm 包发布,可以通过 'npx' 直接运行而无需全局安装:
- 确保您已安装 Node.js 和 npm。
- 您可以通过 'npx @dynatrace/dynatrace-mcp-server@latest' 命令来运行服务器。
服务器配置
MCP 服务器需要配置连接到您的 Dynatrace 环境。这些配置通常通过环境变量提供:
- 'DT_ENVIRONMENT': 您的 Dynatrace 环境 URL (例如: 'https://abcd1234.apps.dynatrace.com')
- 'OAUTH_CLIENT_ID': Dynatrace OAuth 客户端 ID。
- 'OAUTH_CLIENT_SECRET': Dynatrace OAuth 客户端 Secret。
- 'SLACK_CONNECTION_ID': (可选) 用于发送 Slack 消息的 Dynatrace Slack 连接 ID。
- 'USE_APP_SETTINGS': (可选) 设置为 'true' 以启用 App Settings 相关功能。
- 'USE_WORKFLOWS': (可选) 设置为 'true' 以启用 Workflows 相关功能。
您需要在启动 MCP 服务器的环境中设置这些变量。例如,在您的 MCP 客户端配置中指定一个包含这些变量的 '.env' 文件,或直接在客户端配置中设置 'env' 属性。
在您的 MCP 客户端(如 VS Code 的 '.vscode/mcp.json' 或 Claude Desktop 的配置)中,需要添加一个服务器配置条目来启动并连接到这个 MCP 服务器。配置通常包括:
- 一个唯一的服务器名称 (例如: '"dynatrace-mcp"')。
- 'command': 启动服务器的命令 (例如: '"npx"')。
- 'args': 命令的参数 (例如: '["-y", "@dynatrace/dynatrace-mcp-server@latest"]')。
- 'envFile' 或 'env': 指定包含上述环境变量的文件路径或直接列出环境变量。
基本使用方法
配置并启动 MCP 服务器后,您的 LLM 客户端将能够发现并使用该服务器提供的工具。您可以通过向 LLM 提出自然语言的问题或请求,让 LLM 调用这些工具来获取 Dynatrace 数据或执行操作。例如:
- 询问 LLM:“列出我生产环境中当前的高风险安全漏洞。” (这会触发 'list_vulnerabilities' 工具)
- 询问 LLM:“分析问题 ID 'PROBLEM-1234' 的详细信息。” (这会触发 'get_problem_details' 工具)
- 询问 LLM:“执行 DQL 查询 'fetch logs | filter level == "ERROR"'。” (这会触发 'execute_dql' 工具)
- 请求 LLM:“创建一个工作流,当发生可用性问题时,向 #devops 频道发送通知。” (这会触发 'create_workflow_for_notification' 工具)
LLM 客户端将解析您的请求,识别需要调用的工具,并与 MCP 服务器通过 JSON-RPC 进行通信,获取结果并呈现给您。
信息
分类
开发者工具