mcpField
D
dt-app-notebooks

dt-app-notebooks

github.com/dynatrace数据与数据库1692.7k 次安装今天更新
代码仓库

关于 dt-app-notebooks

用于创建、更新、查询和分析存储在 Document Store 中的 Dynatrace notebook 技能,涵盖 JSON 结构、DQL 区块、可视化及先验证再更新的流程。

主要功能

  1. 01说明 notebook JSON 结构
  2. 02创建和更新 notebook 区块
  3. 03部署前验证 DQL 查询
  4. 04配置 notebook 可视化
  5. 05读取并分析 notebook 内容

适用场景

  1. 01构建含说明和 DQL 区块的 notebook
  2. 02保留现有编辑并更新 notebook
  3. 03检查 notebook 查询和可视化

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dynatrace/dynatrace-for-ai --skill dt-app-notebooks

安装后在 Claude Code 中输入/dt-app-notebooks确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
ExampleNotebook.json
visualization-settings.reference.jsonc
references/
analyzing.md
create-update.md
sections.md

详细介绍

Dynatrace Notebook 技能

概述

Dynatrace 笔记本是存储在 Document Store 中的 JSON 文档,包含按顺序排列的 section 数组:用于叙述的 Markdown 块,以及用于 DQL 查询和可视化的 dql 块。各 section 按数组顺序从上到下呈现。

适用场景: 创建、修改、查询或分析笔记本。

Notebook JSON 结构

{
  "name": "My Notebook",
  "type": "notebook",
  "content": {
    "version": "7",
    "defaultTimeframe": { "from": "now()-2h", "to": "now()" },
    "sections": [
      { "id": "1", "type": "markdown", "markdown": "# Title" },
      {
        "id": "2", "type": "dql", "title": "Query Section", "showInput": true,
        "state": {
          "input": { "value": "fetch logs | summarize count()" },
          "visualization": "table",
          "visualizationSettings": { "autoSelectVisualization": true, "chartSettings": {} },
          "querySettings": {
            "maxResultRecords": 1000, "defaultScanLimitGbytes": 500,
            "maxResultMegaBytes": 1, "defaultSamplingRatio": 10, "enableSampling": false
          }
        }
      }
    ]
  }
}
  • Section 按数组顺序呈现。
  • Section 类型:markdown、dql。(function 也存在,但较少使用。)
  • 使用字符串形式的 ID("1"、"2"……);也接受 UUID。
  • content.defaultTimeframe 设置默认时间范围;每个 section 可以通过 section.state.input.timeframe 覆盖。允许在 DQL 中使用硬编码的时间筛选条件。

可选的 content 属性: defaultSegments。

读取与分析

使用 dtctl get notebook <id> -o json 获取完整内容(describe 仅返回元数据),然后检查 JSON 以了解可用属性。分析前请仔细阅读 references/analyzing.md。

创建/更新工作流(必须按顺序执行)

请仔细遵循 references/create-update.md 中描述的工作流。

关键规则:

  • 生成查询前,先加载领域技能 — 不要凭空编写 DQL。
  • 将所有 section 查询添加到笔记本前,先进行验证。
  • 部署前设置 name。
  • 除非用户要求特定的可视化类型,否则在 visualizationSettings 中优先使用 autoSelectVisualization: true — 如果设为 false,则必须显式设置 state.visualization。
  • 更新时 — 务必先读取当前状态: 执行 dtctl get notebook <id> -o json,将结果保存为 notebook.json,修改该文件,然后部署。切勿从头重建 JSON 或手动注入 id — 这两种做法都会悄悄覆盖用户自上次部署后在 UI 中所做的编辑。
  • 使用 dtctl apply 部署 — 系统会自动运行验证。如果失败,请修复报告的所有错误后再重新应用。

可视化类型

笔记本支持 Dynatrace 可视化类型的一个子集:

  • 时间序列(需要 timeseries/makeTimeseries):lineChart、areaChart、barChart、bandChart
  • 分类(summarize ... by:{field}):categoricalBarChart、pieChart、donutChart
  • 单值 / 仪表盘 / 计量表:singleValue、meterBar、gauge
  • 表格型(任意数据形状):table、raw、recordView
  • 分布/状态:histogram、honeycomb
  • 地理地图:choropleth、dotMap、connectionMap、bubbleMap
  • 矩阵/相关性:heatmap、scatterplot

各可视化类型所需的字段类型:references/sections.md。

参考资料

文件何时加载
create-update.md创建/更新笔记本
sections.mdSection 类型、可视化字段要求、设置
analyzing.md读取笔记本、提取查询、识别用途

评论

支持 Markdown