用途
Grafana Dashboards 用于创建和管理生产级的 Grafana 仪表板,实现全面的系统可观测性,帮助设计用于监控应用程序、基础设施和业务指标的有效仪表板。
使用场景
该技能适用于以下情况:可视化 Prometheus 指标、创建自定义仪表板、实现 SLO 仪表板、监控基础设施、跟踪业务 KPI。
仪表板设计原则
信息层级
自上而下依次为:关键指标(大数字)、关键趋势(时序图)、详细指标(表格/热力图)。
RED 方法(面向服务)
- Rate:每秒请求数
- Errors:错误率
- Duration:延迟/响应时间
USE 方法(面向资源)
- Utilization:资源忙碌时间百分比
- Saturation:队列长度/等待时间
- Errors:错误计数
主要能力
仪表板结构
技能给出了 API 监控仪表板的 JSON 示例,包含标题、标签、时区、刷新间隔与多个面板,示例中展示了请求速率、错误率百分比(含告警条件)与 P95 延迟等面板的配置方式,并演示了 gridPos 布局。
面板类型
技能提供四类面板的配置示例:
- Stat 面板(单值):展示 Total Requests,含阈值颜色分级(0 绿色、80 黄色、90 红色)。
- Time Series 时序图:展示 CPU 使用率,并以百分比格式化 Y 轴。
- Table 表格面板:展示服务状态,使用 up 查询并结合 organize 转换重命名列。
- Heatmap 热力图:展示延迟热力图,使用 tsbuckets 数据格式。
变量
技能展示了查询变量(Query Variables)的 JSON 配置,示例中包含 namespace 与 service 两个变量,均来自 Prometheus 数据源,并演示了如何在查询中使用变量,例如 sum(rate(http_requests_total{namespace="$namespace", service=~"$service"}[5m]))。
仪表板内告警
技能提供告警配置示例,包含名称、条件、执行错误状态、for 持续时间、频率、消息、无数据状态以及通知渠道。
仪表板 Provisioning
技能给出 dashboards.yml 配置示例,定义 providers,包含名称、orgId、folder、类型、是否允许删除、更新间隔、是否允许 UI 更新以及仪表板路径。
常见仪表板模式
- 基础设施仪表板:每节点 CPU 使用率、每节点内存使用、磁盘 I/O、网络流量、按命名空间的 Pod 数量、节点状态。
- 数据库仪表板:每秒查询数、连接池使用、查询延迟(P50、P95、P99)、活跃连接、数据库大小、复制延迟、慢查询。
- 应用仪表板:请求速率、错误率、响应时间(百分位)、活跃用户/会话、缓存命中率、队列长度。
最佳实践
从模板开始(Grafana 社区仪表板);对面板和变量使用一致的命名;在行中分组相关指标;设置合适的时间范围(默认:最近 6 小时);使用变量增强灵活性;为面板添加描述以提供上下文;正确配置单位;设置有意义的阈值颜色;跨仪表板使用一致颜色;在不同时间范围下测试。
以代码方式管理仪表板
技能提供 Terraform Provisioning 示例(使用 grafana_dashboard 与 grafana_folder 资源)与 Ansible Provisioning 示例(通过 copy 模块部署仪表板 JSON 文件并通知重启 Grafana)。
相关技能
- prometheus-configuration:用于指标采集
- slo-implementation:用于 SLO 仪表板
限制
资料中未提供该技能的收费、价格、平台支持范围、具体安装命令或明确的使用步骤说明,上述信息暂未提供。