中文名:Dynatrace实时监控
一个远程MCP服务器,可实现实时与Dynatrace可观测性平台的交互,将生产级别的监控数据直接引入开发工作流中。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"mobile-mcp": {
"args": [
"-y",
"@dynatrace-oss/dynatrace-mcp-server@latest"
],
"command": "npx",
"env": {
"DT_ENVIRONMENT": "",
"OAUTH_CLIENT_ID": "",
"OAUTH_CLIENT_SECRET": ""
}
}
}
}
该服务需要配置环境变量:DT_ENVIRONMENT、OAUTH_CLIENT_ID、OAUTH_CLIENT_SECRET、SLACK_CONNECTION_ID、USE_APP_SETTINGS、USE_WORKFLOWS
服务介绍
Dynatrace MCP 服务器
此远程MCP服务器允许与Dynatrace可观测性平台进行交互。将实时可观测性数据直接引入您的开发工作流中。
使用场景
- 实时可观测性,获取生产级别的数据以实现早期检测。
- 在监控到的异常、日志和异常情况的上下文中修复问题。
- 更多关于安全级别问题的上下文
- 使用自然语言查询日志数据
功能
- 列出并获取问题详情(例如Kubernetes服务)
- 列出并获取安全问题/漏洞详情
- 执行DQL(Dynatrace查询语言),如获取事件或日志
- 发送Slack消息(通过Slack连接器)
- 设置通知工作流(通过Dynatrace AutomationEngine)
- 获取实体的所有权
快速入门
正在进行中
您可以将此MCP服务器(使用STDIO)添加到您的MCP客户端中,比如VS Code, Claude, Cursor, Windsurf Github Copilot,通过包@dynatrace-oss/dynatrace-mcp-server来实现。
VS Code
json
{
"servers": {
"npx-dynatrace-mcp-server": {
"command": "npx",
"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
"envFile": "${workspaceFolder}/.env"
}
}
}
Claude Desktop
json
{
"mcpServers": {
"mobile-mcp": {
"command": "npx",
"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
"env": {
"OAUTH_CLIENT_ID": "",
"OAUTH_CLIENT_SECRET": "",
"DT_ENVIRONMENT": ""
}
}
}
}
环境变量
需要一个Dynatrace OAuth客户端来与您的Dynatrace环境通信。请按照关于在Dynatrace中创建OAuth客户端的文档操作,并设置以下环境变量以便此MCP能够正常工作:
DT_ENVIRONMENT(字符串,例如 https://abcd1234.apps.dynatrace.com) - 您的Dynatrace平台URLOAUTH_CLIENT_ID(字符串,例如dt0s02.SAMPLE) - Dynatrace OAuth客户端IDOAUTH_CLIENT_SECRET(字符串,例如dt0s02.SAMPLE.abcd1234) - Dynatrace OAuth客户端密钥- OAuth客户端范围:
app-engine:apps:run- 环境信息客户端所需app-engine:functions:run- 环境信息客户端所需hub:catalog:read- 获取Dynatrace环境中已安装应用程序的详细信息environment-api:security-problems:read- 读取安全问题所需environment-api:entities:read- 读取被监控实体environment-api:problems:read- 获取问题environment-api:metrics:read- 读取指标environment-api:slo:read- 读取SLOsettings:objects:read- 从设置中读取所有权信息和守护者(SRG)所需storage:buckets:read- 读取存储在Grail上的所有系统数据storage:logs:read- 为可靠性守护者验证读取日志storage:metrics:read- 为可靠性守护者验证读取指标storage:bizevents:read- 为可靠性守护者验证读取业务事件storage:spans:read- 从Grail读取跨度storage:entities:read- 从Grail读取实体storage:system:read- 从Grail读取系统数据storage:user.events:read- 从Grail读取用户事件storage:user.sessions:read- 从Grail读取用户会话
此外,根据您使用的功能,还可以配置以下变量:
SLACK_CONNECTION_ID(字符串) - Slack连接的连接ID*USE_APP_SETTINGS(布尔值,true或false; 默认:false)- 需要范围
app-settings:objects:read以从应用设置中读取设置对象
- 需要范围
USE_WORKFLOWS(布尔值,true或false; 默认:false)- 需要范围
automation:workflows:read,automation:workflows:write和automation:workflows:run以读取、写入和执行工作流
- 需要范围
✨ 示例提示 ✨
将这些示例提示作为起点。只需将它们复制到您的IDE或代理设置中,根据您的服务/堆栈/架构进行调整,并根据需要扩展。它们旨在帮助您想象在IDE中的MCP上下文中实时可观测性和自动化如何协同工作。
查找生产环境中的开放漏洞并设置警报。
我在IDE中有这段代码片段,其中我的代码收到了依赖漏洞警告。
检查生产环境中是否有任何开放的漏洞/CVE。
分析特定的生产问题。
设置一个工作流,在出现可用性问题时向#devops-alerts频道发送Slack警报。
调试间歇性的503错误。
我们的负载均衡器在高峰流量期间间歇性地返回503错误。
拉取我们前端服务检测到的所有最近的问题,
运行查询以关联错误率与服务实例健康指标。
我怀疑是断路器被触发了,但需要来自遥测数据的确认。
关联内存问题与日志。
我们的某个主机存在高内存使用问题。
获取问题详情,然后获取相关日志以帮助理解
是什么导致了内存峰值?这个仓库中的哪个文件与此相关?
请求流跟踪分析。
我们的用户正在经历缓慢的结账过程。
您可以执行DQL查询来展示我们的结账流程的完整请求跟踪吗?
这样我可以识别出是哪个服务造成了瓶颈。
分析Kubernetes集群事件。
我们的应用程序部署似乎偶尔失败。
您可以从我们的"production-cluster"中获取最近的事件,
以帮助确定可能导致这些部署问题的原因吗?
开发
出于开发目的,您可以使用VSCode和GitHub Copilot。
首先,在工作区.vscode/settings.json中启用Copilot:
json
{
"github.copilot.enable": {
"*": true
}
}
其次,将MCP添加到.vscode/mcp.json:
json
{
"servers": {
"my-dynatrace-mcp-server": {
"command": "node",
"args": [
"${workspaceFolder}/dist/index.js"
],
"envFile": "${workspaceFolder}/.env"
}
}
}
第三,在此仓库中创建一个.env文件(您可以从.env.template复制),并按上述配置环境变量。
最后但同样重要的是,在CoPilot中切换到代理模式并重新加载工具。
注意事项
该产品不受Dynatrace官方支持。
如果您有功能请求、问题或需要帮助,请通过GitHub Issues联系我们。