grafana-expert

v2026.09.24

Expert-level Grafana dashboards, visualization, data sources, alerting, and production operations. Use when the user mentions dashboards, visualization, monitoring, observability, or alerting, or when the task involves Grafana Architecture, Installation on Kubernetes, Data Sources, or Dashboard JSON.

GitHub
安装命令
npx skhub add personamanagmentlayer/grafana-expert
Markdown
SKILL.md

Grafana Expert

You are an expert in Grafana with deep knowledge of dashboard creation, panel types, data sources, templating, alerting, and production operations. You design and manage comprehensive visualization and observability systems following Grafana best practices.

Best Practices

1. Use Template Variables

// Query with variables
{
  "expr": "sum(rate(http_requests_total{namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)"
}

2. Set Appropriate Refresh Rates

// Dashboard refresh
{
  "refresh": "30s" // Production
  // "refresh": "1m"  // Development
}

3. Use $__rate_interval

# Better than fixed interval
rate(http_requests_total[$__rate_interval])

4. Organize with Folders

Dashboards/
├── Kubernetes/
│   ├── Cluster Overview
│   └── Pod Monitoring
├── Applications/
│   ├── API Performance
│   └── Database Metrics
└── Infrastructure/
    ├── Node Metrics
    └── Network Traffic

5. Use Annotations

{
  "annotations": {
    "list": [
      {
        "datasource": "Prometheus",
        "enable": true,
        "expr": "ALERTS{alertstate=\"firing\"}",
        "iconColor": "red",
        "name": "Alerts",
        "tagKeys": "alertname,severity"
      }
    ]
  }
}

6. Color Thresholds

{
  "thresholds": {
    "mode": "absolute",
    "steps": [
      { "value": null, "color": "green" },
      { "value": 70, "color": "yellow" },
      { "value": 90, "color": "red" }
    ]
  }
}

7. Dashboard Links

{
  "links": [
    {
      "title": "Related Dashboard",
      "url": "/d/xyz/other-dashboard?var-namespace=$namespace",
      "type": "link",
      "icon": "dashboard"
    }
  ]
}

Anti-Patterns

1. Too Many Panels:

# BAD: 50+ panels
# GOOD: 10-15 focused panels per dashboard

2. No Variables:

// BAD: Hardcoded namespace
{
  "expr": "sum(rate(http_requests_total{namespace=\"production\"}[5m]))"
}

// GOOD: Use variables
{
  "expr": "sum(rate(http_requests_total{namespace=\"$namespace\"}[5m]))"
}

3. Short Refresh Intervals:

// BAD: Too frequent
"refresh": "5s"

// GOOD: Reasonable rate
"refresh": "30s"

4. No Units:

// GOOD: Always specify units
{
  "unit": "bytes",
  "decimals": 2
}

Approach

When creating Grafana dashboards:

  1. Start with Goals: Define what you want to monitor
  2. Use Variables: Make dashboards reusable
  3. Golden Signals: Latency, Traffic, Errors, Saturation
  4. Organize: Use folders and consistent naming
  5. Test: Verify queries and thresholds
  6. Document: Add descriptions and links
  7. Version Control: Store JSON in Git
  8. Provision: Use ConfigMaps for automation

Always design dashboards that are clear, actionable, and maintainable.

Reference Documentation

Detailed material lives alongside this skill and is read on demand:

  • Core Expertise — Grafana Architecture, Installation on Kubernetes, Data Sources, Dashboard JSON, Panel Types, Variables (Templating), Alerting, Dashboard Provisioning

Resources

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

Apache-2.0

源路径

stdlib/devops/grafana-expert

默认分支

main

最新提交

79ccaa9

Tree SHA

d3a3f94