def monitorDomains(): print 'starting the script for ', adminServerAddress, '....' username = adminUser password = adminPassword url = adminServerAddress try: connect(username,password,url) domainRuntime() serverNames = domainRuntimeService.getServerRuntimes() domainName = cmo.getName() print 'Getting data from domain ' , domainName fileToWrite = scriptHome + "/" + domainName + "/" + monitorDomain w = open(fileToWrite,"a") for s in serverNames: socketsOpenedTotalCount = s.getSocketsOpenedTotalCount() heap_details(s.getName()) thread_details(s.getName()) # Assign performance data # write monitor data for this instance jvm to monitorDomain timeStamping = Date() timeToShow = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT).format(timeStamping); infoLineMonitorData = domainName + "," + timeToShow + "," + s.getName() + "," + str(hfree) + "," + str(hsize)+ "," + str(hpercent) + "," + str(utime) + "," + str(socketsOpenedTotalCount) + "," + str(completedRequestCount) + "," + str(executeThreadIdleCount) + "," + str(executeThreadTotalCount) + "," + str(hoggingThreadCount) + "," + str(pendingUserRequestCount) + "," + str(queueLength) + "," + str(standbyThreadCount) + "," + str(throughput) +"\n" w.write(infoLineMonitorData) w.close() disconnect() except Exception, e: disconnect()
def getBasicInformation(): print 'starting the script for ', adminServerAddress, '....' username = adminUser password = adminPassword url = adminServerAddress try: connect(username, password, url) binaryVersion = cmo.getConfigurationVersion() domainRuntime() serverNames = domainRuntimeService.getServerRuntimes() domainName = cmo.getName() print 'Getting data from domain ', domainName w = open(inventoryWLS, "a") for s in serverNames: cd("/ServerRuntimes/" + s.getName()) serverName = cmo.getName() serverState = cmo.getState() activationTime = cmo.getActivationTime() currentDirectory = cmo.getCurrentDirectory() valueThisIsAdminServer = cmo.isAdminServer() if valueThisIsAdminServer: thisAdminServer = "true" else: thisAdminServer = "false" currentMachine = cmo.getCurrentMachine() listenAddress = cmo.getListenAddress() listenPort = cmo.getListenPort() socketsOpenedTotalCount = cmo.getSocketsOpenedTotalCount() cd("/ServerRuntimes/" + s.getName() + "/JVMRuntime/" + s.getName()) javaVendor = cmo.getJavaVendor() javaJVMDescription = cmo.getType() javaVersion = cmo.getJavaVersion() if javaJVMDescription == "JRockitRuntime": numberOfProcessors = cmo.getNumberOfProcessors() else: numberOfProcessors = 0 osJvmName = cmo.getOSName() osJvmVersion = cmo.getOSVersion() heapSizeMax = cmo.getHeapSizeMax() # write inventory data for this instance jvm timeStamping = Date() timeToShow = DateFormat.getDateTimeInstance( DateFormat.SHORT, DateFormat.SHORT).format(timeStamping) infoLineForServerInstance = str(domainName) + "|" + str( timeToShow ) + "|" + str(serverName) + "|" + str(listenAddress) + "|" + str( listenPort ) + "|" + str(serverState) + "|" + str(binaryVersion) + "|" + str( currentDirectory) + "|" + str(thisAdminServer) + "|" + str( currentMachine) + "|" + str(activationTime) + "|" + str( socketsOpenedTotalCount ) + "|" + str(javaVendor) + "|" + str( javaJVMDescription ) + "|" + str(javaVersion) + "|" + str( osJvmName) + "|" + str(osJvmVersion) + "|" + str( numberOfProcessors) + "|" + str(heapSizeMax) + "\n" infoServerToWrite = infoLineForServerInstance w.write(infoServerToWrite) w.close() # Now, get applications deployed on Domain in specific directory dir = scriptHome + "/" + domainName if not os.path.exists(dir): os.makedirs(dir) feApp = open(dir + "/" + appsDomainInv, "a") domainConfig() dsCounter = 0 allJDBCResources = cmo.getJDBCSystemResources() for jdbcResource in allJDBCResources: dsname = jdbcResource.getName() dsResource = jdbcResource.getJDBCResource() # dsServer = dsResource.getJDBCDataSourceParams().getJNDINames()#[0] dsJNDIname = dsResource.getJDBCDataSourceParams().getJNDINames( ) #[0] dsInitialCap = dsResource.getJDBCConnectionPoolParams( ).getInitialCapacity() dsMaxCap = dsResource.getJDBCConnectionPoolParams().getMaxCapacity( ) dsParams = dsResource.getJDBCDataSourceParams() dsDriver = dsResource.getJDBCDriverParams().getDriverName() conn = dsResource.getJDBCDriverParams().getUrl() test = dsResource.getJDBCDriverParams().getProperties() test1 = dsResource.getJDBCConnectionPoolParams() targets = jdbcResource.getTargets() user = '' readTimeOut = '' conTimeOut = '' streamAsBlob = '' print 'FOR' timeStamping = Date() timeToShow = DateFormat.getDateTimeInstance( DateFormat.SHORT, DateFormat.SHORT).format(timeStamping) infoLineForDBDetails = str(dsname) + "|" + str( dsResource) + "|" + str(dsJNDIname) + "|" + str( dsParams) + "|" + str(dsDriver) + "|" + str( conn) + "|" + str(test1) + "|" + str(targets) + "\n" print(infoLineForDBDetails) dbs = open(dir + "/" + dataSourcersDomainInv, "a") dbs.write(infoLineForDBDetails) dbs.close() dsCounter += 1 try: user = get("/JDBCSystemResources/" + dsname + "/Resource/" + dsname + "/JDBCDriverParams/" + dsname + "/Properties/" + dsname + "/Properties/user/Value") readTimeOut = get("/JDBCSystemResources/" + dsname + "/Resource/" + dsname + "/JDBCDriverParams/" + dsname + "/Properties/" + dsname + "/Properties/oracle.jdbc.ReadTimeout/Value") conTimeOut = get("/JDBCSystemResources/" + dsname + "/Resource/" + dsname + "/JDBCDriverParams/" + dsname + "/Properties/" + dsname + "/Properties/oracle.net.CONNECT_TIMEOUT/Value") streamAsBlob = get("/JDBCSystemResources/" + dsname + "/Resource/" + dsname + "/JDBCDriverParams/" + dsname + "/Properties/" + dsname + "/Properties/SendStreamAsBlob/Value") except Exception, e: fe = open(pathConnectionProblems, "a") errorLineToWrite = url + "," + username + "," + password + "," + str( e) + "\n" fe.write(errorLineToWrite) fe.close vasApps = cmo.getAppDeployments() for app in vasApps: appName = app.getName() targetAppToWrite = "" targetsApp = app.getTargets() for targetApp in targetsApp: targetAppToWrite = targetAppToWrite + "," + targetApp.getName() appDataLineToWrite = appName + targetAppToWrite + "\n" feApp.write(appDataLineToWrite) feApp.close() disconnect()