Execute the attached Lua script in nas to obtain a list of all probes that are either deactivated or error-ed. The script will use 'gethubs', 'getrobots' and 'probe_list' callback functions to obtain a full inventory of probes, then will print a list of all probes in an abnormal state, and what that state is. Be aware that in very large environments this script could take a very long time to execute.
In the large environment, with hundred and thousand of robots/probe deployed, its a challenge to see/find what probes are either deactivate or error. This article helps to identify the probes in customer by using lua script.
NAS probe is required for the lua script to run
-Abnormal probe status checker script
-- Created 8/17/2012 by Phil Sanderson, (c) 2012 Nimsoft
print('List of deactivated or errored probes')
-- This gets the list of hubs from the currently logged-in hub.
-- Make sure none of your hubs are unresponsive during this time,
-- or they will not return a result and the list will be incomplete.
hublist = nimbus.request("hub","gethubs");
hubs = hublist.hublist
-- Iterate through the hub list, do the "getrobots" callback on the hubs
-- and look at the robot's status. If status == 4, robot is in maintenance mode.
for hubkey,hubtable in pairs(hubs) do
hub = hubs[hubkey]
robotinfo = nimbus.request(hub.addr,"getrobots")
if(robotinfo ~= nil) then
robot_list = robotinfo.robotlist
-- Iterate through the robot list, do the "probe_list" callback on each controller
-- and look at each probe's status. If active == 0 (deactivated) or active == 2 (error)
-- print the probe's address and its state.
for robotkey,robottable in pairs(robot_list) do
robot = robot_list[robotkey]
probeinfo = nimbus.request(robot.addr .. "/controller", "probe_list")
if(probeinfo ~= nil) then
for probekey,probetable in pairs(probeinfo) do
probe = probeinfo[probekey]
if (probe.active == 0) then
print(robot.addr .. "/" .. probe.name .. " ... DEACTIVATED")
if (probe.active == 2) then
print(robot.addr .. "/" .. probe.name .. " ... ERROR")