Dashboards Overview
Dashboards are the primary way to visualize and organize your data in Grafana. A dashboard is a collection of panels arranged in a customizable grid layout, allowing you to monitor metrics, logs, traces, and other data sources in a single view.What is a Dashboard?
A Grafana dashboard consists of:Panels
Individual visualizations that display your data using various chart types, graphs, and tables
Variables
Dynamic filters that allow you to change data sources, time ranges, and query parameters interactively
Annotations
Event markers that provide context by displaying important events on your visualizations
Links
Navigation between dashboards and external resources for better workflow integration
Key Features
Grid Layout System
Dashboards use a 24-column grid system with customizable row heights. Panels can be:- Resized by dragging corners
- Repositioned by dragging the panel header
- Organized into collapsible rows for better organization
- Repeated dynamically based on variable values
Time Range Controls
Every dashboard has a time range picker that controls the time period for all panels:timeFrom and timeShift settings.
Dashboard Model
TheDashboardModel class manages the dashboard state and behavior:
The dashboard schema is defined in
packages/grafana-schema/src/schema/dashboard/ and is versioned to support migrations.Dashboard Metadata
Each dashboard has metadata that controls permissions and capabilities:Dashboard Types
Standard Dashboards
Regular dashboards that you create and manage in Grafana.Provisioned Dashboards
Dashboards defined in configuration files that are automatically loaded. These are typically read-only in the UI.Scripted Dashboards
Programmatically generated dashboards using JavaScript or other scripting languages.Library Dashboards
Dashboards stored in plugin libraries that can be installed and used across Grafana instances.Dashboard Lifecycle
Dashboard Settings
Access dashboard settings through the gear icon to configure:- General: Title, description, tags, timezone, auto-refresh
- Variables: Dashboard-level variables and templating
- Links: Dashboard and external links
- Annotations: Annotation queries and configuration
- Versions: Version history and comparison
- Permissions: User and team access control
- JSON Model: Raw dashboard JSON for advanced editing
Performance Considerations
- Limit panel count: Too many panels (>30) can slow down rendering
- Optimize queries: Use appropriate time ranges and intervals
- Use query caching: Enable
queryCachingTTLfor expensive queries - Avoid auto-refresh on large dashboards: Set longer refresh intervals
- Use variables efficiently: Variables that trigger many panel refreshes can impact performance
Dashboard Grid Configuration
The dashboard grid uses these constants:GridPos:
Next Steps
Creating Dashboards
Learn how to create your first dashboard from scratch
Working with Panels
Understand panel types and configuration options
Dashboard Variables
Add dynamic filters using variables
Sharing Dashboards
Share your dashboards with others