Grafana 仪表板组装器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/grafana-dashboard-json-assembler 技能到你的 AI 助手中。
技能介绍
你要解决的问题
手写 Grafana 仪表板 JSON 时,panels 数组、targets 查询结构、templating.list 变量声明和 annotations.list 注解查询分散在不同层级,拼接起来容易出错:面板类型与 fieldConfig 不匹配、数据源 uid 写成不存在的值,或模板变量的 query 格式不符合后端期望,导致保存后面板报错或刷新无数据。
技能如何工作
围绕运维仪表板的常见形态,按以下方式组装模型:
- 选择面板类型:根据指标含义组装
timeseries(趋势)、stat(单值概览)、table(明细列表)和heatmap(分布热力),并生成对应panelId。 - 配置数据源引用:为每个
target填入正确的datasource.uid,避免混用不同环境的 Prometheus 或 Elasticsearch 实例。 - 声明模板变量:在
templating.list中生成变量项,支持下拉选择或多选,并把变量引用(如$metric)写入查询表达式。 - 加入注解查询:在
annotations.list中配置事件或日志注解源,让异常时间点在图上可见。
适用边界
生成结果面向标准 Grafana JSON 模型,未包含数据源自动探测、实时查询验证或告警规则生成。仓库未提供可验证的安装与使用说明,接入敏感流程前应先在测试实例中审查生成的 JSON。
推荐实践
- 先确认环境中已存在对应的
datasource,再让组装器引用uid。 - 用变量替换固定时间范围,方便同一仪表板跨服务复用。
- 保存前在 Grafana UI 打开
Explore视图验证查询是否返回数据。
使用场景
- 为新上线的微服务构建监控页,需要把 CPU、内存、QPS 三类指标组装成包含 timeseries 面板的仪表板 JSON
- 搭建单值概览大屏时,需要组装多个 stat 面板并各自引用正确的数据源 uid,避免指标串到别的实例
- 制作排障页时,需要声明带下拉选项的模板变量,并把 $service 引用写入 targets 查询表达式
- 汇总发布事件需要在时间轴上呈现,需要为仪表板配置 annotations 查询,标注每次上线的时间点
适合人员
- 负责监控平台的后端工程师,需要为一批新服务批量生成标准结构的 Grafana 仪表板 JSON
- 撰写运维文档的 SRE,需要把面板配置、模板变量和注解查询整理成可直接粘贴的 JSON 片段
- 做内部监控工具的开发者,需要在自己的服务里复用 Grafana 仪表板的组装逻辑来生成配置