UIM - How to view all probes that are either in a deactivated or errored state in a domain

book

Article ID: 34985

calendar_today

Updated On:

Products

NIMSOFT PROBES DX Infrastructure Management

Issue/Introduction

Execute the attached Lua script in nas to obtain a list of all probes that are either deactivated or errored. 

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. 

Environment

Release:
Component: CAUIM

 

Resolution

--Abnormal probe status checker script

-- Created 8/17/2012 by Phil Sanderson, (c) 2012 Nimsoft

print('List of deactivated or errored probes')
print('=====================================')
print(' ')

-- 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")
              end

              if (probe.active == 2) then
                print(robot.addr .. "/" .. probe.name .. " ... ERROR")
              end  
           end
        end
      end
   end
end

 

Attachments: (see attached)

 

Additional Information

nas probe is required for the LUA script to run.

 

NOTE: Broadcom support will not customize it, for further help please engage Broadcom services team

Attachments

1558534118520TEC000003617.zip get_app