When deploying AppDynamics, whether using an on-premise or SaaS Controller, you will likely need to open ports in a network firewall or configure a load balancer to enable communication between the Controller and App Agents and client browsers. For SaaS, you only need to adjust your infrastructure to accommodate the HTTPS port provided to you by AppDynamics. For an on-premises deployment, however, you may need to make additional adjustments.
This topic lists the ports used by the Controller.
By default the Controller uses the following ports for internal communication among its components:
Application server primary port (HTTP)
Application server primary port (HTTPS)
Database server port
Application server admin port
Application server JMS port
Application server IIOP port
At installation time, the install wizard may suggest other port numbers if the default ports are used on the target system, or you can enter different ports manually. After installation, you can change the port settings by either reinstalling the Controller or by editing the port configuration as defined in the underlying GlassFish application server, as described here.
Reinstalling the Controller with New Port Settings
Use the reinstall procedure if you want to modify connection settings without editing configuration files.
To reinstall the Controller with new port settings
- Shut down the Controller. For instructions see Start or Stop the Controller.
- Create a complete backup of the Controller installation directory and all of its sub-directories.
- Re-install the Controller in the same installation directory as your original Controller and choose the new port settings while running the installer. For instructions see Install the Controller on Linux or Install the Controller on Windows.
Even though the versions are the same, this step is handled as an upgrade by the Controller installer.
Editing Controller Port Configurations
If reinstalling the Controller is not convenient, you can edit the ports manually by editing configuration files used by the application server for the Controller domain.
The following sections list the settings you need to modify to change a port. After making manual edits to configuration files, you will need to restart the Controller to have your changes take effect.
To change the primary server listening port:
- In the Controller home directory, navigate to the appserver/glassfish/domains/domain1/config/ directory.
- Open domain.xml for editing.
- Change the port number as it appears in these locations:
- The value of the network-listener element with the attribute id="http-listener-1" for the primary listening port, or http-listener-2 for the secure listening port to the new port setting.
- The JVM argument values for the Controller HTTP port and Controller services port under the config element named server-config.
- For each deployed agent, navigate to proxy/conf in the agent home directory and change the controller-port value in controller-info.xml.
- Change the serverPort or sslPort number in the Controller home directory: .install4j/response.varfile. This ensures that the new port number will not be overwritten upon upgrade.
To change the database port:
- Under the Controller home directory, edit the file appserver/glassfish/domains/domain1/config/domain.xml to change the database listening port where it appears under the jdbc-connection-pool element named controller_mysql_pool. It appears as the value of the property named portNumber.
- Edit the file appserver/glassfish/domains/domain1/imq/instances/imqbroker/props/config.properties to change the "imp.persist.jdbc.mysql.property.url" variable so that it includes the new port number. This variable is the JDBC connection string.
- In db/db.cnf, set the "port=" variable to your new port setting.
- In the bin/controller.bat (.sh), change the "DB_PORT" variable to your new port setting.
- Edit .install4j/response.varfile to change the databasePort value to the new port. This ensures that the new port number will not be overwritten in a future Controller upgrade.
To change the Glassfish admin listening port:
- In appserver/glassfish/domains/domain1/config/domain.xml, change the port attribute value of the http-listener element to the new port. This is the element with an id attribute value of "admin-listener".
- Also in the Controller home directory, change the adminPort value in .install4j/response.varfile. This ensures that the new port number will not be overwritten in a future Controller upgrade.
To change the JMS port:
- In appserver/glassfish/domains/domain1/config/domain.xml, change the port attribute value for the jms-host element with the name attribute of default_JMS_host.
- Change the jmsPort value in .install4j/response.varfile. This ensures that the new port number will not be overwritten in a future Controller upgrade.
To change the IIOP listening port:
- In appserver/glassfish/domains/domain1/config/domain.xml, edit the port attribute value of the iiop-listener element with an id attribute of orb-listener-1.
- Change the iiopPort value in <controller_home>/.install4j/response.varfile. This ensures that the new port number will not be overwritten in a future Controller upgrade.