← ClaudeAtlas

grafana-best-practicelisted

Review, improve, organize, deploy, and verify Grafana dashboards, provisioned alert rules, and the Telegraf→InfluxDB→Grafana monitoring stack. Use when working on Grafana dashboards, folders, tags, legends, panel readability, Flux/InfluxDB query correctness or performance, Telegraf JSON/HTTP scraping, anonymous access, dashboard/alert provisioning, Grafana Docker deployments, high CPU or memory from dashboard queries, InfluxDB cardinality and tag-vs-field modelling, Flux alert conditions, contact points and Telegram delivery, or requests like "review this dashboard", "optimize Grafana panels", "why is this dashboard slow", "fix legends", "move dashboards into a folder", "set up Grafana alerting", "alert won't fire / won't deliver", "fix Telegram alerts", "route alerts to a Telegram topic (message_thread_id)", "bump the Grafana version", "deploy and verify dashboards", "InfluxDB is OOM-killed / restart-looping", "series cardinality explosion", "should this be a tag or a field", or "Grafana best practices".
wquguru/skills · ★ 87 · AI & Automation · score 70
Install: claude install-skill wquguru/skills
# Grafana Best Practice Use this skill to make Grafana dashboards readable, correctly aggregated, navigable, and safely deployable. Treat the rendered dashboard, Grafana API state, datasource query results, and container health as the source of truth. ## Core Workflow 1. Inspect the current dashboard JSON and provisioning files before editing: - Dashboard JSON: `uid`, `title`, `tags`, `templating.list`, `links`, `panels`. - Provisioning: `provisioning/dashboards/*.yaml`, especially `folder`, provider `path`, and `allowUiUpdates`. - Runtime state when available: `/api/search`, `/api/folders`, `/api/dashboards/uid/<uid>`, `/api/ds/query`, `/api/health`. 2. Audit dashboards for: - Filters: default values, multi/all behavior, variable labels, and whether All views preserve required dimensions. - Aggregation dimensions: each metric's real labels — a per-instance/shard id, per-event labels (e.g. `symbol`, `reason`, `side` in a trading app), `container_name` for containers, and host-level metrics that carry none of these. - Legend placement, values, sorting, and display names. - Long labels leaking into stat cards or legends, such as `environment`, `project`, `url`, or raw Prometheus family names. - Bar chart sorting and limits. - Table column headers — no field-wide `defaults.displayName` (it overrides every column); columns renamed via the `organize` transform. - Multi-bucket / `union()` queries — every `filter()` pushed inside each `from()` (predi