Advanced Analytics - FAQ & Troubleshooting tips

Advanced Analytics - FAQ & Troubleshooting tips

Troubleshooting tips

This document is listing of customer facing issues,  Advanced analytics is common name for both Zoho reports and Analytics plus. 

First setup we have to get with customer that recreate issue and generate support log under community and send us.

Requirement to Trouble shoot.
 
1 ) How do we find sync error or configuration error ?

      - If uploadstatus.xml file exists in the log file, this is sync error else its configuration error.

For sync error  : We have to compare uploadstatus.xml file and database_sql_queries.xml file then analyze with error code and description.

For configuration error , have to search in serverout0.txt file with key like zrconfig.

2 ) Finding what product configured at ServiceDesk Plus
 
   - Zoho Reports : if you found REPORT_SERVER_URL=https://reportsapi.zoho.com/  at common_params.conf , in support log zip file.
   - Else its, Analytics Plus 

Issues :

1 ) Special char like / or \ or " in Table table
 
Have to generate support log , unzip the log file , open uploadstatus.xml file and   database_sql_queries.xml file, 



Fix : remove the \ or / and " in service catalog name and do the re-sync.(Via UI)

Note:If even after renaming,the issue persists,then the customer probably just migrated and has renamed it after migration but before a schedule ran(which replaces "\" with "-"  in the xml file).
Fix:  In the file "zrmemodules.xml",you'll find that the table is duplicated.(One containing the "\" and one with the new name).Remove the table containing the "\".
Also do the same in the table "donotificationmodule".

2 ) Unable to get AT key , like getting below message on top of the page.
      
At Configuration page , customer end.


Fix : click the link https://localhost:8200/u/h#sessions/userauthtoken  and remove all auth tokens and try again or forward this to Aplus team (analyticsplus-support@manageengine.com),

Error in log at serverout0.txt after recreate the issue 

[131]: com.manageengine.zrmeinteg.common.IntegrationException|
[09:49:29:224]|[11-14-2018]|[SYSERR]|[INFO]|[131]:  at com.manageengine.zrmeinteg.config.ZRConfigurator.getZropATKey(ZRConfigurator.java:1341)|
[09:49:29:224]|[11-14-2018]|[SYSERR]|[INFO]|[131]:  at com.manageengine.zrmeinteg.config.ZRConfigurator.saveConfigDetails(ZRConfigurator.java:141)|
[09:49:29:224]|[11-14-2018]|[SYSERR]|[INFO]|[131]:  at com.manageengine.zrmeinteg.config.ConfigurationInterface.saveConfigDetails(ConfigurationInterface.java:38)|
[09:49:29:224]|[11-14-2018]|[SYSERR]|[INFO]|[131]:  at com.



3 ) Invalid credentials found in log file

   Fix  - Check whether valid proxy configured or not at servicedesk plus.

4 ) Connection timeout / SSL hand sake exception in log file serverout0.txt , 

    Fix : Convey them to one more time if the issue continuously come , then forward to appropriate team.

5 ) 

Error Trace:

[15:06:00:099]|[09-11-2017]|[SYSOUT]|[INFO]|[263]|: [JBOSS] CreateActionForm: No FormBeanConfig found in module under name ZRConfigurationForm|
[15:06:00:427]|[09-11-2017]|[com.adventnet.persistence.Row]|[WARNING]|[263]|: The column PARAM_VALUE in ZohoReportsConfiguration is given a value that is instance of java.lang.Long that contradicts with CHAR specified in the data-dictionary|
[15:06:00:537]|[09-11-2017]|[com.manageengine.framework.sqlbuilder.AQBManager]|[INFO]|[263]|: inside loading modules , tables and coumns with alias in hashMap|
[15:06:00:865]|[09-11-2017]|[SYSERR]|[INFO]|[263]|: java.lang.NullPointerException|
[15:06:00:865]|[09-11-2017]|[SYSERR]|[INFO]|[263]|: at com.manageengine.framework.sqlbuilder.AQBManager.updateColumnDetailCache(AQBManager.java:488)|
[15:06:00:865]|[09-11-2017]|[SYSERR]|[INFO]|[263]|: at com.manageengine.framework.sqlbuilder.AQBManager.addNewColumn(AQBManager.java:462)|
[15:06:00:865]|[09-11-2017]|[SYSERR]|[INFO]|[263]|: at com.manageengine.zrmeinteg.modeler.TableModeler.addColumns(TableModeler.java:262)|
[15:06:00:865]|[09-11-2017]|[SYSERR]|[INFO]|[263]|: at com.manageengine.zrmeinteg.modeler.TableModeler.addNewTable(TableModeler.java:1423)|

Fix : 

Remove the change.xml file under zreports\newmodules and do the re-sync.

6. 60 characters Issue

If Additional field has more than 60 characters, Analyticsplus does not allow to create it.

Exception Trace:


 

Solution:

Ask the customer to reduce the additional field name and try the re-sync

 

7.Issue in SDP 9320 upgraded build

Customer having '/' in service catalog names in <9320 versions. If he upgrades to 9320 and try to sync it with Aplus the issue occurs. In AnalyticsPlus, two tables will be created, one with '/' and another one with '-'.  

Already Integrated:

  1. SDP 9310 table name with '/' created
  2. integrated with APLUS
  3. table created but data sync fails

  4. Upgraded to 9320
  5. Re sync it with APLUS
  6. Both table name with '/' and '-' created

  7. Again synchronization fails

 

Integrated after upgrade:

  1. SDP 9310 talename with '/' created
  2. Upgraded to 9320
  3. Tried to sync it with APLUS
  4. Both table name with '/' and '-' created

  5. Data synchronization failed

 

 

 

 

Reason:

After upgrade, during fetching from db, it is returning as replaced tablename. So it is added as a new entry in xml file.

 

 

Solution: (To be fixed in upcoming hotfix)

  1. Replace ZRMEModules.xml from fresh build
  2. Make ZRMEModulesCopy.xml empty(Not Delete)
  3. Make InitialSync='false' in zohoreportsconfiguration
  4. Replace database_sql_queries.xml from fresh build
  5. Restart the SDP
  6. Try the re-sync


8 ) found error trace in serverout0.txt

[10:03:12:297]|[02-09-2016]|[SYSOUT]|[INFO]|[165]|: [Fatal Error] uploadstatus.xml:3:56: The value of attribute "cause" associated with an element type "upload" must not contain the '<' character.
|
[10:03:12:297]|[02-09-2016]|[SYSOUT]|[INFO]|[165]|: org.xml.sax.SAXParseException: The value of attribute "cause" associated with an element type "upload" must not contain the '<' character.|
[10:03:12:297]|[02-09-2016]|[SYSOUT]|[INFO]|[165]|: at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)|
[10:03:12:297]|[02-09-2016]|[SYSOUT]|[INFO]|[165]|: at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)|
[10:03:12:297]|[02-09-2016]|[SYSOUT]|[INFO]|[165]|: at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)|
[10:03:12:297]|[02-09-2016]|[SYSOUT]|[INFO]|[165]|: at com.manageengine.servicedesk.zreports.task.ZRDataUploadLogReader.executeTask(ZRDataUploadLogReader.java:109)|

fix :

While our server is down, the response will be a html content like 'we will be right back soon'. To avoid this parse exception in future, we will write the error message in CData node. 

In the customer end, it wont occur repeatedly. Please ask him to resync the data.  



9 ) if found chars like below in uplaodstatus.xml file

<?xml version="1.0" encoding="UTF-8" ?>
<result>
<upload id="3" status="failed" errorcode="407" cause="<HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD>
<BODY>
<FONT face="Helvetica">
<big><strong></strong></big><BR>
</FONT>
<blockquote>
<TABLE border=0 cellPadding=1 width="80%">
<TR><TD>
<FONT face="Helvetica">
<big>Access Denied (authentication_failed)</big>
<BR>
<BR>
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
Your credentials could not be authenticated: "Credentials are missing.". You will not be permitted access until your credentials can be verified.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
This is typically caused by an incorrect username and/or password, but could also be caused by network problems.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica" SIZE=2>
<BR>
For assistance, contact your network support team.
</FONT>
</TD></TR>
</TABLE>
</blockquote>
</FONT>
</BODY></HTML>"/>

Fix :
 
Invalid proxy configuration , use remove proxy (To remove proxy, you can find key with 'remove proxy' in this solution itself) or convey them to give correct proxy details and try the same.


10)How to move from US grid to EU grid manually:

1 ) Open up the file  "ApplicationResources.properties" :
- Find the key "sdp.admin.zreports.url" in the file and replace value to from "https://reports.zoho.com/" to  "https://reports.zoho.eu/"
- Find the key "sdp.admin.zreports.iamurl" in the file and replace value to from "https://accounts.zoho.com/" to  "https://accounts.zoho.eu/"


2)Connect to the database and execute the query below:
-update zohoreportsconfiguration set param_value='zohoreports+zdbtmpleu1@zohocorp.com' where param_name like 'TPLT_EmailID';

3)Restart SDP service alone after the above changes are done.

4)Go to advance Analytics and click on 'reset AT key' and enter the new AT key generated via the following link:

5)Click on 'save and sync'/'Resync'

11)Sync Failure due to an invalid or a duplicated additional field Entry:

There could be a sync failure due to an additional field entry which did not get removed from "zrmemodules.xml" but is removed from the database which might even cause duplication.
Error trace:

CASE I- non existing column:
Serverout:
inside getting acutal table for the given modulename :Request and columnName :UDF_CHAR10|
[14:59:30:684]|[03-21-2018]|[com.manageengine.framework.sqlbuilder.AQBManager]|[INFO]|[59]: Inside loading the xml table and coumns with based on table name|
[14:59:30:685]|[03-21-2018]|[SYSERR]|[INFO]|[59]: java.lang.NullPointerException|
[14:59:30:685]|[03-21-2018]|[SYSERR]|[INFO]|[59]: at com.manageengine.zrmeinteg.modeler.TableModeler.startModeling(TableModeler.java:733)|
[14:59:30:685]|[03-21-2018]|[SYSERR]|[INFO]|[59]: at com.manageengine.zrmeinteg.sync.DataSyncer.startUploadData(DataSyncer.java:266)|
[14:59:30:685]|[03-21-2018]|[SYSERR]|[INFO]|[59]: at com.manageengine.zrmeinteg.sync.ZRScheduleDataUploader.executeTask(ZRScheduleDataUploader.java:59)|
[14:59:30:685]|[03-21-2018]|[SYSERR]|[INFO]|[59]: at com.adventnet.taskengine.internal.SchedulerBean.executeTask(SchedulerBean.java:627)|
zrmeinteglog:
adding columns name UDF_CHAR10|
[14:59:30:686]|[03-21-2018]|[com.manageengine.zrmeinteg.framework.ZRSDPFrameWorkImpl]|[INFO]|[59]: Exception while invoking zoho reports upload tool|

CASE II-duplication:
Serverout:
ServerException (HttpStatusCode 400 Error Code: 7128 , URI: /api/admin/ME%20ServiceDesk%20Plus%20Analytics/Request, Action: RENAMECOLUMN, Message: The following column names are duplicated in this table
[sample3])|

zrmeinteglog:
renaming the column alias name old Name sample2 new Name sample3|
[15:34:44:310]|[03-21-2018]|[com.manageengine.zrmeinteg.framework.ZRSDPFrameWorkImpl]|[INFO]|[57]: Exception in
conneting reports.zoho.com, may invalid  zoho reports credentials are configured, please check the root user


You can get the list of additional fields by executing:
"select * from columnaliases;"


Fix:
1)Compare the column aliases found in the results of the above-mentioned query with the entries in "zrmemodules.xml" and if there is an entry present in the xml file but not in the database, it should be removed.

Example:
<module isbundled="no" name="SR Internet Custom Fields">
<table createdTime="Request Created Time" description="This table contains the ServiceDesk Plus Service Requests custom additional fields data" fullSyncCriteria="Workorder.WORKORDERID is not null and WorkOrder.CREATEDTIME" isbundled="no" name="ServiceReq_Net" parentModule="ServiceCatlog Custom Fields" pkColumn="SRequestID" regularSyncCriteria="WorkOrder.WORKORDERID is not null and WorkOrder.WORKORDERID IN">
<column alias="sample1" name="UDF_CHAR1">
<column alias="sample2" name="UDF_CHAR2">
<column alias="sample3" name="UDF_CHAR2">
<column alias="SRequestID" name="WORKORDERID"/>
</table>
</module>

But the results of the query are something like:

columnaliasesid
tablename
columnname
aliasname
1
ServiceReq_Net
UDF_CHAR1
sample1
2
ServiceReq_Net
UDF_CHAR2
sample3



You can go ahead and remove the entry from zrmemodules.xml since it is not present in the database:
<column alias="sample2" name="UDF_2">

Note: The column name for each tablename is unique. 


2)Restart ServiceDesk Plus and attempt the sync again.



13 ) Advanced Analytics schedule sync is not initiated  or not stopped , but not failure due the breakage of mickey lite upgrade.

update task_input set is_commissioned='t' where schedule_id in (select schedule_id from schedule where schedule_name like '%zr%');

update the above query and restart sdp service and do re-sync.

14) 

Error Trace in logs:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target|
Solution:
1. Download the file from the link given below and extract the contents of "windows-cert" folder to the Service Desk Plus Home directory using 7zip so that lib folder is merged.
1. Run the Extracted batch file from the command prompt using the syntax given below.
syntax:- gencert.bat (Analytics hostname):(port)
2. example: cmd> gencert.bat analyticsplus.domain.com:8443
3. You will receive an exception PKIX. On supplying the value 1, a file called jssecacerts is generated in the ServiceDesk Plus Home Directory.
4. Copy the jssecacerts file under jre\lib\security folder and restart ServiceDesk Plus application.
5. Try integrating Analytics Plus again.

15)
Error Trace in logs:
java.lang.NullPointerException
at com.manageengine.zrmeinteg.config.ConfigurationInterface.getClientGrids(ConfigurationInterface.java:140)

(or)

java.lang.NullPointerException
at java.io.StringReader.<init>(StringReader.java:50)
at org.json.JSONTokener.<init>(JSONTokener.java:84)
at org.json.JSONArray.<init>(JSONArray.java:144)
at com.manageengine.zrmeinteg.config.ZRConfigurator.getInstance(ZRConfigurator.java:105)
at com.manageengine.zrmeinteg.config.ConfigurationInterface.getInstance(ConfigurationInterface.java:29)
at com.manageengine.zrmeinteg.modeler.TableModeler.getInstance(TableModeler.java:93)
at com.manageengine.zrmeinteg.modeler.DataModeler.getInstance(DataModeler.java:32)

Fix:
Check and add the following entries in ServiceDesk/zreports/uploadtool/conf/common_params.com and add if not present:


DATA_SHEET_URL=/ZDBDataSheetView.cc?DBID=



#Information regarding the grids and their respective data
SDP_CLIENT_GRIDS=[{"name":"sdp.admin.zreports.country.USA","serverUrl":"https://reports.zoho.com%22,%22templateUserName%22:%22sdp-zohoreports-team+user@zohocorp.com%22%2C%22accountsurl%22:%22https//accounts.zoho.com%22,signUpUrl:%22https://reports.zoho.com/register.cc?REFERER=Pricing&PLANID=3&WEBSITETRYNOW=true&EMREPORTST=true%22,ATKeyUrl:%22https://accounts.zoho.com/apiauthtoken/create?SCOPE=ZohoReports/reportsapi%22},{%22name%22:%22sdp.admin.zreports.country.Europe%22,%22serverUrl%22:%22https://reports.zoho.eu%22,%22templateUserName%22:%22zohoreports+zdbtmpleu1@zohocorp.com%22,%22accountsUrl%22:%22https://accounts.zoho.eu%22,signUpUrl:%22https://reports.zoho.eu/register.cc?REFERER=Pricing&PLANID=3&WEBSITETRYNOW=true&EMREPORTST=true%22,ATKeyUrl:%22https://accounts.zoho.eu/apiauthtoken/create?SCOPE=ZohoReports/reportsapi"}]

16 ) Error like 


[18:11:42:448]|[11-01-2018]|[SYSERR]|[INFO]|[66]: ServerException (HttpStatusCode 400 Error Code: 6045 , URI: /api/abc@mail.com Action: GETDATABASENAME, Message: API request could not be processed. The number of requests received from your account at a specific time interval has exceeded the allowed limits. Please moderate your requests count and try after some time.)|
[18:11:42:448]|[11-01-2018]|[SYSERR]|[INFO]|[66]: at com.adventnet.zoho.client.report.BaseClient.sendRequest(BaseClient.java:159)|
[18:11:42:448]|[11-01-2018]|[SYSERR]|[INFO]|[66]: at com.adventnet.zoho.client.report.ReportClient.sendRequest(ReportClient.java:2305)|
[18:11:42:448]|[11-01-2018]|[SYSERR]|[INFO]|[66]: at com.adventnet.zoho.client.report.ReportClient.getDatabaseName(ReportClient.java:642)|
[18:11:42:448]|[11-01-2018]|[SYSERR]|[INFO]|[66]: at co

Fix :

if customer is not in 9422 , convey them to upgrade the version and give the below fix.

from the below location
<sdp-home>\zreports\uploadtool\conf\common_params.conf  find the API_CALLS_LIMIT=40
and change first 30 and 20 and 10 , each time restart
and do re-sync.

17 )

Integration fails which is already working SDP with Zoho Reports may the server url is changed 

Reason : url is changed from reports.zoho.com to analytics.zoho.com 

Invalid credentials are configured like that message to be displayed when this issue comes on Advanced Analytics page. 

Error trace : 


Fix : At customer end , have to update the new url in the whitelist (Regenerate the certification with the new url's) 

The url's analytics.zoho.com and analyticsapi.zoho.com 

at Serverout0.txt



17 )  

Integ failed with SDP with Aplus , Recently , Some of customer faced this issue 

Issue : Workspace not found! Please check whether the workspace exists in the account  sdp-zohoreports-team+user@zohocorp.com

Fix : forward to Aplus team. analyticsplus-support@manageengine.com , they will take care of this.

Reason :  at Aplus,  template db is not recreated in upgrade when new template is changed. 

Error trace at serverout0.txt.

[09:16:22:270]|[11-26-2018]|[SYSERR]|[INFO]|[70]: ServerException (HttpStatusCode 400 Error Code: 7103 , URI: /api/ sdp-zohoreports-team+user@zohocorp.com/ME%20ServiceDesk%20Plus%20Analytics, Action: COPYDATABASE, Message: Workspace not found! Please check whether the workspace exists.)|
[09:16:22:270]|[11-26-2018]|[SYSERR]|[INFO]|[70]:  at com.adventnet.zoho.client.report.BaseClient.sendRequest(BaseClient.java:159)|
[09:16:22:270]|[11-26-2018]|[SYSERR]|[INFO]|[70]:  at com.adventnet.zoho.client.report.ReportClient.sendRequest(ReportClient.java:2305)|
[09:16:22:270]|[11-26-2018]|[SYSERR]|[INFO]|[70]:  at com.adventnet.zoho.client.report.ReportClient.copyDatabase(ReportClient.java:942)|
[09:16:22:270]|[11-26-2018]|[SYSERR]|[INFO]|[70]:  at com.manageengine.zrmeinteg.modeler.TableModeler.copyDatabase(TableModeler.java:1927)|
[09:16:22:270]|[11-26-2018]|[SYSERR]|[INFO]|[70]:  at com.manageengine.zrmeinteg.sync.DataSyncer.startUploadData(DataSyncer.java:204)|
[09:16:22:270]|[11-26-2018]|[SYSERR]|[INFO]|[70]:  at 



PKIX path building failed







18  ) Remove custom columns which already removed at Advanced Analytics

Trace:
[12:08:37:734]|[12-03-2018]|[SYSERR]|[INFO]|[66]: ServerException (HttpStatusCode 400 Error Code: 7107 , URI: /api/abc@mail.com/ME%20ServiceDesk%20Plus%20Analytics/ServiceCatlog%20Custom%20Fields, Action: DELETECOLUMN, Message: Column Select the Drive or File Share does not exists)|
[12:08:37:734]|[12-03-2018]|[SYSERR]|[INFO]|[66]: at com.adventnet.zoho.client.report.BaseClient.sendRequest(BaseClient.java:159)|
[12:08:37:734]|[12-03-2018]|[SYSERR]|[INFO]|[66]: at com.adventnet.zoho.client.report.ReportClient.sendRequest(ReportClient.java:2305)|
[12:08:37:734]|[12-03-2018]|[SYSERR]|[INFO]|[66]: at com.adventnet.zoho.client.report.ReportClient.deleteColumn(ReportClient.java:1364)|
[12:08:37:734]|[12-03-2018]|[SYSERR]|[INFO]|[66]: at com.manageengine.zrmeinteg.modeler.TableModeler.startModeling(TableModeler.java:696)|
[12:08:37:734]|[12-03-2018]|[SYSERR]|[INFO]|[66]: at com.manageengine.zrmeinteg.sync.DataSyncer.startUploadData(DataSyn

fix : deleted custom field at Advanced analytics , so , have to remove the column at ZRMEModulescopy.xml and restart & do resync 

19 ) Remove custom table which is already removed at Advanced Analytics. 


[16:44:45:981]|[11-29-2018]|[SYSERR]|[INFO]|[72]: ServerException (HttpStatusCode 404 Error Code: 7138 , URI: /api/ab@mail.com/ME%20ServiceDesk%20Plus%20Analytics, Action: DELETEVIEW, Message: Table SR 1. New Users & Their Equipment Custom Fields is not present in the workspace ME ServiceDesk Plus Analytics)|
[16:44:45:981]|[11-29-2018]|[SYSERR]|[INFO]|[72]: at com.adventnet.zoho.client.report.BaseClient.sendRequest(BaseClient.java:159)|
[16:44:45:981]|[11-29-2018]|[SYSERR]|[INFO]|[72]: at com.adventnet.zoho.client.report.ReportClient.sendRequest(ReportClient.java:2305)|
[16:44:45:981]|[11-29-2018]|[SYSERR]|[INFO]|[72]: at com.adventnet.zoho.client.report.ReportClient.deleteView(ReportClient.java:923)|
[16:44:45:981]|[11-29-2018]|[SYSERR]|[INFO]|[72]: at com.manageengine.zrmeinteg.modeler.TableModeler.startModeling(TableModeler.java:638)|
[16:44:45:981]|[11-29-2018]|[SYSERR]|[INFO]|[72]: at com.manageengine.zrmeinteg.sync.DataSyncer.startUploadData(DataSyncer.java:267)|
[16:44:45:981]|[11-29-2018]|[SYSERR]|[INFO]|[72]: at 

Fix : 

deleted custom table at Advanced analytics , so , have to remove the module at ZRMEModulescopy.xml and restart & do resync 


20 ) 

error

[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|: [Fatal Error] :3:21426: XML document structures must start and end within the same entity.
|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 21426; XML document structures must start and end within the same entity.|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.manageengine.zrmeinteg.common.IntegCommonUtil.getAsXMLDoc(IntegCommonUtil.java:267)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.manageengine.zrmeinteg.sync.DataSyncer.updateDatabaseNameInQueryFile(DataSyncer.java:1246)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.manageengine.zrmeinteg.sync.DataSyncer.startUploadData(DataSyncer.java:240)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.manageengine.zrmeinteg.sync.ZRScheduleDataUploader.executeTask(ZRScheduleDataUploader.java:61)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.adventnet.workengine.task.internal.TaskManagerImpl.executeTask(TaskManagerImpl.java:706)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.adventnet.workengine.executor.internal.WorkFlowExecutor.executeStartingTask(WorkFlowExecutor.java:160)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.adventnet.workengine.executor.internal.WorkFlowExecutor.executeWorkFlowTemplate(WorkFlowExecutor.java:115)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.adventnet.workengine.executor.internal.WorkFlowExecutor.executeWorkFlow(WorkFlowExecutor.java:105)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.adventnet.workengine.internal.WorkEngineImpl.executeWorkFlowWithoutTransaction(WorkEngineImpl.java:424)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.manageengine.zrmeinteg.sync.DataSyncer.scheduleZRDataPopulation(DataSyncer.java:1088)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.manageengine.zrmeinteg.sync.DataSyncer.doInitialSync(DataSyncer.java:121)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.manageengine.zrmeinteg.sync.SyncOperations.doInitialSync(SyncOperations.java:32)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.manageengine.zrmeinteg.client.action.ZRConfigurationDefAction.execute(ZRConfigurationDefAction.java:87)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.manageengine.servicedesk.common.filter.ResetThreadLocal.doFilter(ResetThreadLocal.java:26)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at com.adventnet.servicedesk.filter.EncodingFilter.doFilter(EncodingFilter.java:210)|
[16:05:00:323]|[12-13-2018]|[SYSERR]|[INFO]|[21945]|:  at 

Fix : 

seems, database_sql_queries.xml file is corrupted , we need to correct this file manually,

so get the result for the below query

select * from donotificationmodule;



21) Error: Column name exceeds the maximum length. Maximum allowed column length is 60).

zrmeinteglog0.txt entry



serverout0.txt entry


      SDP will allow users to create User Defined Fields with upto 60 character length. But we can't create a new Column in Database with more than 60 character length. So while integrating it with Analytic Plus or Zoho Analytics, we can't sync with such data.
FIX:
      The user have to rename the UDF (User Defined Field) which he have created with a character length more than 60 to less than 60 and re-sync.



      22) Error: org.xml.sax.SAXParseException; systemId: file:///E:/ManageEngine/ServiceDesk/bin/..//zreports/uploadtool/uploadstatus/uploadstatus.xml; lineNumber: 3; columnNumber: 60; The value of attribute "cause" associated with an element type "upload" must not contain the '<' character.

or

<nobr>[Line: 121 Field:  2] (-) -ERROR: Invalid NUMBER value</NOBR><br><nobr>The data found at the row 121 has invalid data for the given configuration

Fix: Open <SDP_Home>/zreports/sync/conf/
ZRMEModules.xml. Search for "RAMSLOTSCOUNT" and add replace="-" with="null" to that row. Refer below

Before:


Change to




After this save that file in that directory and perform re-sync.



FAQ




General:

  1.  What is zoho reports integration?
    Zoho Reports - SDP Integration helps to analyze the SDP-data effectively. The highly flexible Zoho Reports will help to get any complex reports easily. We have provided default reports which will be most helpful to IT-management
  2. What is initial setup and what is additional setup?  




         Initial setup : To sign up in Zoho Reports, other credentials and syncing existing data into Zoho Reports.

         Additional Setup : Configuring periodic sync,configure retention policy, fetching shared users and license info etc 


Initial setup




  1.  Can we create account in Zoho Reports based on a 'non zoho domain'?
     Yes. paul@acme.com can be created in Zoho Accounts
  2.  What is Auth Token key?
    Security  Key used to communicate/add/modify records between Zoho Reports  and SDP
  3.  Can we choose specific columns to be sync?
     No
  4.  How existing customer will use this report?
    Need to follow Sign Up procedures and followed by integration procedure as explained in Admin==> Zoho Reports Configuration ==> Help Card 
  5. Is proxy details mandatory for data sync?
     Required, if server machine does not have direct internet connection 
  6. What is Template Database?
    This database is created  ( as per SDP-Data Model ), in Zoho Reports. The database has three tables Request, Task and Worklog with columns mapped to SDP- Tables.
    For every customer account, this template database will be copied before proceeding to synchronize the data.
  7. What does the meaning of execution: save , save & sync and re-sync?
    Save : Validate and store the credentials
    Save & sync : Copying the Template database, default reports and dashboards into customer account. Further, invokes initial data sync.
    Re-sync : Only invoking the initial data sync. 
  8. What is an Upload Process ?
    Upload process is executed by a tool as provided by Zoho Reports team. This process runs in a separate JVM. SDP will find the upload process success/failed by verifying uploadstatus.xml as in SDP_HOME/zreports/uploadtool/
  9. How long SDP will wait to find upload status?
    SDP - Zoho Reports Checker will check the status of upload every 5 minutes for 2 hours and stops, declaring upload failed. This will not stop any scheduler related to Zoho Reports Integration.
  10. How notification on upload status is handled ?
    A detailed mail will be sent to the configured email id in case of failure only.
  11. What should to do if initial data synchronization fails ?
    Re-Sync process to be followed
  12. How to analyze the upload failure?
    All success and failed messages will be logged into syslog. Inorder to analyze the issue, one has to refer log files under SDP_HOME/zreports/uploadltool/logs folder

 

Additional setup




  1. When additional setup tab is enabled ?
    Only when initial setup and existing data synchronization is success, then the additional setup will be enabled
  2. What is instant sync ?
    This will immediately synchronize the modified data into Zoho Reports
  3. What will happen when sync fails more than 96 hours ?  
    A mail will be sent to root user informing that: periodic synchronization and data recording process are failed and stopped. Administrator has to resolve the issue and further has to execute Re-Synchronize process
  4. What will happen when periodic data sync fails ?
    A detailed mail will be sent to root user that "periodic sync fails" and to analyze and fix it.
  5. Can we stop the periodic schedule sync ? 
    To select "None" from the time list

 Data Retention policy:

  1. When will data retention policy schedule run?
    Every 7 days
  2. What are all the info to be fetched in retention policy schedule?
    As part of data retention, the shared users details and license info will also be updated.

Zoho Reports Licensing:

- After setting up the integration, by default a 30 day free trial will applied based on the 'Standard Plan' of Zoho Reports. Subsequent to the trial, customer can upgrade to a paid plan, if not the plan will downgrade to 'Free Plan' in Zoho Reports, but the integration will continue to work with the Free Plan limitations. 
- 30 Days Free Trial plan has 5 Lakh Records with 5 users 
- Free plan will have limits in terms of record count (10,000 rows only) and 2 users for sharing & collaboration. 

Shared Users Info:


Root User: The configured email id user is called as root user and have access to all databases in Zoho Reports
DB Owners: A user can be defined as a DB owner in Zoho Reports. The user has access to one database and have permission to view/edit/delete reports
Shared Users: A database can be shared to a user and the user has permissions as granted by DB Owner while sharing.
Available in SDP: Users having same email id in SDP configured in Zoho Reports
Not Available in SDP: Users having different email id is SDP and Zoho Reports

Reports Tab - > Zoho Reports

 Zoho Reports button will be shown to user who is having SDReport permission

Recording mechanism

For every change in the Database w.r.to Request Module will be recorded with its PK value in PendingIndexRecords table. On every upload details of these request based on PK values will be uploaded.

Remove configuration

  1. What is "Remove Zoho Reports Integration" ?
    Removing configuration and configured database , default reports and dashboards.

Common: 




  1. Do we encode db password in zreports upload config tool?
    Encoding using Zoho Reports Encoding API
  2. Support Team Responsibilities
    a. Zoho Reports: Point of Contact: sathyav@zohocorp.com
    b. How to create reports/dashboards kind of supports to be forwarded to support@zohoreports.com and close the SDP-ticket
    c. Configuration, Setup and Data Sync issues need to be supported by SDP support
  3. Do we stop the zoho reports sync in test setup?
    Yes.
  4. Do we sync the additional fields ?
    No
  5. Do we maintain the sdp roles in zoho reports?
    No
  6. Is there any site restriction in zoho reports ? 
    No



                    New to ADSelfService Plus?

                      • Related Articles

                      • Account TakeOver Done at Zoho Analytics

                        Need to Update at SDP Integration 1 ) Ensure Account TakeOver Performed at Zoho Analytics successfully. 2 ) Execute the Below Query at SDP DataBase and Restart SDP at Downtime update zohoreportsconfiguration set param_value ='<New Zoho Analytics ...
                      • Azure DevOps Integration

                        Feature:  Azure DevOps Integration <-->  ServiceDeskPlus (Plugin Model) --> Create a new work-item in Azure DevOps when a request is created in SDP --> Update SDP request status when a Azure DevOps work-item status is updated --> Updating Comments ...
                      • Zoho Cliq Integration

                        In Zoho CRM for example, if a task is assigned it notifies in Zoho Cliq, in the same way for SDP, if a request is assigned, it should ping in a particular channel with the ID. Use Case: There might be individual chat groups for each department within ...
                      • Zoho Project to SDP Integration

                        Requirement: Considering the earlier integration discussed in the article: https://pitstop.manageengine.com/portal/en/kb/articles/sdp-to-zoho-project-integration Subsequently, upon adding a task to Zoho Projects, it's essential to mirror this action ...
                      • SDP To Zoho Project Integration

                        Requirement: When a change is moved to "Implementation" Stage, a project in Zoho Project has to be created. Generating an Auth token To use the 'Project API' we will need Project's authentication token from Zoho Accounts. Follow the instructions in ...