WLST-запрос (список развернутых приложений и хостов вместе)
У меня есть два запроса WLST. Я выполняю его через консоль WebLogic Scripting Tool. Эти запросы:
1) Список развернутых приложений и статус:
connect('weblogic','password','t3://localhost:7001')
cd('AppDeployments')
deplymentsList=cmo.getAppDeployments()
for app in deplymentsList:
domainConfig()
cd ('/AppDeployments/'+app.getName()+'/Targets')
mytargets = ls(returnMap='true')
domainRuntime()
cd('AppRuntimeStateRuntime')
cd('AppRuntimeStateRuntime')
for targetinst in mytargets:
curstate4=cmo.getCurrentState(app.getName(),targetinst)
print app.getApplicationName(), targetinst, curstate4;
Пример вывода:
- WeblogicApp Cluster1 STATE_ACTIVE
- Администратор приложений DMS STATE_ACTIVE
- Преимущества Cluster2 STATE_ACTIVE
2) Список хост-машин
connect('weblogic','password','t3://localhost:7001')
svrs = cmo.getServers()
domainRuntime()
for host in svrs:
machine = host.getMachine();
print "Host: " + machine.getName()
Пример вывода:
- Ведущий: 192.168.200.1
- Ведущий: 192.168.200.2
- Ведущий: 192.168.200.3
- Ведущий: Машина-0
- Ведущий: Машина-1
- Ведущий: Машина-2
Мне нужно получить как информацию (приложение и их хост или общие хосты, если они имеют более одного). Я не знаю, как решить и смешать запросы, чтобы получить обе информации в одном запросе или, по крайней мере, получить информацию, связанную с приложением развертывания - хостами во втором запросе.
Требуется вывод что-то вроде этого:
- WeblogicApp Cluster1 STATE_ACTIVE 192.168.200.2
- WeblogicApp Cluster1 STATE_ACTIVE 192.168.200.3
- Администратор приложений DMS STATE_ACTIVE 192.168.200.1
- Администратор приложений DMS STATE_ACTIVE Machine-1
- Администратор приложений DMS STATE_ACTIVE Machine-2
- Преимущества Cluster1 STATE_ACTIVE Machine-0
- ..............
Заранее спасибо.
0 ответов
Немного поздно на вечеринку. Но если кто-то еще ищет ответы, я придумал расширение первого скрипта, чтобы дать желаемый результат:
connect('weblogic','password','t3://localhost:7001')
setShowLSResult(false)
cd('AppDeployments')
deplymentsList=cmo.getAppDeployments()
domainConfig()
for app in deplymentsList:
cd ('/AppDeployments/'+app.getName()+'/Targets')
mytargets = ls(returnMap='true')
for targetinst in mytargets:
domainRuntime()
cd('AppRuntimeStateRuntime')
cd('AppRuntimeStateRuntime')
curstate4 = cmo.getCurrentState(app.getName(),targetinst)
domainConfig()
cd('/AppDeployments/'+app.getName()+'/Targets/'+targetinst)
myType = cmo.getType()
if myType == 'Cluster':
myServers = cd('/AppDeployments/'+app.getName()+'/Targets/'+targetinst+'/Servers', returnMap='true')
for server in myServers:
cd('/AppDeployments/'+app.getName()+'/Targets/'+targetinst+'/Servers/'+server)
machineName = cmo.getMachine().getName()
print app.getApplicationName(), targetinst, curstate4, machineName
elif myType == 'Server':
cd('/AppDeployments/'+app.getName()+'/Targets/'+targetinst)
machineName = cmo.getMachine().getName()
print app.getApplicationName(), targetinst, curstate4, machineName
Вывод будет аналогичен выводу, указанному в исходном вопросе.