Zum Inhalt

PDF-Reports

Statusberichte und SLA-Zusammenfassungen als PDF — automatisch generiert, automatisch versandt.

Wofür

  • Monats-SLA-Bericht an den Kunden
  • Wochenstatus an die eigene Geschäftsführung
  • Quartals-Audit-Bericht für Compliance

Manuelle Generierung ist möglich, der eigentliche Wert liegt in der Automatisierung.

Report-Templates

Drei eingebaute Templates:

Template Inhalt
SLA-Monatsbericht Verfügbarkeit pro Service, Vorfälle, Downtimes
Status-Zusammenfassung Aktuelle Lage, offene Probleme, Trend zur Vorperiode
Audit-Bericht Audit-Log-Auszüge mit Filter, formatiert

Custom-Templates für Pro/Enterprise: HTML+CSS-Datei hochladen, wird im PDF-Renderer (WeasyPrint) gerendert.

Geplante Reports

/reports/scheduledNeu:

Feld Bedeutung
Name „Acme SLA April"
Template aus der Liste
Scope Tenant / Tag / Hosts
Frequenz täglich / wöchentlich / monatlich
Zeitpunkt Cron-artig
Empfänger Liste E-Mail-Adressen
Format PDF (Default) oder HTML-Mail
Sprache DE / EN

Beispiel:

name: "Acme Monthly SLA"
template: sla_monthly
scope:
  tenant: Acme GmbH
schedule:
  cron: "0 6 1 * *"   # erster Tag im Monat um 06:00
period: last_month
recipients:
  - acme-ops@example.com
  - acme-management@example.com
language: de

Manuelle Generierung

Ad-hoc:

/reports → Report erstellen mit gleichen Parametern, sofortige Generierung. PDF wird zum Download bereitgestellt + optional versandt.

Render-Pipeline

flowchart LR
    SCHED[Scheduler] --> Q[Queue]
    Q --> RENDER[Render-Job]
    RENDER --> DATA[Daten holen]
    DATA --> HTML[HTML rendern]
    HTML --> PDF[PDF via WeasyPrint]
    PDF --> STORE[in object-storage / volume]
    PDF --> MAIL[E-Mail mit Attachment]

WeasyPrint braucht keine Headless-Browser-Engine — reine Python-Lib auf Pango/Cairo. Schnell, deterministisch, mit Schriftarten-Bündel.

Branding

Pro Tenant kannst du:

  • Logo (oben links)
  • Primär-Farbe (Header / Section-Heading)
  • Footer-Text
  • Sprache (DE / EN)

Eingestellt unter Admin → Tenants → Branding.

Speicherort

Generierte PDFs landen unter /opt/vesana/reports/ und werden 90 Tage aufbewahrt. Über /reports durchsuch- und herunterladbar.

Per Konfig kann eine S3-Bucket-Anbindung konfiguriert werden — dann landen PDFs dort statt lokal.

Mail-Versand

PDF als Attachment, Body als HTML mit kurzer Zusammenfassung („Verfügbarkeit 99,8 %, 4 Vorfälle, …") und Link zur Online-Sicht.

Wenn das PDF > 25 MB würde (großer Tenant mit vielen Hosts), wird stattdessen ein Download-Link verschickt — der Empfänger kann sich das PDF aus Vesana holen, ohne riesige Mail.

Custom-Templates

Pro/Enterprise: HTML-Datei hochladen mit Jinja2-Variablen.

{# title.html.j2 #}
<!DOCTYPE html>
<html>
<head>
  <style>{% include "branding.css" %}</style>
</head>
<body>
  <h1>SLA-Bericht — {{ scope.tenant.name }}</h1>
  <p>Zeitraum: {{ period.from }} bis {{ period.to }}</p>
  ...
</body>
</html>

Verfügbare Variablen: scope, period, summary, incidents, downtimes, services etc.

Export ohne Versand

/reports/manual → Generieren ohne Versand. Sinnvoll für Stichproben oder einmalige Berichte.

Permission

Permission Wirkung
report.view Reports einsehen
report.create Manuell erstellen
report.schedule Geplante Reports
report.template_upload Custom-Templates

Anschluss