其他
在 Dynatrace 中创建、修改、查询和分析 JSON…
适用于需要基于 Dynatrace Document Store 的 JSON 仪表板进行创建、更新、读取、查询和分析的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 39/100 ×0.15
适用场景
在 Dynatrace 中创建、修改、查特定
解决思路
- 按 Dynatrace 仪表板 JSON 文档组织内容:顶层包含 `name`、`type`(设为 `dashboard`)和 `content`;`content` 包含 `version`(示例为 21)、`variables`、`tiles`、`layouts`。
- 将 `tiles` 中每个 tile 的 ID 与 `layouts` 中对应 ID 保持一致。
- 按 24 单位宽网格布局仪表板;常用宽度为 24(全宽)、12(半宽)、6(四分之一宽)。
- 选择 tile 类型:使用 `markdown` 放文本内容,使用 `data` 放 DQL 查询和可视化。
- 按需在 `content` 中使用可选属性:`settings`、`refreshRate`、`annotations`。
- 读取或分析时使用 `dtctl get dashboard <id> -o json` 获取完整内容;`describe` 只返回元数据,不够用于完整分析。
- 获取 JSON 后检查其内容,以发现该仪表板实际可用的属性。
- 分析仪表板前仔细阅读 `references/analyzing.md`。
- 创建或更新仪表板时严格遵循 `references/create-update.md` 中描述的工作流。
- 生成查询前先加载领域技能,不要自行发明 DQL。
- 将所有查询加入仪表板前先逐一验证。
- 除非用户明确要求,否则不要在查询中加入时间范围过滤器。
- 部署前设置仪表板的 `name`。
- 更新仪表板时始终先读取当前状态:运行 `dtctl get dashboard <id> -o json`,保存为 `dashboard.json`,修改该文件,然后再部署。
- 更新时绝不要从头重建 JSON,也不要手动注入 `id`;这两种做法都会静默覆盖用户自上次部署后在 UI 中所作的修改。
- 使用 `dtctl apply` 部署仪表板;部署时验证会自动运行。
- 如果 `dtctl apply` 失败,在重新应用前修复所有报告的错误。
- 时间序列可视化需要 `timeseries`/`makeTimeseries` 查询,适用于 `lineChart`、`areaChart`、`barChart`、`bandChart`。
- 分类可视化使用 `summarize ... by:{field}`,适用于 `categoricalBarChart`、`pieChart`、`donutChart`。
- 单值/仪表盘可视化用于单条数值记录,适用于 `singleValue`、`meterBar`、`gauge`。
- 表格型可视化适用于任意数据形状,适用于 `table`、`raw`、`recordList`。
- 分布/状态可视化使用 `histogram`、`honeycomb`。
- 地图可视化使用 `choroplethMap`、`dotMap`、`connectionMap`、`bubbleMap`。
- 矩阵可视化使用 `heatmap`、`scatterplot`。
- 按 `references/tiles.md` 确认每种可视化所需的字段类型。
- 定义变量时按快速参考结构包含 `version`=2、`key`、`type`、`visible`、`editable`、`input`、`multiple` 等字段;示例 `input` 可为 `smartscapeNodes SERVICE | fields name`。
- 变量单选时使用 `filter service.name == $Service`。
- 变量多选时使用 `filter in(service.name, array($Service))`。
- 选择变量类型:`query` 由 DQL 填充,`csv` 为静态列表,`text` 为自由文本。
- 需要完整变量说明时阅读 `references/variables.md`。
- 创建/更新仪表板时加载 `references/create-update.md`。
- 需要 tile 类型、可视化字段要求和设置时加载 `references/tiles.md`。
- 需要变量类型、替换策略和模式时加载 `references/variables.md`。
- 读取仪表板、提取查询和做健康评估时加载 `references/analyzing.md`。
适用边界 · 注意事项
- 不适用于非 Dynatrace 环境,或无法访问 Dynatrace Document Store 与仪表板权限的场景。
- 缺少 `dtctl` 或不能运行 `dtctl get`/`dtctl apply` 时,不应按此流程修改或部署仪表板。
- 只需要仪表板元数据时,不必按完整读取和分析流程操作,可用 `describe` 获取元数据即可。