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 by using lua script.
-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")
Attachments: (see attached)
nas probe is required for the LUA script to run.