用途:为 Grafana 仪表盘提供设计判断,即决定该建什么、长什么样。编写机制(MCP 工作流、JSON 模板、ConfigMap)见 grafana-dashboards 技能;告警与 ServiceMonitor 编写见 monitoring-authoring。
设计流程:定义目的 → 布局层级 → 选择面板类型 → 应用颜色/阈值 → 通过 MCP 推送 → 截图审查 → 迭代 → 交给 grafana-dashboards。
定义目的:一个仪表盘回答一个问题,若无法用一句话表述就拆分为多个。
布局层级:按受众紧迫度自上而下排列(Z 型阅读流)。顶部 Hero 行放可用性、错误率、SLO 状态,用 Stat(w:6,3-4 个面板);支撑行放延迟/吞吐趋势、饱和度,用 Timeseries(w:12 或 w:24);细节行放按资源拆分、日志关联,用 Table、Bar Gauge;底部调试行放原始计数器、基数、内部统计,用折叠行。24 列网格:每行 4 个 stat 用 w:6 于 x:0,6,12,18;每行 3 个面板用 w:8 于 x:0,8,16;6 个紧凑 stat 用 w:4 于 x:0,4,8,12,16,20;全宽 w:24。
面板类型选择:单一当前值用 Stat;随时间趋势用 Timeseries;有界范围百分比用 Gauge;多资源用 Table;分类对比用 Bar Gauge;二值状态用 Stat 加值映射(0→DOWN/红,1→UP/绿)。该代码库中 Stat 占主导(54 stat : 42 timeseries : 18 gauge),KPI 默认用 stat,有时间形态的用 timeseries。
颜色与阈值:按“哪个方向是坏”选择模式。越多越坏(错误、利用率、延迟)用 green(null)→yellow(70)→red(90);越少越坏(可用性、SLO)用 red(null)→yellow(50)→green(90);二值用 mappings。领域阈值:DB 连接 % 黄 60 红 80;存储/PVC % 黄 70 红 95;CPU/GPU 温度 黄 75 红 85;备份年龄(秒)黄 86400 红 172800。
视觉审查循环:编写时用 MCP get_panel_image 快速审查面板;用 Playwright 审查整盘布局。命令:kubectl port-forward svc/grafana 3000:80 -n monitoring,访问 http://localhost:3000/d/<uid>,browser_take_screenshot 检查布局、颜色、可读性,修复后经 MCP update_dashboard 推送并重新截图。检查拥挤行、阈值颜色不一致、缺面板标题、轴无单位、黄金信号被埋没。
反模式:黄金信号埋在首屏之下、所有面板同尺寸、每行超 6 个面板、缺阈值步骤、装饰性面板、一个仪表盘包揽一切、对流量敏感指标用静态阈值。
限制:资料未提供安装方式、收费与平台支持等细节。