SuperAPI AI 工具集

grafana-dashboards

部署与运维

查看项目

更新于 10-15 07:57

技能介绍

用途

grafana-dashboards 技能用于设计有效的 Grafana 仪表盘,对应用程序、基础设施和业务指标进行监控。当需要可视化 Prometheus 指标、创建自定义仪表盘、实现 SLO 仪表盘、监控基础设施或追踪业务 KPI 时,可使用本技能。

本技能不适用于与 Grafana 仪表盘无关的任务,或需要超出此范围的其它领域或工具的场景。

主要能力

仪表盘设计原则

1. 信息层级

  • 顶部:关键指标(大数字)
  • 中部:关键趋势(时序图)
  • 底部:详细指标(表格/热力图)

2. RED 方法(用于服务)

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

3. USE 方法(用于资源)

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

面板类型

技能提供以下面板类型的配置示例:

  • Stat 面板(单值):展示单值统计,支持阈值颜色分级
  • Time Series 图:展示时序趋势,如 CPU 使用率
  • Table 面板:展示服务状态等表格数据,支持数据转换(重命名、排除字段)
  • Heatmap 热力图:展示延迟分布

变量

支持查询变量(Query Variables),可从数据源获取标签值并用于查询过滤。示例包括 namespace 和 service 变量,并支持多选。变量可在查询中以 $namespace、$service 形式引用。

仪表盘内告警

支持在仪表盘中配置告警,包括条件、评估方式、持续时间(for)、频率(frequency)、消息内容、无数据状态以及通知渠道。

仪表盘 Provisioning

通过 dashboards.yml 配置文件实现仪表盘自动加载,可配置 provider 名称、文件夹、更新间隔、是否允许界面更新以及仪表盘文件路径。

常见仪表盘模式

  • 基础设施仪表盘:CPU 利用率、内存使用、磁盘 I/O、网络流量、Pod 数量、节点状态
  • 数据库仪表盘:每秒查询数、连接池使用、查询延迟(P50/P95/P99)、活跃连接、数据库大小、复制延迟、慢查询
  • 应用仪表盘:请求速率、错误率、响应时间百分位、活跃用户/会话、缓存命中率、队列长度

Dashboard as Code

提供 Terraform 与 Ansible 的部署示例:

Terraform:

resource "grafana_dashboard" "api_monitoring" {
  config_json = file("${path.module}/dashboards/api-monitoring.json")
  folder      = grafana_folder.monitoring.id
}

resource "grafana_folder" "monitoring" {
  title = "Production Monitoring"
}

Ansible:

- name: Deploy Grafana dashboards
  copy:
    src: "{{ item }}"
    dest: /etc/grafana/dashboards/
  with_fileglob:
    - "dashboards/*.json"
  notify: restart grafana

使用方式

  1. 明确目标、约束和所需输入。
  2. 应用相关最佳实践并验证结果。
  3. 提供可操作步骤和验证方法。
  4. 如需详细示例,打开 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 仪表盘