用途
Grafana Dashboards 用于设计并管理生产级 Grafana 仪表板,服务于应用、基础设施和业务指标的可观测性监控。适用于可视化 Prometheus 指标、创建自定义仪表板、实现 SLO 仪表板、监控基础设施以及跟踪业务 KPI。当任务与 Grafana 仪表板无关,或需要本范围之外的领域或工具时,不应使用该技能。
主要能力
仪表板设计原则
- 信息层级:顶部为关键指标(大数字),中部为关键趋势(时间序列),底部为详细指标(表格/热力图)。
- RED 方法(面向服务):Rate(每秒请求数)、Errors(错误率)、Duration(延迟/响应时间)。
- USE 方法(面向资源):Utilization(资源繁忙时间百分比)、Saturation(队列长度/等待时间)、Errors(错误计数)。
面板类型
提供多种面板的 JSON 配置示例:
- Stat 面板(单值):支持 reduceOptions、阈值颜色分级(如 0 绿色、80 黄色、90 红色)。
- Time Series 图:示例为 CPU 使用率查询,y 轴格式为 percent,范围 0–100。
- Table 面板:示例为服务状态,使用 instant 查询与 organize 转换重命名列。
- Heatmap:示例为延迟热力图,dataFormat 为 tsbuckets,y 轴格式为 s。
变量
支持查询变量(Query Variables),示例包括 namespace 与 service 两级变量,service 依赖 namespace 过滤,支持 multi 多选,并可在查询中以 $namespace、$service 形式引用。
仪表板内告警
提供告警 JSON 示例,包含条件(如错误率大于 5%)、reducer、for、frequency、message、noDataState、executionErrorState 及通知渠道 uid。
Provisioning
提供 dashboards.yml 配置示例,定义 provider 名称、orgId、folder、type、disableDeletion、updateIntervalSeconds、allowUiUpdates 及仪表板文件路径。
常见仪表板模式
- 基础设施仪表板:CPU 利用率、内存使用、磁盘 I/O、网络流量、按命名空间的 Pod 数量、节点状态。
- 数据库仪表板:每秒查询数、连接池使用、查询延迟(P50/P95/P99)、活跃连接、数据库大小、复制延迟、慢查询。
- 应用仪表板:请求速率、错误率、响应时间(百分位)、活跃用户/会话、缓存命中率、队列长度。
仪表板即代码
- Terraform:使用
grafana_dashboard资源加载 JSON 文件,配合grafana_folder资源。 - Ansible:使用 copy 模块将 dashboards/*.json 部署到 /etc/grafana/dashboards/ 并触发 grafana 重启。
使用方式
技能说明要求:明确目标、约束与所需输入;应用相关最佳实践并验证结果;提供可执行步骤与验证方法;如需详细示例,打开 resources/implementation-playbook.md。
最佳实践包括:从模板(Grafana 社区仪表板)开始;面板与变量命名保持一致;将相关指标分组到行中;设置合适的时间范围(默认最近 6 小时);使用变量提升灵活性;为面板添加描述;正确配置单位;设置有意义的阈值颜色;跨仪表板使用一致颜色;在不同时间范围下测试。
参考文件
- assets/api-dashboard.json:API 监控仪表板
- assets/infrastructure-dashboard.json:基础设施仪表板
- assets/database-dashboard.json:数据库监控仪表板
- references/dashboard-design.md:仪表板设计指南
相关技能
- prometheus-configuration:用于指标采集
- slo-implementation:用于 SLO 仪表板
限制
该技能不适用于与 Grafana 仪表板无关的任务,也不适用于本范围之外的领域或工具。具体收费、价格、平台支持范围等资料暂未提供。