Dynatrace MCP游乐场
此repo主要用于试验 Dynatrace MCP服务器 并将用于DevHUB会话 Dynatrace执行2026
按照以下步骤操作,您将学习:
👉 什么是MCP
👉 如何设置Dynatrace MCP服务器
👉 如何连接到Dynatrace环境
👉 如何执行预定义的提示
👉 如何向Dynatrace提问
了解有关MCP的更多信息
查看Adriana在上的博客文章,了解更多关于MCP的信息 这里.
您还可以查看其他MCP服务器 这里.
为什么使用Dynatrace MCP服务器?
这种方法使可能不熟悉DQL(Dynatrace查询语言)或API的团队成员可以访问Dynatrace数据,使整个组织的可观察性数据民主化。
关键要点:
- 自然语言查询:与Dynatrace交互,无需编写复杂的API调用或DQL查询
- 可重用提示:使用存储为文件的预构建查询节省时间
- AI驱动的分析:让Copilot自动处理复杂的多步骤查询
设置
您可以通过两种方式运行本教程
- 分叉此GitHub仓库并启动Codespace。一旦启动,您就可以进入Visual Studio,并准备就绪
- 在本地克隆此GitHub仓库,在本地Visual Studio Code实例中打开它!您需要一个本地安装的npx来运行Dynatrace MCP服务器!
步骤1:在VSCode中启用MCP支持
本教程使用Visual Studio代码(VSCode) Copilot支持多种大型语言模型(LLM),包括GPT-4和Claude,因此您可以自由选择您最喜欢的。
步骤2:配置Dynatrace MCP服务器
GitHub Copilot聊天使用的LLM通过 Dynatrace MCP服务器为了实现这一点,我们必须让Copilot知道Dynatrace MCP服务器,我将在下面向您展示。
如果你敞开心扉 .vscode/mcp.json,您会注意到Dynatrace MCP服务器的现有配置:
{
"servers": {
// https://github.com/dynatrace-oss/dynatrace-mcp
"dynatrace-oss/dynatrace-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"@dynatrace-oss/dynatrace-mcp-server@1.0.0"
],
"env": {
"DT_ENVIRONMENT": "${input:dt_environment}"
},
"version": "1.0.0"
},
},
"inputs": [
{
"id": "dt_environment",
"type": "promptString",
"description": "Dynatrace Platform URL (e.g., https://abc12345.apps.dynatrace.com — not classic live.dynatrace.com).",
"password": false
}
]
}让我们仔细看看上面的JSON:
dynatrace-oss/dynatrace-mcp:MCP服务器的名称。这个名字可以是任何你想要的,甚至是Dynatrace MCP服务器、空间等等。type:连接类型。有效值为:stdio,sse,以及http我们正在使用stdio,这意味着Dynatrace MCP服务器的副本在VSCode中本地运行。sse和http用于访问远程MCP服务器。有关远程与本地MCP服务器的更多信息,请查看 这个伟大的概述.Dynatrace还提供了一个远程MCP服务器选项,在撰写本文时,该选项位于预览版中。阅读更多 这里command:运行MCP服务器的命令。因为类型是stdio,Dynatrace MCP服务器将在本地运行,这需要一个命令来运行服务器。Dynatrace MCP服务器可以作为可执行的npm包使用,因此它使用npx运行它的命令(已安装在此开发容器中)。args:传递给npx命令的参数。在这里,我们有2个args.the-yarg告诉npx在没有提示的情况下安装依赖程序包,第二个arg包括程序包名称(dynatrace-oss/dynatrace-mcp-server),以及版本(v0.10.0).如果您想使用最新版本以外的版本,请查看 Dynatrace MCP服务器的可用版本列表.env:指定要连接的Dynatrace租户的环境变量。启动服务器后,Visual Studio将提示此变量。
步骤3:启动Dynatrace MCP服务器
要启动MCP服务器,请在VSCode中打开MCP.json,然后单击位于上方的“启动” dynatrace-oss/dynatrace-mcp.
Visual Studio代码将提示您输入Dynatrace租户URL。要连接到Dynatrace游乐场,请输入: https://playground.apps.dynatrace.com
之后,VSCode将打开一个浏览器,对游乐场进行身份验证。因为每个拥有Dynatrace SaaS帐户的人都可以访问Playground,所以你应该可以去了!
启动MCP服务器后,您应该看到“正在运行”而不是“启动”:
如果您的MCP服务器无法启动,您将能够在VSCode的输出选项卡中看到错误日志:
步骤4:启动聊天机器人
在开始与Dynatrace对话之前,我们需要打开Copilot聊天窗口。要打开聊天窗口,请在聊天图标右侧选择 VSCode中的命令面板,然后选择“打开聊天”。
这将打开一个聊天窗口。如果您尚未启用GitHub Copilot,系统还会提示您启用它。
✨ 注: ,这限制了您每月50个代理模式或聊天请求。
启用聊天后,请确保您的聊天设置为“代理”模式。代理模式允许副驾驶代表您执行操作,例如修改代码和配置,具体取决于它与哪些MCP服务器交互。询问模式用于查找和研究类型的任务。编辑模式介于两者之间。了解有关模式的更多信息 这里.
要切换模式,请转到聊天输入框的右下角。这将打开可用聊天模式的列表。
步骤5:验证我们是否已连接到Dynatrace!
我们可以问的第一个问题是
What Dynatrace environment are we connected to?它应该给你一个类似的答案
You're connected to the Dynatrace Playground environment:
Environment ID: wkf10640
URL: https://playground.apps.dynatrace.com
Type: INTERNAL
State: ACTIVE
Created: April 19, 2023
This is Dynatrace's shared playground environment for testing and exploration.第6步:通过提示与Dynatrace对话!
要运行提示文件,请打开Copilot聊天,然后键入 /。这将显示可用提示的列表。请注意,Copilot在 文件夹。所有提示文件都必须具有 .prompt.md 扩展。
以下是要执行的提示:
/01-num-dynatrace-services.prompt.md->Dynatrace astroshop命名空间中正在运行多少服务?/02-avg-response-time.prompt.md->给我astroshop命名空间中每个服务的平均响应时间?/03-logs-associated-with-services.prompt.md->有多少天文商店服务有相关日志?/04-last-five-traces.prompt.md->显示x服务的最后5个跟踪,包括spand id、跟踪is、开始时间、结束时间和相关日志的数量?/05-logs-associated-with-given-span.prompt.md->显示Dynatrace中具有相关日志的最大跨度的最新日志消息。/06-error-rate-by-service.prompt.md->按服务分类的错误率是多少?/07-error-count-by-namespace.prompt.md->按命名空间划分的错误计数是多少?/08-slow-operations.prompt.md->显示慢速操作/09-percentile-latencies.prompt.md->显示百分位延迟/10-service-dependencies.prompt.md->显示服务依赖关系/11-conversion-funnel.prompt.md->展示转化漏斗分析/12-pod-health.prompt.md->显示pod健康状态/13-time-comparison.prompt.md->显示基于时间的比较分析
步骤7:尝试其他提示
虽然现有的提示很容易执行,但您也可以向Copilot提出任何类型的问题,如果它认为Dynatrace有答案,它会尝试联系Dynatrace来回答这些问题。
一些让你开始的额外想法
- 最重要的日志是什么?
- 最慢的分布式跟踪是什么?
- 是否存在任何活跃的问题?
尝试一下,并提出一些额外的问题
第八步:看幕后
您始终可以创建自己的提示或定义自己的说明,以便在提问时为Copilot提供更多上下文。 看一看 [](.github/copilot-instructions.md) 查看我们为Copilot定义的一些全局指令。这些也是最佳实践,例如使用数据查询限制默认值,或者建议某些输出格式!
步骤9:分叉、延伸、拉动请求
如果您创建了自己的提示或指令文件,请随时打开对此存储库的Pull Request。合作真是太好了!
资源
了解有关VSCode中提示文件的更多信息:
-
