如何解决weblogic服务器状态控制脚本
这是weblogic控制脚本,但是脚本结束失败,并显示以下错误-| Temporary |调用WLST时出现问题-追溯(最里面的最后一个):sValueError中的文件“ /appdata/weblogic/scripts/checkInstanceByWlst.py”,第63行: int 的无效文字:临时-但没有问题在代码中 你能帮我吗?
`def serverStatus(server):
try:
cd('/ServerLifeCycleRuntimes/' + server.getName())
return cmo.getState()
except ConnectionException,e:
return "NOT_REACHABLE"
adminName = sys.argv[1]
URL= "t3://" + sys.argv[2]
date = sys.argv[3]
unixDate = sys.argv[4]
temp_list = []
username = str(sys.argv[5])
password = str(sys.argv[6])
try:
connect(username,password,URL)
except ConnectionException,e:
print '\033[1;31m Unable to find admin server...\033[0m'
exit()
#domainRuntime()
#servers=cmo.getServerLifeCycleRuntimes()
webVer = version
webVer = webVer.split(' ')[2].split('.')[0]
servers = cmo.getServers()
domainRuntime()
print '|' + webVer + '|'
for server in servers:
openSocketCount = "0"
idleTC = "0"
executeTC = "0"
hoggerTC = "0"
stuckTC = "0"
serverName = str(server.getName())
if serverName != adminName:
f2 = open( '.servers.donotdelete','a' )
f2.writelines( str(server.getName()) + "\n" )
f2.close()
serverState = serverStatus(server)
if serverState != "RUNNING":
serverHealth = "NOT_REACHABLE"
else:
#cd('/ServerRuntimes/' + serverName)
# serverHealth = str(cmo.getHealthState())
try:
cd('/ServerRuntimes/' + str(server.getName()))
serverHealth = str(cmo.getoverallHealthState())
serverHealth = serverHealth.split('State:')[1].split(',')[0]
openSocketCount = str(get('OpenSocketsCurrentCount'))
cd('ThreadPoolRuntime/ThreadPoolRuntime/')
idleTC = str(get('ExecuteThreadIdleCount'))
executeTC = str(get('ExecuteThreadTotalCount') - get('StandbyThreadCount'))
hoggerTC = str(get('HoggingThreadCount'))
if int(webVer) > 11:
stuckTC = str(get('StuckThreadCount'))
cd('/ServerRuntimes/' + str(server.getName()))
dataSources = cmo.getJDBCServiceRuntime().getJDBCDataSourceRuntimeMBeans()
if (len(dataSources) > 0):
for dataSource in dataSources:
if str(dataSource.getState()) != "Running":
f1 = open( '.datasources.donotdelete','a' )
f1.writelines( str(server.getName()) + ' | ' + str(dataSource.getName()) + ' |
' + str(dataSource.getState()) + "\n" )
f1.close()
except Exception,e:
serverHealth = "NOT_REACHABLE"
#continue
#serverHealth = str(cmo.getoverallHealthState())
#serverHealth = serverHealth.split('State:')[1].split(',')[0]
#openSocketCount = str(get('OpenSocketsCurrentCount'))
#cd('ThreadPoolRuntime/ThreadPoolRuntime/')
#idleTC = str(get('ExecuteThreadIdleCount'))
#executeTC = str(get('ExecuteThreadTotalCount') - get('StandbyThreadCount'))
#hoggerTC = str(get('HoggingThreadCount'))
#if int(webVer) > 11:
# stuckTC = str(get('StuckThreadCount'))
#cd('/ServerRuntimes/' + server.getName())
#dataSources = cmo.getJDBCServiceRuntime().getJDBCDataSourceRuntimeMBeans()
#if (len(dataSources) > 0):
# for dataSource in dataSources:
# if str(dataSource.getState()) != "Running":
# f1 = open( '.datasources.donotdelete','a' )
# f1.writelines( str(server.getName()) + ' | ' + str(dataSource.getName()) + ' | '
+ str(dataSource.getState()) + "\n" )
# f1.close()
f = open( '.' + str(server.getName()) + '.donotdelete','a' )
f.writelines( date + '|' + unixDate + '|' + serverState + '|' + serverHealth + '|' +
openSocketCount + '|' + idleTC + '|' + executeTC + '|' + hoggerTC + '|' + stuckTC + "\n")
f.close()`
此方法在Weblogic版本12.2.1.1.0上成功运行,但在10.3.3上不能成功。
解决方法
嗨,我解决了以下问题。
Python 文件;
connect('user','pass','t3://**.**.**.**:7001') x=ls('Servers',returnMap='true') for i in x: state(i,'Server')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。