Skip to content
DevOps AI ToolKit
Newsletter
All prompts
AI for Grafana Difficulty: Intermediate ClaudeChatGPT

Grafana Enterprise Reporting PDF Prompt

Configure scheduled PDF reports in Grafana Enterprise, delivering dashboards to stakeholders via email on a cadence.

Target user
Grafana Enterprise admins delivering reports
Difficulty
Intermediate
Tools
Claude, ChatGPT

The prompt

You are a senior Grafana Enterprise admin who sets up scheduled PDF reports delivered by email.

I will provide:
- The dashboard to report and the recipients
- The cadence and time range
- The current SMTP and rendering setup

Your job:

1. **Confirm the prerequisites**:
   - Reporting is a Grafana Enterprise / Cloud feature
   - Requires a working image renderer (plugin or remote service)
   - SMTP must be configured for email delivery
2. **Design the report**:
   - Pick the source dashboard and layout (grid vs simple)
   - Set orientation (portrait/landscape) and page size
   - Choose a time range: last 24h, last 7d, or a fixed window
3. **Set the schedule**:
   - Cadence: hourly, daily, weekly, monthly, or custom cron
   - Set the send time and time zone
   - Optionally only send if the dashboard has data
4. **Manage recipients and content**:
   - Comma-separated email list; use groups where possible
   - Add a reply-to, message, and optional embedded image
   - Attach the PDF and/or a CSV of table data
5. **Handle variables**:
   - Set template variable values used to render the report
   - One report per variable value if you need per-team splits
6. **Configure via API or provisioning**:
   - Use `/api/reports` to create/update programmatically
   - Store report settings in provisioning for repeatability
7. **Validate delivery**:
   - Send a test report; confirm rendering completes within timeout
   - Check renderer memory and concurrency limits

Mark DESTRUCTIVE: none to data, but flag heavy reports overloading the renderer and mass emails to large lists.

---

Dashboard and recipients: [DESCRIBE]
Cadence and range: [DESCRIBE]
SMTP/renderer setup: [DESCRIBE]

Why this prompt works

Enterprise reporting has three moving parts that fail independently: the renderer, SMTP, and the schedule. Teams wire the report and then get blank PDFs because the renderer timed out or SMTP silently dropped the mail. This prompt sequences the prerequisites and adds a test-send validation before committing recipients.

How to use it

  1. Confirm renderer + SMTP work first.
  2. Design layout and time range.
  3. Set cadence and recipients.
  4. Send a test, then schedule.

Useful commands

# Confirm the renderer is reachable
curl -s http://renderer:8081/render/version | jq

# Create a report via the Enterprise API
curl -s -X POST -H "Authorization: Bearer $GRAFANA_TOKEN" \
  -H "Content-Type: application/json" \
  http://grafana:3000/api/reports \
  -d @report.json

# List existing reports
curl -s -H "Authorization: Bearer $GRAFANA_TOKEN" \
  http://grafana:3000/api/reports | jq '.[] | {id, name, schedule}'

# Trigger a test send
curl -s -X POST -H "Authorization: Bearer $GRAFANA_TOKEN" \
  -H "Content-Type: application/json" \
  http://grafana:3000/api/reports/test-email -d @report.json
# grafana.ini — SMTP and renderer
[smtp]
enabled = true
host = smtp.example.com:587
from_address = grafana@example.com

[rendering]
server_url = http://renderer:8081/render
callback_url = http://grafana:3000/

Example config

{
  "name": "Weekly SLO Report",
  "dashboards": [
    { "dashboard": { "uid": "slo-overview" }, "timeRange": { "from": "now-7d", "to": "now" } }
  ],
  "recipients": "sre-leads@example.com",
  "replyTo": "grafana@example.com",
  "message": "Weekly SLO summary attached.",
  "schedule": { "frequency": "weekly", "dayOfMonth": "", "hour": 8, "minute": 0, "timeZone": "America/New_York" },
  "options": { "orientation": "landscape", "layout": "grid", "pdfShowTemplateVariables": false },
  "enableDashboardUrl": true,
  "formats": ["pdf"]
}

Common findings this catches

  • Blank PDF → renderer down or timed out.
  • No email received → SMTP not enabled/misconfigured.
  • Partial dashboard → render timeout too low for a large board.
  • Wrong data window → time range not set on the report.
  • Feature missing → running OSS, not Enterprise.
  • Renderer OOM → too many concurrent reports.

When to escalate

  • Renderer capacity for many large reports — infra sizing.
  • SMTP relay/deliverability issues — email/IT team.
  • Per-team report splits by variable at scale — automation via API.

Related prompts

Newsletter

Free: the DevOps AI Incident-Triage Cheat Sheet

Subscribe and we’ll send you the one-page cheat sheet — plus weekly AI prompts, automation ideas, and tool reviews for infrastructure engineers. One email a week. No spam, unsubscribe anytime.

  • AI Incident-Triage Cheat Sheet (PDF)
  • Access to 2,104 DevOps AI prompts
  • One practical workflow email per week