The table below shows micro services process and configuration files that manage the configuration.
Interprocess communication can be either through REST on the local instance of Control-M/Enterprise Manager or through THRIFT, and is exposed to the entire network.
The configuration yml files used for services are located in the [EM install dir]/ctm_em/services/config/ folder.
For example:
The path to the REST port is located in the parameter:
com.bmc.services.protocol-translator.server.rest.port
The path to THRIFT port is located in the parameter:
com.bmc.services.protocol-translator.server.port
If the port is not specified or is set to 0, then it is set randomly. In order to configure each service with static ports or change the default port, it is required to add or update the port in yml files accordingly.
Note: The ports in below table are sample only
Control-M Web |
- ctm_em/etc/emweb/tomcat/conf/Catalina/localhost/ControlM.xml
- ctm_em/etc/emweb/tomcat/conf/Catalina/localhost/ControlMMobile.xml
- ctm_em/services/config/controlm-web-application.yml
| 1. Identify the port used for Web Service from ControlM.xml and ControlMMobile.xml <Parameter name="target_uri" value=http://localhost:49090/ override="false" />
2. Add or update ./ctm_em/services/config/controlm-web-application.yml as below server: port: 49090 address: 127.0.0.1 | |
Reporting |
- ctm_em/etc/emweb/tomcat/conf/Catalina/localhost/RF-Server.xml
- ctm_em/etc/emweb/reporting/reporting.properties
| 1. Identify the port used for Reporting Service from RF-Server.xml <Parameter name="target_uri" value="http://localhost:32300/" override="false" />
2. Add or update ./ctm_em/etc/emweb/reporting/reporting.properties as below server.port=32300 | |
Protocol Translator |
- ctm_em/services/config/protocol-translator-application.yml
| Update below section in protocol-translator-application.yml From com: bmc: services: protocol-translator: advertised_scheme: http:// advertised_hostname: default To com: bmc: services: protocol-translator: server: port: 8999 rest: port: 9000 advertised_scheme: http:// advertised_hostname: default Note: in this example the ports are 8999 for thrift communication and port 9000 for rest. | |
Apache Kafka / Apache Zookeeper * |
- ctm_em/services/config/services.yml
- kafka/kafka/config/bmc.server.properties
- kafka/kafka/config/zookeeper.properties
| zookeeper.connect: 'vl-aus-dbasp004\:12181/emkafka' zookeeper.properties: 'bmc.zookeeper.properties' kafka.bootstrap.servers: 'vl-aus-dbasp004\:19092'
kafka/kafka/config/bmc.server.properties advertised.listeners = SASL_PLAINTEXT://vl-aus-dbasp004:19092
# the port at which the clients will connect clientPort=2181 | |
Application Integrator |
- ctm_em/services/config/aisrv-web-application.yml
- ctm_em/etc/emweb/tomcat/conf/Catalina/localhost/aisrv.xml
| 1. Check the port specified in ctm_em/services/config/aisrv-web-application.yml server: {port: 32100, address: 127.0.0.1} 2. Check the port specified ctm_em/etc/emweb/tomcat/conf/Catalina/localhost/aisrv.xml <Parameter name="target_uri" override="false" value="http://localhost:32100/"/> | |
Authorization Service |
- ctm_em/services/config/authorization-service-application.yml
| Update below section in authorization-service-application.yml From com: bmc: services: authorization-service: server: rest: port: 0 portspan: 0 hostname: "*" To com: bmc: services: authorization-service: server: rest: port: 13202 portspan: 0 hostname: "*" | |
EM-CTM Request Service |
- ctm_em/services/config/em-ctm-request-service-application.yml
| Update below section in em-ctm-request-service-application.yml From com: bmc: services: ctmreq-service: server: schema: https rest: port: 0 portspan: 0 hostname: "*" To com: bmc: services: ctmreq-service: server: schema: https rest: port: 13204 portspan: 0 hostname: "*" | |
EM-MFT Update Service |
- ctm_em/services/config/em-mft-updates-service-application.yml
| Check below section in em-mft-updates-service-application.yml. com: bmc: services: em-mft-updates-service: server: rest: port: 12493 portspan: 0 hostname: "*" By default the port is 12493. In case the port is set to 0, update it accordingly. | |
Scheduling Service |
- ctm_em/services/config/em-scheduling-service-application.yml
| Update below section in em-scheduling-service-application.yml From com: bmc: services: map: eviction: interval: 600 em-scheduling-service: server: schema: https rest: port: 0 portspan: 0 hostname: "*" To com: bmc: services: map: eviction: interval: 600 em-scheduling-service: server: schema: https rest: port: 13205 portspan: 0 hostname: "*" | |
Validation Service | N/A | | |
For EM 9.0.21.200 and higher, follow below steps to set the port for these 3 services:
1) em-scheduling-service
2) em-ctm-request-service
3) authorization-service
Step 1 - Locate the relevant xxx-service-custom.yml that is located under [EM install dir]/ctm_em/services/config/custom/ folder.
Step 2 - Open the file for edit (create if not exist in the path as in Step 1).
Step 3 - Add the following lines (keep indentation, at least one space and remove empty lines. A sample file "authorization-service-custom.yml" is attached):
com:
bmc:
services:
## Jetty setting
server:
rest:
port: 23442
Step 4 - Change the port to the desired port.
Step 5 - Save the file.
Step 6 - Recycle the service.
The service should start with the set port (repeat for the rest of the services that need to change port).
Additional Information:
Kafka and Zookeeper default ports may be different when both Control-M/Server and Control-M/Enterprise Manager are installed in two separate accounts on the same host.
When Control-M Workflow Insights is installed with a Kafka cluster, then Zookeeper will have two additional ports opened defined by the parameters:
ZOOKEEPER_FOLLOWERS_PORT 2925
ZOOKEEPER_LE_PORT 3994
To set a range of ports for a service, adjust port and portspan parametes in the configuration YAML file accordingly.
For example, the ./ctm_em/services/config/authorization-service-application.yml would look like this:
com:
bmc:
services:
authorization-service:
server:
rest:
port: 13202
portspan: 5
hostname: "*"
This allows the authorization-service to bind to ports 13202 to 13206.