|
(→AHPSCRIPTS-33)
|
(→AHPSCRIPTS-134)
|
| Line 2382: | |||
| //BMG</pre> | //BMG</pre> | ||
| + | = Find All Agents Online And Offline = | ||
| + | * This can be heavily modified for practical uses in other applications (such as finding agents online in each environment versus offline, return just a list of online agents, return just a list of offline agents, etc.). The following script will return the status of all agents that the server is aware of: | ||
| + | ==== AHPSCRIPTS-128 ==== | ||
| + | <pre>/***********************************************************************/ | ||
| + | /* */ | ||
| + | /* This script will retrieve all online agents across all environments */ | ||
| + | /* and print this information out */ | ||
| + | /* */ | ||
| + | /* @author BMG */ | ||
| + | /* @date 02/22/2011 */ | ||
| + | /* */ | ||
| + | /***********************************************************************/ | ||
| + | import com.urbancode.anthill3.main.client.AnthillClient; | ||
| + | import com.urbancode.anthill3.persistence.UnitOfWork; | ||
| + | import com.urbancode.anthill3.domain.agent.*; | ||
| + | import com.urbancode.anthill3.services.agent.AgentManager; | ||
| + | //The following settings are for establishing a connection to the | ||
| + | //anthill server | ||
| + | String username = "admin"; | ||
| + | String password = "admin"; | ||
| + | String host = "localhost"; | ||
| + | int remotingPort = 4567; | ||
| + | //obtain connection to the Anthill server | ||
| + | AnthillClient anthill = AnthillClient.connect(host, remotingPort, username, password); | ||
| + | //create a Unit of Work | ||
| + | UnitOfWork uow = anthill.createUnitOfWork(); | ||
| + | //Make room for debug info | ||
| + | print("\n\n"); | ||
| + | //quick description | ||
| + | Thread.sleep(333); | ||
| + | print("Now attempting to query all agents, and return status of each. PLEASE WAIT. . ."); | ||
| + | Thread.sleep(500); | ||
| + | //main script | ||
| + | String agentName; | ||
| + | String environmentName; | ||
| + | int online = 0; | ||
| + | int offline = 0; | ||
| + | int total = 0; | ||
| + | int none = 0; | ||
| + | boolean others = false; | ||
| + | AgentFactory agentFactory = AgentFactory.getInstance(); | ||
| + | Agent[] agentArray = agentFactory.restoreAll(); | ||
| + | print(""); | ||
| + | for (index : agentArray){ | ||
| + | status = AgentManager.getInstance().getAgentStatus(index); | ||
| + | if (status != null && status.isOnline()){ | ||
| + | agentName = index.getName(); | ||
| + | print("[ ] - Agent '" + agentName + "' is returning ONLINE."); | ||
| + | online++; | ||
| + | } | ||
| + | else if (status != null && !status.isOnline()){ | ||
| + | agentName = index.getName(); | ||
| + | print("[ERROR] - Agent '" + agentName + "' is returning OFFLINE."); | ||
| + | offline++; | ||
| + | } | ||
| + | else{ | ||
| + | print(status); | ||
| + | others = true; | ||
| + | } | ||
| + | total++; | ||
| + | } | ||
| + | Thread.sleep(1000); | ||
| + | print(""); | ||
| + | print(""); | ||
| + | print("+------------------------+ "); | ||
| + | print("+ TOTAL ONLINE AGENTS : " + online); | ||
| + | print("+ TOTAL OFFLINE AGENTS : " + offline); | ||
| + | if (others==true){ | ||
| + | print("+ TOTAL UNKNOWN AGENTS : " + none); | ||
| + | } | ||
| + | print("+ TOTAL AGENTS : " + total); | ||
| + | print("+------------------------+ "); | ||
| + | uow.commitAndClose(); | ||
| + | print("\n\n"); | ||
| + | //BMG</pre> | ||