How to deploy or offload the discovery_server to a child robot of the Primary Hub
search cancel

How to deploy or offload the discovery_server to a child robot of the Primary Hub

book

Article ID: 135036

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM) CA Unified Infrastructure Management SaaS (Nimsoft / UIM) Unified Infrastructure Management for Mainframe

Issue/Introduction

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.

Environment

  • Release: 9.0.2 or higher
  • Robot: 7.97HF3 or higher
  • Hub: 7.97 or higher
  • Component: UIM - DISCOVERY_SERVER

Cause

- 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.

Resolution

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):

  • 2.8 GHz Quad processor
  • 16 GB RAM
  • SSD drives

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.


Connectivity
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.


Instructions
:
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

Value: /xxx_domain/xxx_hub/<child_robot_hostname>/discovery_server

Additional Information

Troubleshooting:

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.

22 Jul 2019 15:53:08,630 [main] FATAL com.nimsoft.discovery.server.probe.DiscoveryServerProbe - Error initializing probe: java.lang.IllegalArgumentException: Data Engine connection string fails to contain database provider.
Jul 22 15:53:34:140 [6676] Controller: Max. restarts reached for probe 'discovery_server' (command = <startup java>) 

 

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.