When deploying AppDynamics, you may need to open ports in a network firewall or configure a load balancer to enable communication between the Controller and the rest of the AppDynamics platform.
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 based on the information here.
Platform Component Ports
The following ports are open in a platform deployment. The "external" column indicates whether connections to the port occur entirely within the Controller host or from outside the host, and therefore may require firewall or load balancer configuration changes.
|Enterprise Console port||9191||Yes. The application uses port 9191 for all traffic.|
|SSH port||22||The port needs to be open between the Enterprise Console and the remote hosts it manages. This is for Unix only and is not configurable. If you have a requirement to configure the port, contact AppDynamics support.|
Database server port
|Default database port||3377||No|
Application server admin port
Application server JMS port
Application server IIOP port
|Application server primary port (HTTP)||8090||Yes|
|Application server SSL port (HTTPS)||8181||Yes|
|Events Service REST API port||9080||If the Events Service and Controller are on different hosts, you need to configure the port in the firewall or load balancer.|
|Events Service REST API admin port||9081||If the Events Service and Controller are on different hosts, you need to configure the port in the firewall or load balancer.|
|Reporting service HTTP port||8020||No|
|Reporting service HTTPs port||8021||No|
|EUM server port (HTTP)||7001||If EUM and the Controller are on different hosts, you need to configure the port in the firewall or load balancer.|
|EUM server SSL port (HTTPS)||7002||If EUM and the Controller are on different hosts, you need to configure the port in the firewall or load balancer.|
At installation time, 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 on the Enterprise Console Configurations page or in the underlying GlassFish application server, as described in the following sections.
Editing Controller Port Configurations
You can modify connection settings through the Enterprise Console UI. The Enterprise Console will automatically update all occurrences in the controller for you. You do not need to manually update all the files and manage the sequence to restart services. See Update Platform Configurations.
You can also edit the ports manually by editing configuration files used by the application server for the Controller domain. Updating the ports manually, however, will cause the Enterprise Console to have no visibility into the updates and cause health-check errors.
The following sections list the settings you need to modify to change a port.
Change the Primary Server Listening Port
- In domain.xml, 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 Database Port
- In domain.xml, 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 "imq.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.
Change the Glassfish Admin Listening Port
- In 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 is not overwritten in a future Controller upgrade.
Change the JMS Port
- In 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 is not overwritten in a future Controller upgrade.
Change the IIOP Listening Port
- In 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 is not overwritten in a future Controller upgrade.
Enable Appserver Health Checks for HTTPS
If you disable or lock the Controller's HTTP port, you will need to configure the Appserver health check to contact the Controller's HTTPS port instead. You can do so by completing the following steps:
- In domain.xml, set the HTTP listener, http-listener-1, to enabled=false.
- Restart the Controller.
- Use the Enterprise Console to discover and upgrade the Controller.
The Enterprise Console will default to the HTTPS port.