Opsview Knowledge Center

Troubleshooting

Troubleshoot your Reporting issues

Login issues

I Cannot Access the Reporting Module as there is no Menu Option

Check that the User has REPORTUSER access in their role as this determines if they are allowed to use the Reporting Module (Jasperserver).

I Get an X-Opsview-AuthTkt-Username Error

If you get an error such as:
2012-03-23 14:13:43,705 ERROR [default],http-8080-Processor24:260 - Servlet.service() for servlet default threw exception org.springframework.security.ui.preauth.PreAuthenticatedCredentialsNotFoundException: X-Opsview-AuthTkt-Username header not found in request. This is because from Reporting Module 2.0, we use Single Sign On to authenticate into Jasper Server. Ensure you have set the correct Apache configuration.

Invalid ticket

If you see this error, restart Apache and try again.

General usage

Apache restart generates errors

If, when restarting Apache, the following error is generated, then it may be that config files from an earlier version of Jasperserver have not been cleaned up correctly.
$ /etc/init.d/apache2 restart * Restarting web server apache2 [Wed Nov 21 11:46:40 2012] [warn] worker http://127.0.0.1:8080/jasperserver already used by another worker ... waiting [Wed Nov 21 11:46:41 2012] [warn] worker http://127.0.0.1:8080/jasperserver already used by another worker [ OK ]

Please try this:
$ rm /etc/apache2/conf.d/jasperserver.conf

The requested resource (/jasperserver) is not available

If that is displayed in your web browser, the Jasperserver application did not start up correctly. Check the Tomcat logs, which can be found in /opt/opsview/jasper/apache-tomcat/logs/. One possible solution, noted on recent 64-bit platforms, might be to add org.owasp.csrfguard.PRNG.Provider=IBMJCE to the file, /opt/opsview/jasper/apache-tomcat/webapps/jasperserver/WEB-INF/esapi/Owasp.CsrfGuard.properties.

The link to the documentation doesn't work and directs me to Opsview

You need to set up the Apache configuration, as per the 3.3. Opsview Module Installation section.

Is jasperserver running?

Check with ps -ef | grep java. You should get output like:
root 11468 25337 0 10:59 pts/0 00:00:00 grep java opsview 30083 1 0 Oct07 ? 00:03:08 /usr/lib/jvm/java-6-sun-1.6.0.20/jre/bin/java -Xms128m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=128m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/opsview/jasper/apache-tomcat/conf/logging.properties -Djava.endorsed.dirs=/opt/opsview/jasper/apache-tomcat/common/endorsed -classpath :/opt/opsview/jasper/apache-tomcat/bin/bootstrap.jar:/opt/opsview/jasper/apache-tomcat/bin/commons-logging-api.jar -Dcatalina.base=/opt/opsview/jasper/apache-tomcat -Dcatalina.home=/opt/opsview/jasper/apache-tomcat -Djava.io.tmpdir=/opt/opsview/jasper/apache-tomcat/temp org.apache.catalina.startup.Bootstrap start

Stopping Jasperserver Gives an Error

If you get an error like this:
Jasperserver stop... Apr 27, 2012 3:12:49 PM org.apache.catalina.startup.Catalina stopServer SEVERE: Catalina.stop: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method)
This means that Jasperserver is not currently running, so the stop command gives a warning message. This can be ignored.

The documentation list shows broken images

This is a bug in our Apache configuration. This will be fixed in a future release.

Jasper fails to connect to the database

This can be caused by using TCP wrappers, by adding entries to /etc/hosts.allow and /etc/hosts.deny - adding an entry to hosts.allow such as
mysqld: 127.0.0.1 will allow Jasper to talk to the database. The rest of Opsview may be unaffected as it uses a MySQL file socket rather than TCP port.

I'm not receiving any reports by email

This may be due to the email configuration of Jasper. Check the log file /opt/opsview/jasper/apache-tomcat/webapps/jasperserver/WEB-INF/logs/jasperserver.log for lines such as
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: mail.localhost.com, port: 25; Backup and amend the file /opt/opsview/jasper/apache-tomcat/webapps/jasperserver/WEB-INF/js.quartz.properties/ to change the line
report.scheduler.mail.sender.host=mail.localhost.com
to either localhost (if your system has a configured SMTP server running), or another accessible SMTP server.

I've had an "Out of Memory" (OOM) error

If you are generating particularly large reports, the Java Virtual Machine (JVM) may hit an imposed memory limit which prevents it from using too much RAM.
By default this limit is 512MB which can be increased by editing /opt/opsview/jasper/apache-tomcat/bin/setclasspath.sh and amending the following line
JAVA_OPTS="$JAVA_OPTS -Xms128m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=128m " to read
JAVA_OPTS="$JAVA_OPTS -Xms128m -Xmx768m -XX:PermSize=32m -XX:MaxPermSize=128m "
The limit here was increased from 512MB to 768MB - ensure this limit is still within a reasonable range for your server.
Note: This change will be lost on an upgrade.

Reports

Running a report returns Database Not Found

This could also be seen as this error:
com.jaspersoft.jasperserver.api.JSException: jsexception.error.creating.connection at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.JdbcDataSourceService.createConnection(JdbcDataSourceService.java:59) Ensure that the ODW data source is set properly. Particularly the Driver and URL are of the form:
com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/odw
The driver can be exactly as shown (since Opsview Monitor uses MySQL), but the URL may change depending upon the location of the MySQL server.

iReport sometimes doesn't quite do what I expect

Older versions of iReport have appeared to show some caching issues, especially if the XML is edited directly. This the Designer doesn't reload with the XML changes (seen when amending the SQL query).
Clicking Save (top left corner) sometimes helps, but a workaround is to close the report and re-open it.
This behaviour has not been observed by Opsview Monitor since iReport 5.5.0.

Cannot load a JRXML file into Jasperserver

This occurs if you are using iReport 3.5.2, but Jasper Server 3.5.
This is because iReport sets a splitType in the band element. Remove the attribute 'splitType='Stretch''. For example:
<band height="22" splitType="Stretch"> becomes
<band height="22">
This occurs because iReport has a newer version of the Jasper engine than Jasper Server.

I've just added a Hashtag but reports based on it are not showing any data

Adding a new Hashtag to a Service Check or Host does not affect historical data, and you must therefore wait for new data to be collected before you are able to report on it.

Running an adhoc report doesn't show anything

This is typically because of a timeout setting in Apache, causing Apache to think the request has timed out even though the report is still being generated. Increase the timeout in the Apache configuration or run the report on a schedule to allow it to be generated before it is viewed.

Updating an existing report with a new resource sometimes gives a null pointer error

This has occurred when changing an existing report's JRXML file and then adding a new resource. The work around is to save the report first, and then edit it again and add the JRXML file again.
Error:
java.lang.NullPointerException at com.jaspersoft.jasperserver.war.validation.FileResourceValidator.validateNaming(FileResourceValidator.java:119) at sun.reflect.GeneratedMethodAccessor589.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

Weekly Combined Service Level And Performance report error

If the Weekly Combined Service Level And Performance report gives an error saying, 'net.sf.jasperreports.engine.JRException: Error opening input stream from URL : repo:WeeklyAvailabilitySummaryTableByKeyword', this can typically be fixed with the following steps:

  1. In Reports, go to View \x{00E2} ** \x{0086} ** \x{0092} Repository.
  2. On the Weekly Combined Service Level And Performance report, right-click, and 'Edit'.
  3. In the 'Locate the JRXML File' bit, 'Browse \x{00E2} ** \x{0080} ** \x{00A6} ' to the WeeklyCombinedServiceLevelAndPerformanceByKeyword.jrxml file.
  4. Press 'Submit'.

You should now be able to run the report without the error.

Miscellaneous

Tomcat Logs

Look in /opt/opsview/jasper/apache-tomcat/logs/catalina.out. This holds the application server's log output.

Jasperserver logs

If Jasperserver doesn't seem to have created the reports, check the contents of: /opt/opsview/jasper/apache-tomcat/webapps/jasperserver/WEB-INF/logs/jasperserver.log.
You can also see messages of failed jobs in View \x{00E2} ** \x{0086} ** \x{0092} Messages.

Troubleshooting

Troubleshoot your Reporting issues