Auditing & Monitoring Events

While system logs capture messages from the internal code of JasperReport Server, the auditing and monitoring systems capture user events that give a larger picture of how users interact with JasperReport Server and what resources they use. 

Auditing stores key events that are of interest to administrators. Events that have been audited can be saved and automatically moved to an archive after a specified duration.

Monitoring is based on audited events and generates reports that contain such metrics as which reports use the most resources. This helps with optimizing data sources, domains, and reports.

The events captured by auditing and monitoring include:

  • Running a report or subreport;
  • Creating, deleting, or updating a report schedule; and
  • Running a scheduled report

The full specification of events can be viewed in the configuration file located at C:\ReportServer\ReportServer\apache-tomcat\webapps\jasperserver-pro\WEB-INF\applicationContext-audit.xml. By default, the auditing and monitoring subsystems are disabled.

To enable auditing and monitoring:

  1. Navigate to C:\ReportServer\ReportServer\apache-tomcat\webapps\jasperserver-pro\WEB-INF.

  2. Open the file.

  3. Ensure the following properties are enabled in the following order:

    • feature.audit_monitoring.enabled

    • audit.records.enabled

    • monitoring.records.enabled

To set the audit data's interval level:

  1. Navigate to C:\ReportServer\ReportServer\apache-tomcat\webapps\jasperserver-pro\WEB-INF.

  2. Open the applicationContext-audit.xml file.

  3. Under auditService, set the following properties as desired:

    • maxAuditEventAge: how many days before data is deleted (set to 0 by default, meaning data is never deleted).

    • maxAuditEventAgeToArchive: how many days before data is moved to the archive (set to 30 by default).

To view the audit data:

  1. Locate the audit data in the /Public/Audit folder of the repository. 

  2. Slow running reports can be identified by consulting the following: 

    • Performance Report

    • Performance Crosstab Report: Shows the query executing time along with report execution and rendering time.

To view the monitoring data:

  1. Locate the monitoring data in the /Public/Monitoring folder of the repository.

  2. Diagnose the performance and resource utilization of reports using the following:

    • Report Monitoring Resources Report: Provides a list of all reports and shows their average and high-low execution times.

    • Report Monitoring Details Report: A crosstab that shows report execution times on one axis and dimensions such as time hierarchy, user and organization, and event type on the other.