TalkO11yToMe:通过Dynatrace集成学习MCP服务器
欢迎来到您的MCP(模型上下文协议)学习之旅!本项目将帮助您了解MCP服务器及其用例,特别是如何与Dynatrace租户集成,以实现强大的可观察性驱动的AI工作流程。
🎉 项目状态:全面运行
所有6个Dynatrace工具现在都已准备好投入生产:
- ✅ 标准化配置:共享
dotenv-based配置消除了200多行重复代码 - ✅ DQL查询轮询:正确处理异步查询执行(202→轮询→ 结果)
- ✅ OAuth身份验证:使用5分钟不记名代币在所有工具上工作
- ✅ 真实数据检索:成功发现生产问题、日志和指标
- ✅ 清洁建筑:
lib/兽医tools/可维护性分离
📊 代码质量改进:
- 之前:每个工具40+行环境解析×6个工具=240+行
- 之后:使用共享配置的6行×6个工具=36行
- 淘汰:204多行重复代码,具有增强的验证功能
______________________________________________________________________
🚨 重要提示:Grail与经典环境支持
您的Dynatrace环境类型决定了您需要哪些工具和配置:
🆕 Grail环境 (推荐-现代平台)
- URL模式:
https://xxx.apps.dynatrace.com - 认证:OAuth承载令牌 必需的
- API终点:
/platform/classic/environment-api/v2/ - 主要工具:
grail-log-query.js✅ 生产就绪 - MCP服务器: ✅ 准备建造 - 完整设计可用
🏛️ 经典环境 (传统平台)
- URL模式:
https://xxx.live.dynatrace.com - 认证:API令牌或OAuth
- API终点:
/api/v2/ - 主要工具:
classic-log-query.js✅ 生产就绪 - MCP服务器: ✅ 准备建造 - 完整设计可用
📖 看 环境检测指南 下面是设置详细信息。
______________________________________________________________________
📁 项目结构
TalkO11yToMe/
├── lib/ # 🔧 Shared Infrastructure
│ ├── config.js # → Standardized dotenv configuration
│ └── demo-dotenv.js # → Configuration demonstration
├── tools/ # 🚀 Production Tools (6 tools)
│ ├── grail-log-query.js # → Primary tool for Grail environments
│ ├── grail-business-analytics.js # → DQL and business events (Grail)
│ ├── classic-log-query.js # → Primary tool for Classic environments
│ ├── classic-api-client.js # → Comprehensive API client (both)
│ ├── dynatrace-oauth-tool.js # → Authentication testing
│ └── dynatrace-monitor.js # → Visual monitoring dashboard
├── tests/ # 🧪 Comprehensive Test Suite
│ ├── test-suite.js # → Main test runner with 8 validation tests
│ ├── test-config.js # → Test configuration and scenarios
│ ├── test-history.js # → Test history tracking and analysis
│ ├── results/ # → Organized timestamped test results
│ └── README.md # → Complete testing documentation
├── docs/ # 📚 Documentation
│ ├── FIXES_SUMMARY.md # → Complete technical solution summary
│ ├── TOOLS_GUIDE.md # → Detailed tool usage and examples
│ ├── DYNATRACE_LOGS_SOLUTION.md # → Environment setup guide
│ └── [additional guides...]
└── env/ # 🔐 Environment Configuration
└── .env.dev # → Your Dynatrace credentials______________________________________________________________________
📚 文档
快速参考
- 🚀 工具指南 -完整的工具文档和使用示例
- 🔧 技术解决方案 -详细的环境设置和故障排除
- 📊 实施总结 -完整的项目转换详细信息
- 🎯 AI集成演示 -逐步的AI分析示例
- ⚡ 游标IDE集成 -实用的工作流程和人工智能驱动的开发模式
- 🤖 MCP服务器设计 -使用官方TypeScript SDK完成架构和实施计划
关键章节
🤖 What is MCP?
模型上下文协议(MCP)是一个开放标准,它使人工智能系统(如Claude、Cursor、VS Code Copilot)能够安全地连接到您的企业已经使用的工具和数据。将其视为人工智能的“通用适配器”。
主要优势:
- 标准化集成:不再为每个AI工具进行自定义集成
- 安全数据访问:对系统的受控访问
- 实时上下文:AI从您的生产系统获取最新信息
- 可扩展:易于添加新功能和数据源
🏗️ 了解MCP架构
MCP由三个主要部分组成:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Host │◄───┤ Client │◄───┤ Server │
│ (AI Agent) │ │(Translator) │ │ (Data/Tool) │
└─────────────┘ └─────────────┘ └─────────────┘- 主机:您的AI应用程序(克劳德桌面、VS Code等)
- 客户端:处理通信和翻译请求
- 服务器:提供特定功能(Dynatrace数据、文件访问、API等)
MCP功能:
- 工具:AI可以调用的功能(查询指标、创建警报等)
- 资源:AI可以读取的数据源(日志、仪表板、配置)
- 鼓励:常见AI交互模板
🔍 Dynatrace MCP 服务器
官方Dynatrace MCP服务器使AI助手能够与您的Dynatrace环境进行交互,以获得实时可观察性见解。
能力:
- 问题管理:列出并分析生产问题
- 安全问题:访问漏洞和安全问题详细信息
- DQL查询:对日志和事件执行Dynatrace查询语言
- Slack集成:通过Slack连接器发送警报
- 工作流程自动化:设置通知工作流
- 实体所有权:获取服务的所有权信息
使用案例:
- 实时调试:在编码时获取生产环境
- 事件响应:使用实时数据进行人工智能辅助故障排除
- 证券分析:将代码漏洞与生产问题相关联
- 性能优化:以自然语言查询指标和日志
🚀 安装说明
先决条件
- Node.js 18+(我们使用v20.19.2 LTS)
- 访问Dynatrace租户
- Dynatrace API令牌或OAuth客户端凭据
- AI客户端(推荐使用Cursor IDE)
环境配置
- 复制环境模板:
cp env/env.template env/.env.dev- 编辑
env/.env.dev使用您的凭据:
# Dynatrace Environment
DT_ENVIRONMENT=https://your-environment-id.live.dynatrace.com
# API Token (simpler setup)
API_TOKEN=dt0c01.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
# OAuth (optional - for official MCP server)
OAUTH_CLIENT_ID=dt0s02.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
OAUTH_CLIENT_SECRET=dt0s02.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.YYYYYYYYYYYYYYYYYYYYYYYYYYYY
OAUTH_RESOURCE_URN=urn:dynatrace:environment:your-environment-id- 测试您的配置:
# Test shared configuration
node lib/demo-dotenv.js
# Verify tools work
node tools/dynatrace-monitor.js
# Run comprehensive test suite
node tests/test-suite.js🔍 环境检测
检查您的Dynatrace URL以确定您的环境类型:
Grail环境检测
https://xxx.apps.dynatrace.com ← Contains ".apps."→ Use: grail-log-query.js (需要OAuth)
经典环境检测
https://xxx.live.dynatrace.com ← Contains ".live."→ Use: classic-log-query.js (支持API令牌)
🎯 快速入门演示
对于Grail环境:
# Run primary tool for modern Dynatrace platforms
node tools/grail-log-query.js "error" now-2h
# Business analytics with DQL polling
node tools/grail-business-analytics.js query "fetch logs | limit 5"
# Visual monitoring dashboard
node tools/dynatrace-monitor.js对于经典环境:
# Run primary tool for legacy Dynatrace platforms
node tools/classic-log-query.js search "error" now-2h
# Comprehensive API client with auto-detection
node tools/classic-api-client.js problems 10
# Visual monitoring dashboard
node tools/dynatrace-monitor.js🎯 最近的测试结果:
- 检索到5条日志记录 具有丰富的元数据(在16ms内扫描了418085条记录)
- 检测到17个Lambda问题 包括高错误率和超时
- OAuth令牌工作 5分钟不记名代币生命周期
- DQL轮询功能 -正确的202→ poll → 结果工作流
📖 有关工具的详细用法,请参阅 工具指南.
🎯 真实世界用例
1. 人工智能驱动的事件响应
使用 AI集成演示 致:
- 自动分析Lambda函数错误
- 生成事件响应优先级
- 创建安全评估
- 设计监控仪表板
2. 生产调试上下文
# Get context for coding session
node tools/dynatrace-monitor.js
# Search for specific errors with polling
node tools/grail-log-query.js "timeout" now-1h3. 日常健康监测
# Morning standup dashboard
node tools/dynatrace-monitor.js
# Lambda function health check
node tools/classic-api-client.js lambda-problems now-24h📊 架构改进
共享配置 (lib/config.js)
之前:每个工具都有40多行重复的环境解析 之后:具有dotenv标准化的单一共享配置
// All tools now use this simple pattern:
const config = require('../lib/config');
const dt = await config.getDynatraceConfig();
// 6 lines replace 40+ lines of custom parsing已实现的效益:
- ✅ 消除204+条线路 -大规模代码缩减
- ✅ 标准化错误处理 -在所有工具中保持一致
- ✅ 环境验证 -自动Grail与经典检测
- ✅ 增强安全 -日志中正确的凭证屏蔽
- ✅ 更好的可维护性 -配置真实性的单一来源
📚 资源
MCP官方资源:
Dynatrace MCP集成:
项目文件:
______________________________________________________________________
🎉 准备好开始了吗? 看看 工具指南 获取全面的使用示例和最佳实践!
🧪 测试套件
我们提供了一个全面的测试套件来验证所有工具和基础设施:
快速试运行
# Run all tests (takes ~8 seconds)
node tests/test-suite.js测试内容
- ✅ 文件结构:所有9个预期文件均已存在
- ✅ 共享配置:Dotenv集成工作正常
- ✅ 认证:OAuth令牌生成(5分钟生命周期)
- ✅ 全部6个工具:圣杯、经典和通用工具
- ✅ 真实数据访问:生产问题和日志
- ✅ DQL投票:异步查询执行(202→轮询→ 结果)
预期结果
📊 TEST RESULTS SUMMARY
Total Tests: 8
✅ Passed: 8
❌ Failed: 0
📈 Success Rate: 100.0%📋 看 测试套件文档 了解详细的使用方法和故障排除。
______________________________________________________________________
🚀 项目路线图
🎯 当前状态:生产就绪
所有工具都经过全面的测试和有组织的结构。为下一阶段的增强做好准备。
📋 即将到来的优先事项
- 🌐 HTTP改进:从以下位置迁移
fetch向axios为了更好地处理错误和请求拦截器 - 🤖 MCP服务器开发:构建自定义MCP服务器,将工具作为AI可访问的功能公开
- ⚡ 性能优化:并行测试、性能基准测试、负载测试
📚 规划文件
💡 想法和贡献
路线图包括以下高级功能:
- 自然语言查询(“显示最近一小时的Lambda错误”)
- 多环境支持和比较
- 预测分析和异常检测
- 与其他可观察性平台集成
📝 贡献:查看 TODO.md 为未来发展做出贡献的方法
🎯 重点领域:HTTP改进和MCP服务器开发是当务之急\*\*
