Skip to content

PDF reports

Preview feature

PDF reports are off by default — menu item, page and API are blocked until a super admin enables the area under Admin → System → Preview features. The area is not yet stable.

Status reports as PDF — generated automatically on a schedule and sent by email, or manually on demand.

PDF reports are part of the Reports feature, included in every edition (/reports → tab PDF Reports, next to SLA Reports). The tab has the sub-tabs Schedules and History.

Report types

Type Content
Executive Management summary: health score, highlights, availability, incidents, capacity forecasts
Technical additionally SLA detail table, performance charts, capacity, anomalies
sla overall availability, SLA per service, incidents, assessment — selectable via the API only

Custom templates cannot be uploaded — the types are built into the product.

Scheduled reports

New Schedule:

Field Meaning
Name "Acme SLA April"
Report Type Executive / Technical
Frequency Daily, Weekly, Monthly, Quarterly, Yearly with day and time — or Custom (cron expression, e.g. 0 8 * * 1 = Mondays at 08:00; weekday 0 and 7 = Sunday)
Timezone pre-filled with the instance timezone (Admin → Notifications → E-mail & Messages), otherwise UTC
Recipients (To), CC (optional) mail addresses
Branding company name, primary colour, footer text
Cover Text (optional) text above the report
Enabled turn the schedule on/off

Via the API you can additionally set a subset (scope: hosts and/or tags), BCC recipients and a logo. With tags the report contains devices that carry at least one of the tags; combined with hosts, only devices matching both are included. The subset also applies to anomalies and forecasts.

Example (API):

name: "Acme Monthly SLA"
report_type: sla
cron_expression: "0 6 1 * *"   # first day of the month at 06:00
scope:
  tags: ["customer-acme"]
recipients:
  to: ["acme-ops@example.com"]
  cc: ["acme-management@example.com"]
timezone: "Europe/Rome"

Manual generation

Generate now opens the dialog "Generate Report Now" with the same parameters and Generate & Send. Without recipients the report is only generated, not sent; the PDF is then available for download under History ("Download PDF").

Render pipeline

flowchart LR
    SCHED[Schedule] --> DATA[Fetch data]
    DATA --> HTML[Render HTML]
    HTML --> PDF[PDF via WeasyPrint]
    PDF --> STORE[Storage]
    PDF --> MAIL[Email with attachment]

The PDFs are produced by WeasyPrint (currently version 70) — no headless browser involved. Device and company names from the branding are never interpreted as code.

A custom logo per schedule (PNG/JPG/SVG, max. 2 MB) can currently only be uploaded via the API (POST /api/v1/reports/upload-logo).

Storage

Generated PDFs and uploaded logos live on the instance's persistent storage (a dedicated Docker volume) and survive updates. PDFs are kept for 90 days and then cleaned up automatically; the period is fixed. They can be browsed and downloaded under History.

Mail delivery

PDF as attachment, body as a short HTML summary with company name/colour from the branding. If no SMTP server is configured, the delivery is marked as failed. Failed deliveries can be sent again under History ("Resend", sends the existing PDF with a short text) or regenerated ("Retry", with the schedule's branding, subset and timezone). Manual generation, resend and retry are recorded in the audit log with their recipients.

Permissions

Permission Effect
reports.view see schedules and history, download PDFs
reports.export create and edit schedules, generate, upload a logo, resend, retry
reports.delete delete a schedule

The interface shows the "New Schedule" and "Generate now" buttons to admins only.

  • SLA reports — availability interactively and as CSV
  • Audit log — a separate area, not part of PDF reports