Grafana OSS, Grafana Cloud, and Grafana Enterprise all run the same dashboarding core, but the decision between them isn’t about dashboards. It comes down to who operates the infrastructure, how much governance you need (RBAC, SAML SSO, audit logging), and what you’re willing to trade between license cost and operational cost.
Quick answer: Grafana OSS is free and self-hosted; Grafana Cloud is fully managed with usage-based pricing; Grafana Enterprise is self-hosted plus a paid license for governance features like RBAC, SAML SSO, and audit logging.
None of that governance is required to run OSS in production, but one specific capability is missing regardless: native reporting. Scheduled PDF and CSV generation with email delivery is available only in Grafana Enterprise and paid Grafana Cloud accounts.
Organizations that want to keep Grafana OSS and add automated reporting can use Skedler, a reporting automation tool that connects to an existing Grafana OSS instance and generates PDF, PNG, HTML, Excel, and CSV reports on a schedule without an Enterprise license.
Grafana OSS vs Grafana Cloud vs Grafana Enterprise
All three options share the same core: dashboards, alerting, data source plugins, and Explore. The differences are operational and commercial, not features of the visualization layer itself.
Grafana OSS is free, self-hosted, and licensed under AGPLv3. You install it, operate it, and get dashboards, alerting, Explore, and a plugin framework with hundreds of community data sources, at no license cost.
Grafana Enterprise is the same self-hosted deployment, plus a paid license that adds role-based access control (RBAC), SAML single sign-on, team sync, audit logging, data source permissions, premium data source plugins (Snowflake, Oracle, Splunk, ServiceNow, and others), Reporting, and 24/7 support. You still operate the infrastructure.
Grafana Cloud is Grafana Labs running the stack for you, including managed Prometheus-compatible metrics (Mimir), logs (Loki), and traces (Tempo) alongside Grafana itself. Paid Grafana Cloud accounts include many of the same Enterprise-tier features, billed on published, usage-based tiers.
| Capability | Grafana OSS | Grafana Enterprise | Grafana Cloud |
|---|---|---|---|
| Dashboards, alerting, data sources | Yes | Yes | Yes |
| Governance: RBAC, SAML, audit logging | Basic permissions only | Yes | Yes, paid accounts |
| Scheduled reporting | No | Yes | Yes, paid accounts |
| Premium data source plugins | Community only | Yes | Yes, paid accounts |
| Infrastructure | Self-hosted, you operate it | Self-hosted, you operate it | Fully managed by Grafana Labs |
| Official support | Community forums | 24/7 | By plan |
| License cost | Free (AGPLv3) | Contact sales, price unpublished | Free tier; Pro from $19/month plus usage; Enterprise from $25,000/year commit |
Grafana Cloud’s free tier includes 14 days of retention and community support, with no credit card required. Self-hosted options (OSS and Enterprise) have lower subscription costs and higher operational costs; Grafana Cloud inverts that, trading a metered bill for infrastructure you don’t have to run.
Why Organizations Choose Grafana OSS
- Infrastructure control. You choose the region, network boundary, storage backend, and upgrade cadence, which matters for air-gapped environments and infrastructure-as-code pipelines.
- Data sovereignty. Nothing leaves your network unless you send it somewhere; there’s no vendor region list to check against a compliance requirement.
- No per-seat or usage metering. AGPLv3 is free for commercial use with no user cap. Its obligations only apply if you modify Grafana’s source and distribute or host the modified version; running stock Grafana internally triggers nothing.
- Full plugin freedom. You can install any community or custom plugin, including unsigned ones, which Grafana Cloud restricts on its shared platform for security reasons.
- No new managed-vendor dependency. If you already operate Prometheus, Loki, or Elasticsearch, adding Grafana OSS is less new operational surface than adding a managed vendor relationship.
Grafana OSS Limitations and Trade-Offs
Free to license does not mean free to run. Grafana Labs’ own guidance is direct about this:
| Trade-off | What it looks like |
|---|---|
| Infrastructure | Provisioning, configuration, scaling, and ongoing maintenance as usage grows |
| Engineering | Dedicated time for installation, administration, and upgrades, instead of product work |
| Opportunity cost | Engineers spend hours keeping Grafana running instead of building features |
| Downtime risk | No guaranteed SLA, no 24/7 vendor support, and the risk of troubleshooting blind during an incident |
| Reporting | No native reporting. Scheduled PDF/CSV generation and distribution requires Grafana Enterprise, a paid Grafana Cloud account, or a separate tool such as Skedler |
Grafana OSS also has two governance gaps not captured in the table above: no built-in RBAC or SAML SSO, and no audit logging. Both matter mainly to organizations with formal access-governance requirements. Reporting, listed above, gets its own deep dive later in this guide.
Grafana OSS Migration and Implementation
Moving to Grafana OSS, whether from Grafana Cloud, from Grafana Enterprise, or from another platform, is not purely a software decision. In practice, teams doing this work through several distinct pieces:
- Dashboard migration: exporting dashboard JSON from the source platform and rebuilding it on OSS, including checking panel and plugin compatibility.
- Data source reconfiguration: repointing data sources at self-hosted backends and validating that queries still return the same results.
- Authentication and permissions: rebuilding SSO, teams, and access control on OSS’s more limited built-in permission model, since RBAC and SAML SSO aren’t part of OSS.
- Production deployment architecture: sizing infrastructure, planning for availability, and setting an upgrade cadence, now that Grafana Labs isn’t managing any of it.
- Existing environment assessment: reviewing what’s currently running on Cloud or Enterprise to decide what actually needs to move versus what can be re-architected.
- Reporting implementation: once the OSS deployment is live, closing the reporting gap covered next in this guide, including template design, schedule configuration, and distribution setup if that path is Skedler.
None of this means Grafana OSS is the wrong choice. It’s the standard cost of moving from a managed platform to a self-hosted one, and it’s easier to plan for upfront than to discover partway through a migration.
Need help Migrating to Grafana OSS?
We handle end-end migrations so your team doesn't have to.
Talk to ExpertDoes Grafana OSS Support Reporting?
No. Grafana’s own Reporting API documentation states this directly: “Reporting is only available in Grafana Enterprise.” The same restriction applies to Grafana Cloud, where many Enterprise features, including Reporting, are available on paid accounts.
This isn’t limited to scheduled reporting. Even a single, one-off “Export as PDF” action for one dashboard is gated the same way. Grafana’s dashboard-sharing documentation states plainly: “This feature is only available on Grafana Enterprise.”
What Grafana OSS does include: direct dashboard links, snapshots (a sanitized, public, point-in-time share), JSON export and import for portability between instances, and CSV export of table panel data through the panel inspector. If you install the separate Grafana Image Renderer service, OSS can also produce PNG screenshots of individual panels, which is how OSS-based alert notifications include images today. What none of this does on its own is assemble multiple panels into a formatted document, apply a schedule, or email the result to a distribution list. That specific pipeline, scheduling plus templating plus distribution, is what “Reporting” means in Grafana’s documentation, and it stays behind the Enterprise/Cloud license line.
One more current detail worth knowing even for licensed users: Grafana’s Reporting feature is currently a redesigned, public-preview capability that requires enabling a feature toggle (newShareReportDrawer), requires SMTP configuration, and requires the Grafana Image Renderer plugin (v3.10 or later) or the standalone rendering service. Grafana Labs cautions that breaking changes are possible before general availability.
How to Add Reporting to Grafana OSS
There are three practical ways to add reporting to a Grafana OSS deployment:
- Upgrade to Grafana Enterprise, which includes Reporting as part of a broader governance license.
- Use Skedler, a dedicated reporting automation tool that connects to your existing Grafana OSS instance.
- Build a custom reporting pipeline, commonly a DIY Python script against Grafana’s API and the Grafana Image Renderer service, generally the least efficient of the three unless your requirements are unusual.
Each has a different cost and maintenance profile. The next sections cover all three, starting with Skedler, since it’s the option built specifically to close this one gap without changing the rest of the Grafana deployment.
Use Skedler for Grafana OSS Reporting
What Is Skedler?
Skedler is a reporting automation tool for Grafana and Elasticsearch/Kibana environments, including Grafana OSS. It connects to an existing Grafana instance and generates PDF, PNG, HTML, Excel, and CSV reports from dashboards on a schedule, without requiring a Grafana Enterprise license.
How Does Skedler Work with Grafana OSS?
Skedler runs as a standalone application, not a Grafana plugin. It connects to Grafana OSS through Grafana’s own API and existing dashboard configuration, and handles rendering, scheduling, formatting, and distribution outside of Grafana itself. The Grafana OSS deployment doesn’t need to be modified, upgraded, or relicensed to work with Skedler.

Cheaper Alternative to Grafana Enterprise Reporting
Skedler is a cheaper alternative to Grafana Enterprise when reporting is the only capability an otherwise-successful Grafana OSS deployment is missing. Grafana Enterprise bundles Reporting together with RBAC, SAML SSO, team sync, audit logging, and premium data source plugins, all under one license, so upgrading means paying for governance features that may not be needed yet. Skedler is scoped specifically to reporting, so it closes that one gap without a platform-wide license change.
Who Should Use Skedler?
Skedler fits teams running Grafana OSS, or Kibana/Elasticsearch, that need to distribute dashboard data as scheduled PDF, Excel, CSV, or HTML reports, and want to avoid a platform-wide Enterprise upgrade or an internally built pipeline. That includes NOC and infrastructure teams, MSPs and MSSPs reporting to clients, and any team sending dashboard data to people who don’t log into Grafana.
Add Reporting to Grafana OSS
Get scheduled PDF, Excel, and CSV reports without paying for Enterprise
Book a DemoWhat Grafana Reporting Workflows Does Skedler Support?
- Formats: PDF, PNG, HTML, Excel, and CSV, generated through a drag-and-drop report designer with branded templates in light and dark themes.
- Scheduling: custom schedules, including hourly, daily, weekly, and monthly cadence, with holiday-aware scheduling and pause/resume controls.
- Burst reporting: one report definition generates personalized, filtered output per recipient from a single underlying dashboard.
- Distribution: email (Outlook, Gmail, or any SMTP server), Slack, AWS S3, or webhook/SFTP delivery.
- Operations: LDAP integration, multi-organizational support, role-based access, SSL/TLS to the data source, and error handling when a report fails to generate.
DIY Grafana Reporting: Build vs Buy
A DIY reporting pipeline, typically a Python script against Grafana’s API and the Image Renderer service, covered in detail below, means building and then maintaining rendering, scheduling, templating, error handling, and distribution logic indefinitely, including every time Grafana changes its API or rendering behavior. Skedler is a maintained product with a support team, so that ongoing maintenance isn’t owned internally.
Grafana Enterprise vs Skedler for Reporting
| Requirement | Grafana Enterprise Reporting | Skedler |
|---|---|---|
| License required | Full Enterprise license, governance bundle | Skedler license only; Grafana OSS stays as is |
| Report formats | PDF, CSV | PDF, PNG, HTML, Excel, CSV |
| Distribution | Email, Slack, AWS S3, webhook/SFTP | |
| Branding | Company logo, theme, footer link | Drag-and-drop branded templates, light/dark themes |
| Scheduling | Yes | Yes, including holiday-aware schedules |
| Capabilities beyond reporting | RBAC, SAML SSO, team sync, audit logging, premium plugins | None; scoped specifically to report generation and distribution |
| Best fit | Organizations that need the full governance bundle, not reporting alone | Organizations whose only Grafana OSS gap is reporting |
The decision logic is straightforward: if you need governance capabilities beyond reporting, Grafana Enterprise is worth evaluating on its own merits. If reporting is the only missing piece and your Grafana OSS deployment already works, Skedler solves that specific problem without the rest of the bundle.
DIY Grafana Reporting with Python Scripts
Technically, yes, it’s possible: a Python script, or any language, calling Grafana’s HTTP API and the Grafana Image Renderer service can render panels, assemble them into a PDF or Excel file, and email the result on a schedule. This is the DIY approach most engineers reach for first. In practice, it’s rarely the right call long-term.
The Image Renderer alone needs a dedicated instance with a minimum of 16 GB of free memory, since it runs headless browser instances in the background. Every Grafana API or rendering change becomes your team’s problem to absorb, indefinitely, not a vendor’s, and that includes maintaining the script itself as Grafana’s dashboard schema and authentication methods evolve. Community plugins such as grafana-pdf-report-app exist as a lighter-weight alternative to a from-scratch script, but their own maintainer notes they don’t replicate real scheduling or distribution, and they run as unsigned plugins outside Grafana’s official catalog. Unless your reporting needs are genuinely unusual and you have engineering time with nothing better to do, a maintained tool like Skedler solves the same problem without turning it into a permanent internal project.
Grafana OSS + Skedler Architecture
Each deployment model routes data the same way up to the dashboard, and differs in what happens after:
- Grafana OSS: Data Sources -> Grafana OSS -> Dashboards.
- Grafana Cloud: Data Sources/Collectors -> Grafana Cloud (Grafana + Mimir/Loki/Tempo) -> Dashboards and managed observability services.
- Grafana Enterprise: Data Sources -> Grafana Enterprise -> Dashboards, plus Enterprise governance and Reporting, all inside one deployment.
- Grafana OSS + Skedler: Data Sources -> Grafana OSS -> Dashboards, and separately, Grafana OSS -> Skedler -> PDF/Excel/CSV/HTML -> Email/Slack/AWS S3/Webhook.
That last model is the only one with two distinct output paths from the same dashboards, rather than one path with extra features added inside it. The dashboards stay exactly as they are; Skedler reads from them and owns everything downstream: rendering, formatting, scheduling, and delivery.
How to Choose the Right Grafana Reporting Approach
| Requirement | Grafana OSS | Grafana Cloud | Grafana Enterprise | Grafana OSS + Skedler |
|---|---|---|---|---|
| Deployment | Self-hosted | Fully managed | Self-hosted | Self-hosted, two applications |
| Infrastructure ownership | You | Grafana Labs | You | You |
| Enterprise governance (RBAC, SAML, audit) | No | Yes, paid accounts | Yes | No change from OSS |
| Scheduled reporting | No | Yes, paid accounts | Yes | Yes, via Skedler |
| Report formats | None natively | PDF, CSV | PDF, CSV | PDF, PNG, HTML, Excel, CSV |
| Automation and distribution | N/A | Email, Slack, AWS S3, webhook/SFTP | ||
| Best suited for | Teams that can operate infrastructure and don’t need reporting yet | Teams that want a managed stack and accept usage-based billing | Self-hosted teams needing governance broadly, not just reporting | Self-hosted teams whose specific gap is reporting |
Use this as a direct decision guide:
- Want a fully managed Grafana service and don’t want to operate infrastructure: choose Grafana Cloud.
- Need to stay self-hosted and require RBAC, SAML SSO, audit logging, or premium plugins: choose Grafana Enterprise.
- Are happy with Grafana OSS and reporting is the only missing piece: use Skedler.
- Have unusual reporting requirements and engineering capacity to maintain a pipeline indefinitely, and no product fits: build it yourself, as a last resort.
- Need help moving to or implementing Grafana OSS: Skedler’s migration and implementation team can assist.
FAQs
No. Native scheduled reporting is available only in Grafana Enterprise and paid Grafana Cloud accounts, confirmed directly in Grafana’s own Reporting API documentation.
Not on its own. Even a single, one-off “Export as PDF” action is gated to Enterprise and Cloud; Grafana’s documentation states this explicitly, and OSS users have confirmed it on Grafana’s GitHub issue tracker and community forum.
By connecting a dedicated tool like Skedler to your existing instance, upgrading to Grafana Enterprise, or building a custom pipeline against Grafana’s API.
On Grafana OSS, scheduling requires a separate tool such as Skedler, which supports hourly, daily, weekly, and monthly schedules, including holiday-aware scheduling.
Grafana Enterprise’s built-in Reporting feature is one option, available only with an Enterprise license or paid Cloud account. For Grafana OSS specifically, Skedler is a dedicated reporting tool that connects without requiring an Enterprise license and adds formats (Excel, HTML) and distribution channels (Slack, S3, webhook) beyond Grafana’s native PDF/CSV/email output.
Yes. The two practical, supported paths are using a dedicated reporting product such as Skedler, or building a custom pipeline with Grafana’s API and Image Renderer service, though the latter is rarely worth the ongoing maintenance.
Yes. A Python script can call Grafana’s HTTP API and the Grafana Image Renderer service to render panels and assemble a PDF or Excel file. You’d still need to build and maintain the scheduling, error handling, and distribution logic yourself, which is why most teams move to a dedicated tool once the report set grows past one or two dashboards.
Only if you want Grafana’s own built-in Reporting feature. It is not required for reporting in general; Skedler adds equivalent and broader reporting capability to Grafana OSS without an Enterprise license.
It depends on whether you also need Enterprise’s other governance features. Enterprise bundles Reporting with RBAC, SAML SSO, and audit logging; if you don’t need those yet, you’re paying for a governance suite to reach one reporting capability.
Skedler solves exactly this situation: it adds reporting to Grafana OSS without a platform-wide Enterprise upgrade, and it supports more formats (PDF, PNG, HTML, Excel, CSV) and distribution channels (email, Slack, AWS S3, webhook/SFTP) than Grafana’s native Reporting feature.
Yes. Skedler connects to Grafana OSS over its existing API and does not require a Grafana Enterprise license or any modification to the Grafana deployment.
Migration typically involves exporting dashboard JSON, reconfiguring data sources, and rebuilding authentication and permissions on the new deployment. Teams without spare internal capacity for this often use Skedler’s migration and implementation support. Talk to Expert
Grafana OSS is free, self-hosted software you install and operate yourself. Grafana Labs fully manages Grafana Cloud, which includes hosted Mimir, Loki, and Tempo alongside Grafana, and bills it on usage-based tiers starting from a free plan. Paid Grafana Cloud accounts include governance and reporting features that Grafana OSS doesn’t have natively.
Both are self-hosted, and you operate the infrastructure either way. Grafana Enterprise adds a paid license on top of OSS that unlocks RBAC, SAML SSO, team sync, audit logging, premium data source plugins, and Reporting.
Key Takeaways
- If you want a fully managed Grafana service and don’t want to operate infrastructure, Grafana Cloud is the right starting point.
- If you need to stay self-hosted and require broader governance capabilities such as RBAC, SAML SSO, and audit logging, Grafana Enterprise is worth evaluating.
- If you want control and self-hosting without those governance requirements, Grafana OSS remains a legitimate, production-capable choice.
- If Grafana OSS is otherwise working and reporting is the only missing piece, Skedler is the reporting solution to evaluate. It adds scheduled PDF, Excel, CSV, and HTML reporting to your existing Grafana OSS deployment without an Enterprise license.
- If you need help moving to or implementing Grafana OSS, Skedler’s dedicated team has more than a decade of Grafana OSS experience and can assist with migration and implementation.
- Book a Skedler demo to see Grafana OSS reporting in action, or start a 15-day free trial, no credit card required, and connect Skedler to your existing Grafana OSS instance directly.
Estimated reading time: 15 minutes


