Main features
- Dashboards with many panel types and template variables
- Explore view for ad hoc queries and side-by-side comparison
- Jump from metrics to matching logs with label filters kept
- Several data sources mixed in one panel
- Built-in sources for Prometheus, Loki, Tempo, Jaeger, Elasticsearch and InfluxDB
- SQL sources for MySQL, PostgreSQL and SQL Server
- CloudWatch, Azure Monitor and Google Cloud Monitoring sources
- Alert rules with notifications to Slack, PagerDuty, Opsgenie and others
- Plugin system for data sources, panels and apps
- Organizations, teams and dashboard permissions
What Grafana does
Grafana is the screen most monitoring stacks end up on. It queries data where it is already stored and turns it into dashboards, ad hoc explorations and alerts. It does not collect or store metrics, logs or traces itself, which is why it appears next to almost every other tool in this category rather than instead of them.
Out of the box it can read from Prometheus, Graphite, InfluxDB and OpenTSDB for metrics; Loki and Elasticsearch for logs; Tempo, Jaeger and Zipkin for traces; Pyroscope for profiles; MySQL, PostgreSQL and SQL Server; and the monitoring services of AWS, Azure and Google Cloud. Plugins add many more. One panel can combine queries against different sources, and the Explore view lets you move from a spike on a metrics graph to the matching log lines with the same labels applied.
Alert rules are created visually, evaluated continuously by the server, and sent to contact points such as Slack, PagerDuty, Opsgenie or webhooks.
Building a full stack
To replace an all-in-one platform you combine Grafana with storage backends. Grafana Labs publishes its own under the same AGPL-3.0 licence: Loki for logs, Tempo for traces and Mimir for long-term Prometheus metrics. Many teams instead pair Grafana with Prometheus alone for infrastructure dashboards. Either way, each backend is a separate system with its own sizing, upgrades and backups.
Self-hosting Grafana
Grafana provides packages for Debian and Ubuntu, RHEL and Fedora, SUSE and openSUSE, macOS and Windows, plus Docker images and a Helm chart for Kubernetes. The documented minimum is 512 MB of memory and one CPU core; Grafana’s sizing guide puts a small production instance (under 25 concurrent users) at two cores and 2 to 4 GB of RAM. These figures cover Grafana alone, not the data sources behind it. It stores its own configuration in SQLite by default, but the documentation recommends external MySQL or PostgreSQL for production. Large deployments run several instances with Redis and a separate image renderer, ideally on Kubernetes.
Open source, Enterprise and Cloud
The repository is AGPL-3.0-only, with a few libraries under Apache-2.0. Grafana Enterprise is a commercial edition that adds role-based access control, data source permissions, query caching, PDF reports, auditing, SAML and enhanced LDAP, custom branding, support, and a set of Enterprise-only data source plugins, including ones for Datadog, New Relic, Dynatrace, Jira and Salesforce. If you want to keep viewing data that still lives in Datadog or New Relic during a migration, note that those plugins are not in the open source edition.
Grafana Cloud is the hosted service from Grafana Labs, with an always-free tier and usage-based billing above it. Synthetic Monitoring, which runs uptime and browser checks from probe locations around the world, is a Grafana Cloud feature and is not part of the open source server.
Limitations
Grafana needs other systems to hold your data, so it is never a complete monitoring product by itself. Several access-control and reporting features are reserved for Enterprise or paid Cloud plans. The AGPL licence requires you to publish changes if you offer a modified Grafana to others over a network, which matters to companies embedding it in a product.
Who it suits
Grafana suits almost any team that already has metrics or logs somewhere and wants dashboards and alerts on them, from a home lab with Prometheus to large platform teams. If you want a single install that collects and stores telemetry as well, look at SigNoz, Netdata or Zabbix.
License details
AGPL-3.0-only. Some packages (grafana-ui, grafana-data, grafana-runtime and others) are Apache-2.0. Grafana Enterprise is a separate commercial edition with extra features and data sources.
Technical details
Self-hosting needs
- SQLite
- MySQL or PostgreSQL
Built with
- Go
- TypeScript
- React
GitHub topics
- alerting
- analytics
- business-intelligence
- dashboard
- data-visualization
- elasticsearch
- go
- grafana
- hacktoberfest
- influxdb
- metrics
- monitoring
- mysql
- postgres
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.