If the primary hub cannot start and you are unable to connect to it at all, but the Services appear to be up and running, this may be due to missing probe definitions in the controller.cfg in $NIMROOT/robot directory:
This issue can happen if for example the server crashed while the controller.cfg was still locked by the Nimsoft Robot watcher process, and became corrupted or truncated. On reboot, the robot watcher service then recreated the file but it is then only containing the controller probe entry. This then causes none of the other core probes to start, and showing the hub as not started up.
Replace the corrupted controller.cfg with a copy from any other hub (In the zip file attached to this document you will find a sample_controller.cfg if you do not have a backup copy. If you are using Linux you will need to edit this file and remove the ".exe" from the "command = probename.exe" for all the probes listed).
Remove all lines which start with 'magic_key'
Move (don't copy) controller.cfg to $NIMROOT\robot\changes folder
Restart the robot watcher service.
Login to the secondary hub using Infrastructure Manager
On the primary hub, only the controller will be up and it will automatically attach to the nearest/secondary hub as it is running as a robot only. If it doesn't show up and attach to the secondary hub, use Connect Robot tool in Infrastructure Manager to attach the primary hub robot to the secondary hub.
Once, you have the primary hub robot attached to secondary hub, validate the hub probe by right clicking on the hub probe and then select Security->Validate. After the hub probe is active it will detach from secondary hub and will take the hub role. validate the other probes in the same way as you just did with the hub probe.
Launch a command prompt and navigate to the $NIMROOT\hub folder and execute this command: hub.exe -d3 -lstdout
Leave this running in the command window (this will launch the hub so you can log in), do not close the command prompt.
Launch Infrastructure manager and login to the hub.
Right click on the hub probe, choose "Security" then "Validate".
Login to Infrastructure Manager
Validate any/all red-lock icon probes, if any on the hub
Cross reference $NIMROOT\probes folder/sub-folders and to the probes showing up in Infrastructure Manager
Deploy any probe which exists on file-system under \probes\* folder
Delete any probe which does not exist on file-system under \probes\* folder
The following Powershell Script can be used in Windows to identify all the probes which are already installed under the /probes/ folder. You can run this script to get a list of the probes which need to be re-deployed.
# change the below line if your installation path is different
$baseDir = "C:\Program Files (x86)\Nimsoft\probes"
$subDirs = Get-ChildItem -Path $baseDir -Directory | ForEach-Object {
Get-ChildItem -Path $_.FullName -Directory | ForEach-Object {
$_.Name
}
}
$subDirs | ForEach-Object { Write-Output $_ }
The following is a Linux/bash script which will accomplish the same thing for a Linux hub installation:
#!/bin/bash
# change the below line if your installation path is different
base_dir="/opt/nimsoft/probes/"
# Find directories one level below base_dir
find "$base_dir" -mindepth 2 -maxdepth 2 -type d | while read -r dir; do
# Extract the last subdirectory name
basename "$dir"
done