← 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, dashboard folders, tags, legends, panel readability, Flux/InfluxDB query correctness or performance, Prometheus/Telegraf dimensions, Telegraf JSON/HTTP scraping, anonymous access, dashboard/alert provisioning, Grafana Docker deployments, high CPU or memory caused by dashboard queries, provisioned alert rules and Flux alert conditions, contact points and Telegram/notification delivery, or requests like "review this dashboard", "optimize Grafana panels", "why is this dashboard slow / using CPU", "fix legends", "move dashboards into a folder", "add tags", "set up Grafana alerting", "alert won't fire / won't deliver", "fix Telegram alerts", "route alerts to a Telegram topic/thread (message_thread_id)", "bump/upgrade the Grafana version", "deploy and verify dashboards", or "Grafana best practices".
wquguru/skills · ★ 76 · AI & Automation · score 75
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