I need to be able to display this information in my UMP dashboard. I'm guessing it should be possible to query the NimsoftSLM database with the jdbc probe, but is there a more elegant way to get this information?
is there a way to verify that this info is correct using the Infra manager?
I'm not sure about in the manager directly but you can use the Dr. Nimbus tool found in the "Tools" section of the Nimsoft Monitoring start menu folder, or within the bin directory. From there you can run an inventory on your enviornment, showing which probes have been deployed and the count.
For base robot count if you select a HUB within the manager view there is a total number of servers listed on the bottom right. You can add up the count between each HUB.
If you don't want to pull this from the backend - this would be a very easy method to use - then you could write a Lua script that does this, I think the two calls you'd leverage are getrobots on the Hub side to get a count on the robots and probe_list on the robot side to get a count of the probes.
I can see the benefit of having a list of robots, but what's the benefit of listing out the probes? Probe count doesn't equate to load since that all comes down to the number of metrics you're collecting along with the frequency you're polling them - just curious.
Here is a simple LUA script that can be ran from the NAS that will poll each hub and pull the total number of robots and probes deployed. This will create a file called nimsoft_count.txt in the Nimsoft\probes\nas directory. This is just some base code that can be modified to fit your needs.
file = io.open("nimsoft_count.txt", "w")
robots = 0
probeTotal = 0
resp,rc = nimbus.request("hub", "gethubs")
for h,hinfo in pairs(resp.hublist) do
local args = pds.create()
pds.putInt(args, "detail", 1)
sessionhandle = nimbus.session_open(hinfo.addr)
if sessionhandle ~= nil then
local r_resp,rc = nimbus.session_request(sessionhandle, "getrobots", args, 300)
if rc == 0 then
for r,rinfo in pairs(r_resp.robotlist) do
if rinfo.probelist ~= nil then
probes = 0
for p,pinfo in pairs (rinfo.probelist) do
probes = probes + 1
probeTotal = probeTotal + 1
-- print("Number of probes on " .. rinfo.name .. " is: " .. probes)
robots = robots + 1
file:write ("Total robots: " .. robots .. "\n")
print ("Total robots: " .. robots .. "\n")
print ("Total probes: " .. probeTotal .. "\n")
file:write ("Total probes: " .. probeTotal .. "\n")
Retrieving data ...