SuperAPI AI 工具集

grafana-dashboards

部署与运维

查看项目

更新于 10-16 07:30

技能介绍

用途

Grafana Dashboards 用于创建和管理生产级的 Grafana 仪表板,实现全面的系统可观测性,帮助设计用于监控应用程序、基础设施和业务指标的有效仪表板。

使用场景

该技能适用于以下情况:可视化 Prometheus 指标、创建自定义仪表板、实现 SLO 仪表板、监控基础设施、跟踪业务 KPI。

仪表板设计原则

信息层级

自上而下依次为:关键指标(大数字)、关键趋势(时序图)、详细指标(表格/热力图)。

RED 方法(面向服务)

  • Rate:每秒请求数
  • Errors:错误率
  • Duration:延迟/响应时间

USE 方法(面向资源)

  • Utilization:资源忙碌时间百分比
  • Saturation:队列长度/等待时间
  • Errors:错误计数

主要能力

仪表板结构

技能给出了 API 监控仪表板的 JSON 示例,包含标题、标签、时区、刷新间隔与多个面板,示例中展示了请求速率、错误率百分比(含告警条件)与 P95 延迟等面板的配置方式,并演示了 gridPos 布局。

面板类型

技能提供四类面板的配置示例:

  1. Stat 面板(单值):展示 Total Requests,含阈值颜色分级(0 绿色、80 黄色、90 红色)。
  2. Time Series 时序图:展示 CPU 使用率,并以百分比格式化 Y 轴。
  3. Table 表格面板:展示服务状态,使用 up 查询并结合 organize 转换重命名列。
  4. 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 仪表板

限制

资料中未提供该技能的收费、价格、平台支持范围、具体安装命令或明确的使用步骤说明,上述信息暂未提供。