IT Monitoring for Networks, Applications, Virtual Servers and the Cloud
IT Monitoring for Networks, Applications, Virtual Servers and the Cloud
Check that the User has REPORTUSER access in their role as this determines if they are allowed to use the Reporting Module (Jasperserver).
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.
If you see this error, restart Apache and try again.
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
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.
You need to set up the
Apache configuration, as per the 3.3. Opsview Module Installation section.
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-18.104.22.168/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
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.
This is a bug in our Apache configuration. This will be fixed in a future release.
This can be caused by using TCP wrappers, by adding entries to
/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.
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
localhost (if your system has a configured SMTP server running), or another accessible SMTP server.
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.
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:
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.
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.
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:
<span class="re1"><band height="22" splitType="Stretch"></span> becomes
<span class="re1"><band height="22"></span>
This occurs because iReport has a newer version of the Jasper engine than Jasper Server.
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.
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.
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.
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)
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:
You should now be able to run the report without the error.
/opt/opsview/jasper/apache-tomcat/logs/catalina.out. This holds the application server's log output.
If Jasperserver doesn't seem to have created the reports, check the contents of:
You can also see messages of failed jobs in View → Messages.