cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not a customer? Start a free trial

Click the Start a free trial link to start a 15-day SaaS trial of our product and join our community as a trial user. If you are an existing customer do not start a free trial.

AppDynamics customers and established members should click the sign in button to authenticate.

Knowledge Base

Why can't I view query information in the Controller UI?

Problem:

 

The user is unable to view queries and query wait states information in the Controller UI, even though the information has been captured and sent to the Controller by the Database Agent.

 

Database logs show the following error messages:


Example 1:

[Event-Uploader-Scheduler-1] 31 May 2017 16:56:09,956  WARN DBMeasurementUploader - Fail to upload Query Stats Measurements:
com.singularity.ee.rest.ResponseReadException: Error in controller in processing binary request Write Query Stats  - null 
at com.singularity.ee.rest.controller.request.ABinaryControllerRequest.<init>(ABinaryControllerRequest.java:65)
at com.singularity.ee.rest.controller.request.dbmon.WriteQueryStatsRequest.<init (WriteQueryStatsRequest.java:30)
at com.singularity.ee.agent.dbagent.task.reporter.DBMeasurementUploader.uploadrQueryStats(DBMeasurementUploader.java:119)


Example 2:

[Event-Uploader-Scheduler-2] 13 Jul 2017 15:18:09,356 WARN DBMeasurementUploader - Fail to upload Wait Time Measurements:
com.singularity.ee.rest.ResponseReadException: Error in controller in processing binary request Wait Time Measurement - null
at com.singularity.ee.rest.controller.request.ABinaryControllerRequest.<init>(ABinaryControllerRequest.java:65)
at com.singularity.ee.rest.controller.request.dbmon.WaitTimeMeasurementCollectorRequest.<init>(WaitTimeMeasurementCollectorRequest.java:34) 


The corresponding Controller server.log file may show the following messages:

[#|2017-07-13T14:46:01.397+0500|WARNING|glassfish4.1|com.appdynamics.dbmon.core.writer.MeasurementWriter|_ThreadID=368;_ThreadName=http-listener-1(5);_TimeMillis=1499939161397;_LevelValue=900;|Failed to persist 'dbmon-query-stat' measurements for account'customer1_39714636-eec0-4331-932d-1394d05fabd3'. Marking account for reregistration.|#]

[#|2017-07-13T14:46:01.397+0500|SEVERE|glassfish4.1|com.singularity.ee.controller.beans.ExceptionHandlingInterceptor|_ThreadID=368;_ThreadName=http-listener-1(5);_TimeMillis=1499939161397;_LevelValue=1000;Encountered runtime exception RestException(statusCode=406, code=Expired.EventType, errorMessage=Eventtype [dbmon-query-stat] for account [customer1_39714636-eec0-4331-932d-1394d05fabd3] expired on [2017-06-30T07:00:00.000Z], developerMessage=Event type[dbmon-query-stat] for account[customer1_39714636-eec0-4331-932d-1394d05fabd3] expired on[2017-06-30T07:00:00.000Z]) at com.appdynamics.analytics.shared.rest.exceptions.RestExceptionFactory.makeException(RestExceptionFactory.java:47)
[#|2017-07-13T14:46:01.365+0500|WARNING|glassfish 4.1|com.appdynamics.dbmon.core.writer.MeasurementWriter|_ThreadID=369;_ThreadName=http-listener-1(6);_TimeMillis=1499939161365;_LevelValue=900;|Failed to persist 'dbmon-wait-time' measurements for account
'customer1_39714636-eec0-4331-932d-1394d05fabd3'. Marking account forreregistration.|#]

[#|2017-07-13T14:46:01.366+0500|SEVERE|glassfish4.1|com.singularity.ee.controller.beans.ExceptionHandlingInterceptor|_ThreadID=369;_ThreadName=http-listener-1(6);_TimeMillis=1499939161366;_LevelValue=1000;|Encountered runtime exception
RestException(statusCode=406, code=Expired.EventType, errorMessage=Eventtype [dbmon-wait-time] for account
[customer1_39714636-eec0-4331-932d-1394d05fabd3] expired on[2017-06-30T07:00:00.000Z], developerMessage=Event type[dbmon-wait-time] for account[customer1_39714636-eec0-4331-932d-1394d05fabd3] expired on[2017-06-30T07:00:00.000Z]) at com.appdynamics.analytics.shared.rest .exceptions.RestExceptionFactory.makeException(RestExceptionFactory.java:47)

 

Solution:

 

On-Premise Controllers:

 

  1. Execute the attached file (expiryfix.sh) by providing the following details:
    • Controller Key: This value is located in the controller admin.jsp page under the Controller Settings tab, associated with the key: appdynamics.on.premise.event.service.key
    • Global Account Name: This value is located in the admin.jsp page under the Accounts tab. Search and select the account to find the Global Account Name value for that account.

    •  

      Expiration Date: To find this value, execute the following SQL query on the Controller database, located under lt;controller-install-dir>/bin$ ./controller.sh login-db.

       

      select expiration_date from account where name='<account name>'; 

       

      Note: Ideally the account name is "customer1" unless using a multi-tenant Controller.

       

       

    • The returned value will be a timestamp in milliseconds. Convert this value to Zulu Time Format. (For example, 2017-07-15T07:00:00.000Z) 

    • The URL http://localhost:9080 in the attached script should be replaced by the actual Events Service host name & port number.

       

SaaS Controllers:

 

Contact AppDynamics support.

Version history
Last update:
‎07-18-2017 01:48 PM
Updated by:
Labels (1)
Contributors
By replying you agree to the Terms and Conditions of the AppDynamics Community.
0 Kudos
Comments

To execute the script in Windows Environment:

 

1. Install CYGWIN (https://cygwin.com/install.html)
2. Run expiryfix.sh

 

The above will not required to modify the script if the controller installed in windows.

 

Regards,

Anka