Related pages:

The Reporting Service is a standalone Controller process responsible for generating and transmitting reports. The Controller uses the Reporting Service to send both one-time reports and scheduled reports. For more information about the Reporting Service, see Fonts Needed for the Reporting Service and Installation Settings.  

Configure the Service

You can configure the Reporting Service with files in the following directory:

<Controller home>/reporting_service/reports/config

You can configure Reporting Service behavior in the user-config.json file. You can configure properties such as the load timeout. 

Any configuration changes made in user-config.json override the default behavior specified in default-config.json.

Disabling HTTP or HTTPS Port

Some on-premise installations can disable the HTTP or HTTPS connection. This is done using the same reportServer:port config value used to set the listening port. The default-config.json installation has the following values for port(s):

"reportServer": {
        "port": "8020",
        "portSecure": "8021",
     }
CODE


To disable HTTPS for a localhost system change the portSecure to 0:

"reportServer": {
        "port": "8020",
        "portSecure": "0",
     }
CODE

Alternatively, for security reasons if you want to force HTTPS, and HTTP, you can change port to 0:

 "reportServer": {
        "port": "0",
        "portSecure": "8021",
     }
CODE

After making the change, stop the reporting server, and then start it:

You must log in to the Controller host before running the scripts to start the controller.sh processes.

bin/controller.sh stop-reporting-service
CODE
Stop the Windows Service > AppDynamics Reporting Service to stop the Controller Reporting Service.

To start the Controller Reporting Service:

You must log in to the Controller host before running the scripts to start the controller.sh processes.

bin/controller.sh start-reporting-service
CODE
Start the Windows Service > AppDynamics Reporting Service to start the Controller Reporting Service.

The reporting-server.log contains information about the port settings during startup.

Limit Reports Service Port Listening to Localhost

Many on-premise installations may have the requirement to limit port listening for the Reports Service node server and listen to localhost connects. These requests do not get onto the network. This is done using the reportServer:portHostname and reportServer:portSecureHostname value that is used to set the listen hostname parameter. The default-config.json installation has these values for the port hostname values, with their port(s):

Default values are:

"reportServer": {
      "port": "8020",
      "portHostname" : "",
      "portSecure": "8021",
      "portSecureHostname" : ""
    },
CODE

The reporting-server.log shows information about the hostname settings during startup.
Adding the port*Hostname fields to localhost as shown below in user-config.json limits the Report Service from connecting to a Controller installed on the same host.

"reportServer": {
        "portHostname" : "localhost",
        "portSecureHostname" : "localhost"
    },
CODE


After making the change, stop and start the Reports Server as follows:

You must log in to the Controller host before running the scripts to start the controller.sh processes.

bin/controller.sh stop-reporting-service
CODE
Stop the Windows Service > AppDynamics Reporting Service to stop the Controller Reporting Service.

You must log in to the Controller host before running the scripts to start the controller.sh processes.

bin/controller.sh start-reporting-service
CODE
Start the Windows Service > AppDynamics Reporting Service to start the Controller Reporting Service.

See default-config.json for more information about configurable properties.

Start and Stop the Service

You can start or stop the Reporting Service independent of the Controller. Run the following commands from the Controller home directory.

When using the Enterprise Console, starting or stopping the Controller will also start or stop the Reporting Service.

For more information about starting and stopping reporting server, see Start or Stop the Controller Reporting Server.

To check the health status of reporting service you can:

  • verify if the reporting service process is active on task manager or activity monitor.

  • run the following curl command on the reporting service server:

curl -v http://localhost:<port of Reporting Service>
CODE

View Logs

The Reporting Service uses the following logs in the Controller home directory:

  • /logs/reporting-server.log. Prints if the report email was sent and details of the report object that was requested by the user.
  • /reporting_service/reports/logs/reporting-process.log. Confirms the reporting service process started and whether or not exceptions occurred. Note that this log file is only used on Linux Controllers.

Troubleshooting the Reporting Service

To begin troubleshooting why a report failed to send, open the server.log file and find the runUUID for the report you tried to send. Then search for the log entry for the report.

Resolutions for common Reporting Service issues include the following:  

  • Verify that the Reporting Service is running.
  • Verify the default ports for the service: 8020 for HTTP and 8021 for HTTPS
  • Verify that the user account used to start the Reporting Service is the same as the account used to start the Controller.