Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Grafana

ASecurity

Grafana for analytics and BI-style dashboarding: dashboard design, data source configuration, alerting, provisioning as code, plugin management, and the LGTM stack, from the dashboarding/reporting angle. Use for building or troubleshooting Grafana dashboards, panels, alerting rules, or provisioning. WHEN: \"Grafana\", \"Grafana dashboard\", \"Grafana panel\", \"Grafana alerting\", \"Grafana data source\", \"Grafana Cloud\", \"Grafana provisioning\", \"Grafana Terraform\", \"PromQL\", \"LogQL\...

4 stars
0 votes
0 copies
0 views
Added 9/24/2026
devopsgobashsqlnodeexpressdockerkubernetesazureterraformdebugging

Works with

cliapi

Security Analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned 9/24/2026

$npx -y skills add chrishuffman5/domain-expert --skill grafana --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Grafana?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Grafana
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chrishuffman5-grafana/badge)](https://www.skillsdirectory.com/skills/chrishuffman5-grafana)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: grafana
description: "Grafana for analytics and BI-style dashboarding: dashboard design, data source configuration, alerting, provisioning as code, plugin management, and the LGTM stack, from the dashboarding/reporting angle. Use for building or troubleshooting Grafana dashboards, panels, alerting rules, or provisioning. WHEN: \"Grafana\", \"Grafana dashboard\", \"Grafana panel\", \"Grafana alerting\", \"Grafana data source\", \"Grafana Cloud\", \"Grafana provisioning\", \"Grafana Terraform\", \"PromQL\", \"LogQL\", \"TraceQL\", \"Loki\", \"Tempo\", \"Mimir\", \"Grafana Alloy\", \"LGTM stack\", \"Grafana plugin\", \"Grafana variable\", \"grafana-cli\", \"Grafana alert rule\", \"notification policy\", \"contact point\", \"mute timing\", \"recording rule\", \"Grafana embed\". Do NOT use for Grafana as part of an observability/monitoring stack (SLOs, on-call alert routing, infra metrics strategy) -- that's the `grafana` skill in the monitoring plugin."
license: MIT
---

# Grafana for Analytics

This skill covers Grafana as a dashboarding and visualization tool within the analytics domain -- BI-style panels, provisioning, and alerting mechanics. For Grafana in infrastructure monitoring and observability strategy contexts (SLOs, alert routing philosophy, the broader metrics/logs/traces stack), see the `grafana` skill in the monitoring plugin.

This skill covers:

- Dashboard design (panels, rows, tabs, variables, annotations, conditional rendering, auto grid layouts)
- Data source configuration (Prometheus, Loki, Tempo, Mimir, InfluxDB, Elasticsearch, SQL databases, cloud providers)
- Query languages (PromQL, LogQL, TraceQL, SQL Expressions)
- Alerting engine (alert rules, notification policies, contact points, silences, mute timings, recording rules)
- Provisioning as code (YAML file-based, Terraform provider, Kubernetes Operator, Crossplane, Git Sync)
- Plugin ecosystem (data source, panel, and app plugins; plugin catalog; custom plugin development)
- LGTM stack (Loki for logs, Grafana for visualization, Tempo for traces, Mimir for metrics, Alloy for collection)
- Deployment tiers (OSS/AGPL, Enterprise, Cloud) and architecture (single instance, HA, Kubernetes)
- Embedded analytics and reporting

Grafana follows a continuous release model. The current major version is **Grafana 12.x** (12.0 released May 2025, latest 12.4 as of February 2026). There are no version-specific references -- guidance applies to the current platform.

## How to Approach Tasks

1. **Classify** the request:
   - **Dashboard design / visualization** -- Load `references/best-practices.md` for layout patterns, panel selection, variable usage, conditional rendering
   - **Data source / query optimization** -- Load `references/architecture.md` for data source architecture, query engine internals, and `references/best-practices.md` for PromQL/LogQL optimization
   - **Alerting** -- Load `references/architecture.md` for alerting engine architecture, `references/best-practices.md` for alert rule design and notification routing
   - **Performance / troubleshooting** -- Load `references/diagnostics.md` for slow dashboard diagnosis, data source errors, alerting failures, resource usage
   - **Provisioning / IaC / deployment** -- Load `references/architecture.md` for provisioning methods and deployment architecture, `references/best-practices.md` for Terraform and Git Sync patterns
   - **LGTM stack** -- Load `references/architecture.md` for Loki, Tempo, Mimir, Alloy architecture and cross-signal correlation

2. **Determine scope** -- Identify whether the question is about Grafana OSS, Enterprise, or Cloud. Feature availability differs (e.g., query caching, SAML, reporting, enterprise data sources are Enterprise/Cloud only). Also determine if the question involves the broader LGTM stack or Grafana alone.

3. **Load context** -- Read the relevant reference file for deep technical detail.

4. **Analyze** -- Apply Grafana-specific reasoning. Consider data source capabilities, query language idioms, alerting architecture, and deployment tier constraints.

5. **Recommend** -- Provide actionable guidance with query examples, YAML provisioning snippets, Terraform resources, or `grafana.ini` configuration.

6. **Verify** -- Suggest validation steps (Query Inspector, browser DevTools Network tab, `/metrics` endpoint, `grafana.log`, Grafana Advisor).

## Ecosystem

```
┌───────────────────────────────────────────────────────────────┐
│                     LGTM Observability Stack                  │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────┐  │
│  │  Mimir   │ │   Loki   │ │  Tempo   │ │  Grafana Alloy │  │
│  │ (Metrics)│ │  (Logs)  │ │ (Traces) │ │  (Collector)   │  │
│  └─────┬────┘ └────┬─────┘ └────┬─────┘ └───────┬────────┘  │
│        │           │            │                │            │
│        └───────────┴─────┬──────┴────────────────┘            │
│                    ┌─────▼─────┐                              │
│                    │  Grafana  │  Dashboards / Alerting        │
│                    └─────┬─────┘                              │
│         ┌────────────────┼────────────────┐                   │
│  ┌──────▼──────┐  ┌──────▼──────┐  ┌──────▼──────┐          │
│  │  Dashboards │  │   Alerting  │  │  Drilldown  │          │
│  │  (Panels)   │  │   Engine    │  │   Apps      │          │
│  └─────────────┘  └─────────────┘  └─────────────┘          │
└───────────────────────────────────────────────────────────────┘
         │                    │                │
  ┌──────▼──────┐     ┌──────▼──────┐  ┌──────▼──────┐
  │   Web UI    │     │  Terraform  │  │  Kubernetes │
  │   Browser   │     │  Provider   │  │  Operator   │
  └─────────────┘     └─────────────┘  └─────────────┘
```

| Component | Purpose | Deployment |
|---|---|---|
| **Grafana** | Dashboard visualization, alerting, query interface | Self-hosted or Cloud |
| **Mimir** | Long-term, horizontally scalable metrics storage (PromQL-compatible) | Self-hosted or Cloud |
| **Loki** | Horizontally scalable log aggregation (LogQL) | Self-hosted or Cloud |
| **Tempo** | Distributed tracing backend (TraceQL) | Self-hosted or Cloud |
| **Grafana Alloy** | OpenTelemetry-compatible telemetry collector (replaces Grafana Agent) | Self-hosted |
| **Grafana Cloud** | Fully managed SaaS for entire LGTM stack | Managed SaaS |

## Dashboard Architecture

Dashboards are JSON-based collections of panels arranged in rows, with support for variables, annotations, and drilldown navigation.

**Core elements:**
- **Panels** -- Individual visualizations (time series, stat, gauge, bar chart, table, heatmap, geomap, logs, traces, canvas, node graph, etc.)
- **Rows** -- Collapsible containers grouping related panels
- **Tabs** (12.0+) -- Segment dashboard content by context without creating multiple dashboards
- **Variables** -- Template variables enabling dynamic, reusable dashboards (`$env`, `$service`, `$instance`)
- **Annotations** -- Event markers on time-series graphs (deployments, incidents, config changes)
- **Dashboard links** -- Navigation between related dashboards; drilldown workflows
- **Conditional rendering** (12.0+) -- Show/hide panels and rows based on variable selections or data availability
- **Auto grid layout** (12.4+) -- Flexible, responsive panel arrangement

**Panel features:**
- Query Inspector for debugging query performance and response payloads
- Transformations pipeline (filter, join, aggregate, rename, calculate, regression analysis)
- Thresholds and value mappings for color-coded status indication
- Panel overrides for field-level styling
- Visualization actions with custom variables (12.1+)

## Data Sources

Data sources are backend plugins that translate Grafana queries into source-specific query languages.

**Built-in data sources:**
- Prometheus / Mimir (PromQL), Loki (LogQL), Tempo (TraceQL)
- InfluxDB, Graphite, Elasticsearch/OpenSearch
- MySQL, PostgreSQL, Microsoft SQL Server
- CloudWatch, Azure Monitor, Google Cloud Monitoring
- Jaeger, Zipkin (distributed tracing)

**Enterprise/Cloud-only:** Splunk, Oracle, ServiceNow, SAP HANA, Snowflake, Databricks, MongoDB

**Key architecture points:**
- Queries route through the Grafana server (server-side proxy), preventing direct browser-to-database connections
- Mixed data source mode combines queries from multiple sources in a single panel
- SQL Expressions (12.0+) join and combine data from multiple sources using SQL syntax

## Alerting

Grafana Alerting is built on the Prometheus alerting model with unified multi-data-source support.

**Alert rule types:**
- **Grafana-managed rules** -- Evaluated by the Grafana alerting engine; support any data source
- **Data source-managed rules** -- Evaluated by compatible backends (Prometheus/Mimir/Loki ruler)
- **Recording rules** -- Pre-compute expensive queries for faster dashboard loading

**Notification pipeline:**
1. Alert rules define query + condition + `for` duration
2. Notification policies route alerts via label matchers (tree-structured, top-down matching)
3. Contact points deliver notifications (Slack, PagerDuty, OpsGenie, Teams, email, webhooks, Telegram, Discord)
4. Silences suppress one-time; mute timings suppress recurring (nights, weekends, maintenance)
5. Grouping combines related alert instances (`group_by`, `group_wait`, `group_interval`, `repeat_interval`)

**No Data / Error handling:** Configure explicitly per rule -- `Alerting`, `NoData`, `OK`, or `KeepLastState`.

## Provisioning

Grafana supports multiple infrastructure-as-code approaches:

| Method | Scope | Best For |
|---|---|---|
| **YAML file-based** | Data sources, dashboards, alerting, plugins | Simple deployments, Docker Compose |
| **Terraform provider** | All Grafana resources (dashboards, data sources, folders, alerts, orgs) | Multi-environment IaC |
| **Kubernetes Operator** | Grafana instances + resources via CRDs | Kubernetes-native deployments |
| **Crossplane** (alpha) | Kubernetes manifests for Terraform resources | GitOps with ArgoCD/Flux |
| **Git Sync** (12.0+) | Dashboard version control with PR-based workflows | Collaborative dashboard development |
| **REST API** | Programmatic management of all resources | CI/CD pipelines, automation |

**File-based provisioning structure:**
```
/etc/grafana/provisioning/
  datasources/
    datasource.yaml
  dashboards/
    dashboard-provider.yaml
  alerting/
    alert-rules.yaml
    contact-points.yaml
    notification-policies.yaml
    mute-timings.yaml
  plugins/
    plugin.yaml
```

Environment variable substitution: `$ENV_VAR` or `${ENV_VAR}` in provisioning YAML files.

## Deployment Tiers

| Feature | OSS (AGPL) | Enterprise | Cloud |
|---|---|---|---|
| Core dashboards, alerting, plugins | Yes | Yes | Yes |
| Enterprise data sources (Splunk, Oracle, etc.) | No | Yes | Yes |
| SAML / Team Sync / SCIM | No | Yes | Yes |
| Query caching (built-in) | No | Yes | Yes |
| Reporting (scheduled PDF/CSV) | No | Yes | Yes |
| Audit logging | No | Yes | Yes |
| Data source permissions (fine-grained) | No | Yes | Yes |
| White labeling / custom branding | No | Yes | Yes |
| Managed LGTM stack | No | No | Yes |
| Adaptive Metrics / Asserts | No | No | Yes |
| Synthetic Monitoring / Frontend Observability | No | No | Yes |
| Uptime SLA | Self-managed | Self-managed | 99.5% |

### Grafana Cloud Pricing

| Tier | Cost | Included |
|---|---|---|
| **Free** | $0 | 10K metrics series, 50 GB logs/traces/profiles, 3 users, 2-week retention |
| **Pro** | $19/mo + usage | Extended retention (13-month metrics, 30-day logs/traces), support, all features |
| **Advanced/Enterprise** | Custom | SLAs, dedicated support, advanced security |

## Deployment Architecture

| Pattern | Users | Database | Notes |
|---|---|---|---|
| **Single instance** | 5-10 | Embedded SQLite | 200-500 MB memory baseline |
| **High availability** | 10-200+ | PostgreSQL or MySQL | Load balancer, shared storage, session affinity |
| **Kubernetes** | 10-200+ | PostgreSQL | Helm charts, Operator, HPA, ConfigMaps/Secrets |
| **Docker Compose** | 5-50 | PostgreSQL | Development and small production |

**For production:** Use PostgreSQL or MySQL (not SQLite). Multiple Grafana instances behind a load balancer with shared session storage (Redis/Memcached).

## Grafana 12.x Key Features

| Version | Highlights |
|---|---|
| **12.0** (May 2025) | Tabs, conditional rendering, Git Sync (preview), SQL Expressions, Drilldown apps GA, table rebuilt (97.8% faster), Cloud migration GA, SCIM preview |
| **12.1** (Jul 2025) | New alert rule page GA, regression analysis transformation, Grafana Advisor GA, visualization actions with custom variables |
| **12.2** (Sep 2025) | Enhanced ad hoc filtering GA, redesigned table GA, AI-powered SQL expressions (preview), Metrics Drilldown with Alert Integration GA |
| **12.3** (Nov 2025) | Redesigned logs panel, SolarWinds/Honeycomb/OpenSearch data sources, dashboard sharing improvements |
| **12.4** (Feb 2026) | Git Sync GitHub App auth, auto grid layout, suggested dashboards (preview), dashboard templates (DORA metrics), revamped gauge, SCIM GA, RBAC for saved queries |

## LGTM Stack

The LGTM stack provides unified observability across metrics, logs, and traces.

### Cross-Signal Correlation

- Tempo links to Loki (`tracesToLogsV2`) and Mimir (`tracesToMetrics`)
- Loki links to Tempo via derived fields (extract trace IDs from log entries)
- Exemplars link metric data points to specific traces
- Drilldown apps (GA in 12.0) provide code-free navigation between signals

### Grafana Alloy

Replaces Grafana Agent as the recommended telemetry collector:
- OpenTelemetry-compatible pipeline for metrics, logs, and traces
- Declarative, component-based configuration
- Supports Prometheus scraping, OTLP ingestion, and various receivers

### Performance Benchmarks (GrafanaCON 2025)

LGTM stack query P99: 85ms vs ELK stack at 650ms (7x faster).

## Anti-Patterns

| Anti-Pattern | Problem | Correct Approach |
|---|---|---|
| 30+ panels on a single dashboard | Cumulative lag from parallel data fetches; browser unresponsive | Split into focused dashboards or use tabs; keep overview dashboards to 10-15 panels |
| 5-second auto-refresh on complex dashboards | Constant query load on data sources and Grafana server | 30s-60s for operational dashboards; 5m-15m for trends and capacity |
| `{__name__=~".+"}` catch-all PromQL | Scans all metrics; overwhelms Prometheus/Mimir | Use specific metric names and label selectors |
| Querying months of high-resolution data | Massive data transfer; slow rendering | Use per-panel time range overrides; recording rules for long-term trends |
| Per-pod metrics without aggregation | Thousands of time series per query (high cardinality) | Aggregate: `sum by (service)` instead of per-instance |
| SQLite in production | File-level locking under concurrent load; corruption risk | PostgreSQL or MySQL for production |
| Unsigned plugins in production | Security risk from unverified code | Only install signed plugins; use `allow_loading_unsigned_plugins` for dev only |
| Forgetting No Data / Error state config | False `DatasourceError` or `NoData` alerts | Configure `nodata_state` and `error_state` explicitly per alert rule |
| Mute timings expected to inherit | Mute timings are NOT inherited from parent notification policies | Apply mute timings at each relevant policy level |
| No self-monitoring | Grafana performance degrades silently | Scrape `/metrics` endpoint; build self-monitoring dashboard; alert on resource usage |

## Cross-References

- `overview` skill, this plugin -- technology comparison and selection guidance across BI tools
- `grafana` skill, monitoring plugin -- Grafana for infrastructure monitoring and observability use cases

## Reference Files

- `references/architecture.md` -- Dashboard internals, data source architecture, panels, alerting engine, provisioning methods, plugin system, deployment tiers, LGTM stack, cross-signal correlation
- `references/best-practices.md` -- Dashboard design (Z-pattern, RED method, hierarchy), query optimization (PromQL/LogQL), alerting rule design, notification policies, provisioning as code (Terraform, Git Sync, Kubernetes), plugin management
- `references/diagnostics.md` -- Slow dashboard diagnosis (Query Inspector, network tab, server metrics, logs), data source error troubleshooting, alerting failure investigation, resource usage monitoring, self-monitoring setup

## Diagnostic Scripts

Ready-made HTTP API scripts (bash + curl + jq, service-account token) in `scripts/`, numbered by investigation order. All read-only; placeholders are `__UPPER_SNAKE__` tokens.

- `scripts/01-health-and-datasources.sh` -- Instance health plus per-datasource connectivity checks
- `scripts/02-dashboard-inventory.sh` -- Dashboard inventory by folder with stale-content detection
- `scripts/03-alert-rules-status.sh` -- Alert rule health (error/nodata) and currently firing alerts
- `scripts/04-user-access-audit.sh` -- Users by role, last-seen age, service accounts (privilege creep)

Attribution

chrishuffman5chrishuffman5
View sourceSee grades on GitHubMore from chrishuffman5 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Terraform Module Library

Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.

401991 votes

sematext-otel

Wire a service's OpenTelemetry output to Sematext Cloud. Walks through region, App-type, instrumentation flow (managed OTLP endpoint vs Sematext Agent), and signal selection (traces/metrics/logs), then produces the exact env-var block and points at a runnable reference example in this repo. Invoke when instrumenting a new app for Sematext.

01 votes

Deployment Patterns

Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications. Use when setting up deployment infrastructure or planning releases.

2699140 votes

Babysit

Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.

971540 votes

V7 Roster

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

953190 votes
View all in devops →