In some large deployments, if the discovery_server is taking up a lot of memory on the Primary hub, e.g., > 10 GB, in some cases it is advantageous to offload the discovery_server to another robot to eliminate memory pressure on the Primary hub.
- In large environments, the discovery_server may need to be offloaded to another machine to free up resources on the Primary or to improve performance.
How to deploy the discovery_server on a child robot of the Primary Hub
By default, the discovery server runs on the Primary hub, which is the same robot where the data_engine probe is running. The discovery_server probe can be deployed on any child robot connected to the Primary hub to free up resources (CPU and memory) on the Primary hub, or to provide dedicated resources to the discovery server to help improve its performance.
Hardware Requirements (example):
Ensure that once the robot server is made available for the offload of the discovery_server from the Primary, that it remains dedicated to only the discovery_server. Please also check your local archive on the Primary hub to make sure you have a copy of the discovery_server probe package for the version of UIM you are currently running.
The child robot must be able to communicate with the CA UIM backend database and also talk to the Primary hub on port 4334 for datomic, so make sure the firewall is not blocking the communication. Use telnet to test the connection from the new robot to the Primary hub on port 4334, and test the connection from the robot to the backend CA UIM database server via its port as well.
1. Deactivate the discovery server on the Primary hub: only one instance of the discovery server can be deployed and run successfully within a UIM environment.
2. Install the discovery_server probe on a ‘child’ robot (connected directly to the Primary). It should deploy as deactivated but if not, then deactivate the discovery_server probe on the child robot.
3. Copy the cryptkey (certificate.pem file) from the Primary hub to the child robot which was allocated for the offload of the discovery_server, then update its robot.cfg and point it to the absolute path including the filename, e.g., C:\security\certificate.pem, e.g.,
cryptkey = C:\security\certificate.pem
If you customized the discovery server configuration on the Primary hub, copy the discovery_server.cfg file from the primary hub to the child robot. Make sure it has the proper configuration including the correct min/max java heap memory settings.
4. Configure the discovery_server probe to connect to the data_engine and udm_manager probes on the Primary hub:
In Infrastructure Manager, shift + right click on the discovery_server probe. Select Raw Configure.
Using Infrastructure Manager
i. Set the location of the data_engine probe:
i. Select the setup folder in the content window, and click on the New Key button.
ii. In the New Key dialog enter:
Key Name = data_engine
Value = the full data_engine probe address (/domain/primary_hub/primary_robot/data_engine).
You can look up the data_engine address in Infrastructure Manager under the primary hub’s SLM category.
ii. Set the location of the udm_manager probe
i. Select the setup folder and click the Add Section button IF the udm section is not already present.
ii. Enter udm in the Add Section dialog and click Add.
iii. Select the setup folder in the content window, and click on the New Key button.
iv. In the New Key dialog enter:
Key Name = udm_manager
Value = the full udm_manager probe address (/domain/primary_hub/primary_robot/udm_manager). You can look up the udm_manager address in
Infrastructure Manager under the primary hub’s Service category.
iii. Click OK to close the dialog.
iv. Click Apply to save your changes.
5. Activate the discovery_server probe on the child robot.
On the Primary Hub:
o Save the original discovery_server folder and contents in a safe location.
o Make sure the discovery_server is deactivated
o Rt-Click and delete the discovery_server
o Then delete the discovery server folder e.g., <install_dir>\Nimsoft\probes\service\discovery_agent
6. If you have an snmpcollector probe(s) deployed on a hub/remote hub, open the Admin Console and update the discovery_address, e.g., /<Domain>/<Hub>/<Child_Robot>/discovery_server, to point to the new child robot discovery_server (NimBUS address) and then click Update to save the changes. You might see a transient restart error so check to make sure that the change was saved and that the snmpcollector probe is up and running.
7. On the UMP/OC robot, open the wasp probe via Rt-Click->Raw Configure and select the ump_common section and edit-update the discovery_server address to point to the new child robot discovery_server.
Key Name: discovery_server
If you see similar errors to the following in the discovery_server.log, the cryptkey setup most likely needs correction:
The discovery_server does not seem to be able to parse the connection string it receives from the data_engine even though it works fine on the Primary hub itself.
Note also that the newly deployed and configured discovery_server contacts the discovery_agent’s on the remote hubs so there is no need to change their configurations.