Reporting Engine Module
Professional HTML and PDF report generation for comprehensive infrastructure documentation, compliance auditing, and stakeholder communication.
Overview
The Reporting Engine generates professional reports from your infrastructure data. Create interactive HTML reports for real-time viewing or export to PDF for distribution, archival, and compliance documentation.
Report Types
Generate comprehensive reports across all aspects of your infrastructure:
Registered Hosts
Complete inventory of all registered hosts including hostname, IP address, operating system, and current status.
Hosts with Tags
Host details organized by tag categories for environment, role, and custom categorization.
Firewall Status
Comprehensive firewall rule listings and compliance status across all managed hosts.
Antivirus (Open Source)
ClamAV and open-source antivirus status including version, signature date, and scan results.
Antivirus (Commercial)
Commercial antivirus product status including licensing, protection status, and coverage.
SysManage Users
User profiles, roles, and login history for all SysManage system users.
User RBAC
Role-based access control assignments and permission matrix for security auditing.
Audit Log
Complete audit trail with timestamps, users, actions, and affected resources.
Output Formats
Generate reports in multiple formats optimized for different use cases:
HTML Reports
- Interactive and responsive design
- Real-time data from current system state
- Fully localized in all supported languages
PDF Reports
- Professional layout with structured tables
- Report metadata and generation timestamp
- Custom branding and styling options
API Access
The Reporting Engine is fully accessible via the REST API:
# HTML Report Viewing
GET /api/reports/view/{report_type} # View interactive HTML report
# Available report types: registered_hosts, hosts_with_tags, firewall_status,
# antivirus_opensource, antivirus_commercial,
# sysmanage_users, user_rbac, audit_log
# PDF Report Generation
GET /api/reports/generate/{report_type} # Generate and download PDF
# Returns PDF file with Content-Type: application/pdf
# Report Screenshots (Preview)
GET /api/reports/screenshots/{report_type} # Get report preview image
# Returns PNG thumbnail for report selection UI
Example Usage
# View HTML report in browser
curl -H "Authorization: Bearer $TOKEN" \
https://sysmanage.example.com/api/reports/view/registered_hosts
# Download PDF report
curl -H "Authorization: Bearer $TOKEN" \
-o hosts_report.pdf \
https://sysmanage.example.com/api/reports/generate/registered_hosts
# Get report preview
curl -H "Authorization: Bearer $TOKEN" \
-o preview.png \
https://sysmanage.example.com/api/reports/screenshots/firewall_status
Key Features
Full Localization
All reports are fully localized in the 14 languages supported by SysManage. The report language matches the user's interface language preference.
Real-Time Data
Reports are generated on-demand from the current system state, ensuring you always have the most up-to-date information.
Responsive Design
HTML reports are fully responsive and can be viewed on desktop, tablet, or mobile devices.
Professional Formatting
PDF reports feature professional layouts with proper pagination, headers, footers, and table formatting suitable for stakeholder distribution.
Report Metadata
All reports include generation timestamp, report type, total record count, and user information for audit trail purposes.
Accessing Reports
To access reports in the web interface:
- Navigate to Reports in the main navigation menu
- Select the desired report type from the available options
- Click "View HTML" to see the interactive report in your browser
- Click "Generate PDF" to download a PDF version
- Distribute the PDF report to stakeholders as needed
Scheduled Report Delivery
Automate report generation and delivery on a recurring schedule. Reports can be generated daily, weekly, or monthly and delivered automatically to configured notification channels such as email, Slack, or Microsoft Teams.
Daily
Generate reports every day at a specified time. Ideal for operational dashboards and daily compliance checks.
Weekly
Generate reports on a specific day of the week. Perfect for weekly status reports and team reviews.
Monthly
Generate reports on a specific day of each month. Suitable for compliance audits and management reporting.
Scheduled reports are delivered via your configured notification channels. Ensure at least one notification channel is set up before creating a schedule.
Schedule Configuration
Each schedule defines a report type, output format, frequency, and delivery channel. The schedule_type field determines the cadence, and schedule_config provides the timing details.
Schedule Types
- daily — Runs every day at the specified hour and minute (UTC)
- weekly — Runs on the specified day_of_week (0=Monday through 6=Sunday) at the specified hour and minute (UTC)
- monthly — Runs on the specified day_of_month (1-28) at the specified hour and minute (UTC)
Daily Schedule Example
{
"name": "Daily Host Inventory",
"report_type": "registered_hosts",
"output_format": "pdf",
"schedule_type": "daily",
"schedule_config": {
"hour": 6,
"minute": 0
},
"notification_channel_id": "ch_abc123",
"enabled": true
}
Weekly Schedule Example
{
"name": "Weekly Security Review",
"report_type": "firewall_status",
"output_format": "pdf",
"schedule_type": "weekly",
"schedule_config": {
"day_of_week": 0,
"hour": 8,
"minute": 30
},
"notification_channel_id": "ch_def456",
"enabled": true
}
Monthly Schedule Example
{
"name": "Monthly Compliance Report",
"report_type": "audit_log",
"output_format": "pdf",
"schedule_type": "monthly",
"schedule_config": {
"day_of_month": 1,
"hour": 7,
"minute": 0
},
"notification_channel_id": "ch_ghi789",
"enabled": true
}
API Access for Schedules
Manage report schedules programmatically via the REST API:
# Report Schedule Management
POST /api/v1/reports/schedules # Create a new report schedule
GET /api/v1/reports/schedules # List all report schedules
GET /api/v1/reports/schedules/{id} # Get a specific schedule
PUT /api/v1/reports/schedules/{id} # Update a schedule
DELETE /api/v1/reports/schedules/{id} # Delete a schedule
POST /api/v1/reports/schedules/{id}/run # Manually trigger a scheduled report
Create a Schedule
# Create a daily report schedule
curl -X POST https://sysmanage.example.com/api/v1/reports/schedules \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Daily Host Inventory",
"report_type": "registered_hosts",
"output_format": "pdf",
"schedule_type": "daily",
"schedule_config": {
"hour": 6,
"minute": 0
},
"notification_channel_id": "ch_abc123",
"enabled": true
}'
# Response
{
"id": "sched_001",
"name": "Daily Host Inventory",
"report_type": "registered_hosts",
"output_format": "pdf",
"schedule_type": "daily",
"schedule_config": {
"hour": 6,
"minute": 0
},
"notification_channel_id": "ch_abc123",
"enabled": true,
"created_at": "2026-02-12T10:00:00Z",
"next_run_at": "2026-02-13T06:00:00Z"
}
List All Schedules
# List all report schedules
curl -H "Authorization: Bearer $TOKEN" \
https://sysmanage.example.com/api/v1/reports/schedules
# Response
{
"schedules": [
{
"id": "sched_001",
"name": "Daily Host Inventory",
"report_type": "registered_hosts",
"schedule_type": "daily",
"enabled": true,
"last_run_at": "2026-02-12T06:00:00Z",
"next_run_at": "2026-02-13T06:00:00Z"
}
],
"total": 1
}
Get a Specific Schedule
# Get schedule details
curl -H "Authorization: Bearer $TOKEN" \
https://sysmanage.example.com/api/v1/reports/schedules/sched_001
Update a Schedule
# Update schedule to run weekly instead of daily
curl -X PUT https://sysmanage.example.com/api/v1/reports/schedules/sched_001 \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"schedule_type": "weekly",
"schedule_config": {
"day_of_week": 0,
"hour": 8,
"minute": 0
}
}'
Delete a Schedule
# Delete a report schedule
curl -X DELETE https://sysmanage.example.com/api/v1/reports/schedules/sched_001 \
-H "Authorization: Bearer $TOKEN"
# Response
{
"message": "Schedule deleted successfully"
}
Manually Trigger a Schedule
# Manually trigger a scheduled report immediately
curl -X POST https://sysmanage.example.com/api/v1/reports/schedules/sched_001/run \
-H "Authorization: Bearer $TOKEN"
# Response
{
"message": "Report generation triggered",
"schedule_id": "sched_001",
"report_type": "registered_hosts",
"output_format": "pdf",
"triggered_at": "2026-02-12T14:30:00Z"
}
Requirements
- Professional or Enterprise license with reporting_engine module
- ReportLab library for PDF generation (automatically installed with module)
- Network connectivity to license server for module validation
Common Use Cases
Compliance Auditing
Generate firewall status and antivirus reports to demonstrate security compliance for auditors and regulators.
Infrastructure Inventory
Use registered hosts and hosts with tags reports for asset management and infrastructure planning.
Security Reviews
Provide user RBAC and audit log reports for security team reviews and access certification.
Stakeholder Communication
Generate professional PDF reports for distribution to management, clients, and other non-technical stakeholders.