Hello fellow community members,
I thought I will go ahead and share some of the Jaspersoft troubleshooting tips I encountered with issues or whilst troubleshooting my servers. Please feel free to use them to solve your JS issues. I tried to organize them a little bit better, hopefully like this it will be easier for you to find and use the information. Enjoy!
Jaspersoft Setup
1. The Advanced Reporting server connects to its own ppm_jaspersoft database that holds some users and other JS server related information. If you recreate this database, you will have to reinstall Jaspersoft in order for it to be able to connect and function.
2. For testing purposes, it's possible to replace the connection to Jaspersoft database, the details are in the file:
$JSTomcat \webapps\reportservice\META-INF\context.xml
To replace the connection,
Replace the details on the connection, enter the pwd in non-encrypted way for Oracle, save and restart Jaspersoft.
3. If you want to reimport the PMO content, here are two ways to do it:
a) If content has been already imported, run the command:
admin content-jaspersoft csk upgrade -userName superuser –password superuser
This will drop and reimport all the PMO content that is already imported. Please bear in mind that if you have created any custom content in CA Clarity folder, it will be dropped too. In order to preserve any custom reports, please ensure you create them as per best practices (outside of CA Clarity folder, recommended to use Shared folder for public, or User folder for non-public reports).
b)To completely recreate and reimport the content from scratch, follow the steps below:
Delete the organization from Jaspersoft server
Create a new organization in CSA
Save, and restart JS Tomcat
Recreate the keystore
Import the content without the upgrade option
admin content-jaspersoft csk -userName superuser –password superuser
4. The keystore key is used to authenticate between Clarity PPM and Jaspersoft.
Keystore when generated is saved here:
$clarityppm/META-INF/reporting/store
You may remove it from $clarityppm/config when copying over to $JSTomcat/webapps/reportservice/WEB-INF/config but you must not delete it from clarity\META-INF\reporting\store.
Datasources
The reporting server retrieves data from PPM and DWH database through a Bean connection (datasource imported on the server). The datasources can be tested from the Advanced Reporting server, for this you have to open the Datasource connection, and click Test. Same can be done from Jaspersoft embedded UI too if a there is an issue with the connections.
If a datasource doesn't test successfully, from Jaspersoft:
1. Check the ports are open and db accessible, and you are able to connect to db from JS server (with SQL plus or similar)
2. If yes, check the logs. Is there a difference when testing from JS or Clarity embedded UI?
3. To find out what happens, enable the debug logs in Jaspersoft on com.ca.jasper.jdbc (see above how to enable them)
4. Test the datasource, get the jasperserver.log and look for errors, or which line is incorrect
5. Also try recreating a JS datasource from Jaspersoft server :
a. Connect to JS server
b. Datasources - Create
c. Specify JDBC Driver, correct database details to connect to the server, then click on Test.
See if this works. If it doesn't, check the log from this stage too. Here is an example screenshot of my connection:
Debug
Working with Jaspersoft debugging logs:
1. To debug an issue:
a) Connect to Jaspersoft console UI as superuser.
b) Go to Manage - Server Settings - Log Settings
c) At the bottom there will be an empty text box, enter the debug value, and select log mode to debug.
d) Restart JS Tomcat if needed (depending on the exact issue)
e) Observe the log:
$JSTomcat/webapps/reportservice/WEB-INF/logs/jasperserver.log
2. To disable the debug messages:
a) Connect to Jaspersoft console UI as superuser
b) Go to Repository/System Properties/GlobalPropertiesList
c) Remove the loggers
3. Modifying the logger file as indicated in some solutions found on Google :
$JSTomcat/webapps/reportservice/WEB-INF/log4j.properties
Does not work for Clarity Jaspersoft, all changes must go through UI as above.
Jaspersoft Parameters Setup (ppmParameters)
If you see that some of ppmParameters is incorrect, for example:
2015-06-15 17:55:10,270 DEBUG EngineServiceImpl,http-apr-8081-exec-3:2261 - Setting report parameter ppmDBVendor to oracle
2015-06-15 17:55:10,270 DEBUG EngineServiceImpl,http-apr-8081-exec-3:2261 - Setting report parameter ppmDBName to clarity
2015-06-15 17:55:10,286 DEBUG EngineServiceImpl,http-apr-8081-exec-3:2261 - Setting report parameter ppmDBSchema to CLARITY142
2015-06-15 17:55:10,286 DEBUG EngineServiceImpl,http-apr-8081-exec-3:2261 - Setting report parameter ppmAppServer to http://claritynam9/niku/nu
The ppm parameters are saved on Jaspersoft level in the details for the user jasperadmin (not ppmjasperadmin, just jasperadmin). Here is how it looks in UI:
If any of those environmental details is incorrect in logs, this means that you will have to reset them.
The properties are encrypted, so you will not be able to see the exact value in UI, but you can note when there is a difference when you update them with the command below.
Run the command
admin update jasperParameters
This will reset the parameters on jasperadmin user to the ones set in the properties.xml file.
Here is the link to my previous Jaspersoft tips in case you are interested:
https://communities.ca.com/message/241783601#241783601