AI可观测性工作坊

一个使用Dynatrace和模型上下文协议(MCP)学习AI/LLM可观测性的实践工作坊。

  • by SudoSmitty
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 SudoSmitty/dynatrace-ai-mcp-workshop

使用说明

🎯 Dynatrace人工智能可观察性和MCP研讨会

[!重要]
不会添加协作者,也不会轮换研讨会令牌,以避免影响正在进行的研讨会。请联系内部团队以获取当前的研讨会令牌。

通过Dynatrace和模型上下文协议(MCP)学习AI/LLM可观察性的实践研讨会。


🚀 工作坊参与者:从这里开始!

本指南将引导您启动代码空间、配置环境,并通过详细的说明、代码片段和屏幕截图完成所有实验。


📋 工作坊概述

持续时间 2-2.5小时
水平 中级
格式 动手实验室
平台 GitHub代码空间

你将学到什么

  • ✅ OpenLLMetric的仪器AI/LLM应用
  • ✅ 通过OTLP向Dynatrace发送跟踪
  • ✅ 分析LLM性能、令牌使用和成本
  • ✅ 将Dynatrace MCP用于代理AI工作流
  • ✅ 使用Dynatrace工作流自动化人工智能成本监控

📚 车间实验室

实验室 持续时间 描述
实验室0:安装 15分钟 环境配置
实验1:仪器 15分钟 将OpenLLMetric添加到示例应用程序中
实验2:探索痕迹 30分钟 在Dynatrace中分析AI痕迹
实验3:Dynatrace MCP 30分钟 使用MCP进行代理AI
实验4:自动化 30分钟 创建自动化工作流程

👨‍🏫 讲师设置

运作原理

与会者共享同一存储库--他们不会分叉。每个与会者都会启动自己的独立代码空间,他们所有的代码修改都对该代码空间会话保密。

研讨会使用预先部署的 Azure函数机密服务器 安全地分发Azure OpenAI凭据。与会者进入一个研讨会令牌,他们从来没有看到真正的API密钥。


🛤️ 选择安装路径

有 两种方式 以讲师身份举办本次研讨会:

路径 最适合 要求
选项A:使用现有基础设施 大多数讲师 协作者可以访问此存储库
选项B:站起来 使用自己的Dynatrace租户+Azure OpenAI Azure订阅+部署技能

选项A:使用现有基础设施(推荐)

使用预先部署的Azure OpenAI管道和secrets服务器。这是最快的开始方式。

先决条件

  1. GitHub账号 启用了代码空间
  2. 协作者访问此存储库 --需要运行轮换车间令牌的GitHub Action。联系存储库所有者以添加为合作者。
  3. 动态跟踪环境 (游乐场/演示租户)--您向与会者提供自己的Dynatrace凭据

设置步骤(每次研讨会前)

1.旋转车间令牌

⚠️ 您必须是此存储库的合作者才能运行此GitHub操作。

使用 “旋转车间令牌” GitHub操作:

  1. 首选 行动 → 旋转车间令牌
  2. 点击 运行工作流
  3. 输入一个令人难忘的令牌(例如。, perform2026, acepaces, dynatraceai)
  4. 摘要将确认新令牌

💡 提示: 为了安全起见,在每次研讨会之前和之后旋转令牌。

2.创建Dynatrace API令牌(用于OTLP跟踪)

使用以下权限在Dynatrace租户中创建API令牌:

  • openTelemetryTrace.ingest
  • metrics.ingest
  • entities.read
  • problems.read
  • logs.read
  • DataExport
3.创建Dynatrace平台令牌(用于MCP)

⚠️ 实验3需要! 此令牌启用Dynatrace远程MCP服务器。

创建一个 平台代币 在您的Dynatrace租户中,使用以下范围:

  • mcp-gateway:servers:invoke
  • mcp-gateway:servers:read
  • davis:analyzers:read
  • davis:analyzers:execute
  • davis-copilot:conversations:execute
  • davis-copilot:nl2dql:execute
  • davis-copilot:dql2nl:execute
  • davis-copilot:document-search:execute
  • storage:events:read
  • storage:metrics:read
  • storage:logs:read
  • storage:buckets:read
  • storage:files:read
  • storage:security.events:read
  • storage:entities:read
  • storage:spans:read
  • storage:bizevents:read
  • storage:smartscape:read

添加到机密服务器: 使用 “更新MCP令牌” GitHub更新操作 DT_MCP_BEARER_TOKEN 在secrets服务器中(需要协作者访问)。这 fetch-secrets.sh 脚本将自动将此内容分发给与会者。

4.准备与会者证件

使用以下工具创建共享文档或幻灯片:

凭证 值 注释
WORKSHOP_TOKEN 您在步骤1中设置的令牌 用于Azure OpenAI+MCP访问
DT_ENDPOINT https://YOUR_ENV.live.dynatrace.com/api/v2/otlp 包括 /api/v2/otlp 后缀!
DT_API_TOKEN 您的Dynatrace API令牌 从步骤2开始

注: Dynatrace MCP平台令牌(DT_MCP_BEARER_TOKEN)通过以下方式自动分发 fetch-secrets.sh --与会者不需要手动输入。


选项B:建立自己的基础设施

如果你想完全控制Azure OpenAI资源和机密服务器(例如,使用你自己的Azure订阅和Dynatrace租户),你需要部署自己的基础设施。

先决条件

  1. Azure订阅 具有创建权限:
    • Azure OpenAI资源 gpt-4o 和 text-embedding-3-large 部署
    • 机密服务器的Azure功能应用程序
  2. 动态跟踪环境 (您自己的租户)
  3. GitHub存储库 (分叉此仓库供您自己使用)

设置步骤

  1. 部署Azure OpenAI资源 --为聊天和嵌入创建模型部署
  2. 部署Secrets服务器 --请参阅 机密服务器/README.md 有关详细的部署说明
  3. 配置GitHub操作 --设置 ADMIN_SECRET 秘密和 AZURE_FUNCTION_APP_NAME 分叉存储库中的变量
  4. 更新代码空间配置 --修改 .devcontainer/fetch-secrets.sh 指向您的机密服务器URL

有关详细说明,请参阅 教官指南.


🔧 现有秘密服务器(选项A)

Azure Function secrets服务器已部署在 workshop-secrets-server.azurewebsites.net 并且已准备好使用。

有关维护、配置更改或故障排除,请参阅 机密服务器/README.md.


🔧 示例应用程序

概述

RAG(检索增强生成)服务由以下部分构建:

  • 快速API -Web框架
  • Azure OpenAI -LLM提供者
  • LangChain -编排
  • 色度数据库 -矢量存储

主要特点

  • 🎨 漂亮的聊天界面 -用于对话的交互式web界面
  • 📚 预装了Dynatrace相关知识
  • 🏷️ 每位与会者的唯一服务名称(ai-chat-service-{ATTENDEE_ID})
  • 🔬 准备好OpenLLMetry仪器

端点

端点 方法 描述
/ GET 聊天用户界面(web界面)
/chat POST 聊天API端点
/info GET 服务信息
/health GET 健康检查
/documents POST 将文档添加到知识库

📊 什么被追踪

检测后,Dynatrace会捕获:

跨度类型 捕获的数据
HTTP请求 端点、状态、持续时间
嵌入 模型、令牌计数、延迟
矢量搜索 查询计数,结果
LLM完成 模型、令牌、提示/响应

🔐 安全说明

  • Azure OpenAI凭据通过具有旋转车间令牌的安全机密服务器分发
  • 与会者从未看到原始Azure OpenAI API密钥-它是自动提取的
  • 研讨会代币应在每次研讨会结束后轮换
  • Dynatrace代币应在研讨会后轮换
  • 考虑使用专门的游乐场租户

📝 许可证

本次研讨会旨在提供教育。看 许可证 了解详情。


🙏 致谢