使用说明
可观测性堆栈
使用Prometheus、Loki、Tempo和Grafana完成可观测性设置。
快速开始
# Start stack
docker compose up -d
# Start app
npm install
node server.js
访问Grafana: http://localhost:3001 (管理员/管理员)
组件
- 普罗米修斯 -指标
- 洛基 -日志
- 节奏 -痕迹
- 格拉法纳 -可视化
- Grafana MCP -AI集成
港口
| 服务 | 端口 |
|---|---|
| Node.js | 3000 |
| 3001号。 | |
| 普罗米修斯 | 9090 |
| 洛基 | 3100 |
| 节奏 | 3200 |
用法
生成数据:
curl -X POST http://localhost:3000/execute \
-H "Content-Type: application/json" \
-d '{"type":"db","mode":"fail"}'
类型: db, general |模式: success, slow, fail
韵律学:
curl http://localhost:3000/metrics
Grafana MCP
使用模型上下文协议通过AI查询Grafana。
设置:
- 在Grafana中创建服务令牌(http://localhost:3001)
- 添加到
.env:GRAFANA_SERVICE_TOKEN=glsa_YOUR_TOKEN - 添加到
.vscode/settings.json:{ "github.copilot.chat.mcp.servers": { "grafana": { "command": "docker", "args": ["exec", "-i", "grafana-mcp", "/app/mcp-grafana", "-t", "stdio"] } } } - 重新启动VSCode
VSCode副驾驶聊天中的用法:
- 类型
/mcp查看可用服务器 - “列出我的Grafana仪表板”
- “查询Prometheus的错误率”
看 GRAFANA_MCP_SETUP.md 了解详情。
文档
- 可维护性_SETUP.md -完整设置指南
- GRAFANA_MCP_SETUP.md -MCP配置
故障排除
# Check service status
docker compose ps
# View logs
docker compose logs -f grafana
# Verify targets
curl http://localhost:9090/targets
# Reset (deletes data)
docker compose down -v && docker compose up -d
示例使用(Copilot+Grafana MCP)
以下是Grafana MCP如何与可观测性数据交互的真实示例。
示例问题
- “列出所有可用的Grafana仪表板”
- “显示过去15分钟的错误率指标”
- “查找与数据库故障相关的日志”
- “将跟踪与高延迟和错误相关联”
- “为服务错误趋势创建仪表板”
演示
使用mcp创建仪表板: https://github.com/user-attachments/assets/a5aa584c-d4a4-4a54-b6c5-b61b46e6eac4