2015-12-11 42 views
1

我通常使用shellscript,但是我正在Jython中爲我的當前客戶端工作。我需要從WebSphere中的失敗事件中提取並顯示業務數據,但我無法弄清楚如何執行此操作。使用Jython從WebSphere Failed Event Manager中提取業務數據

我的代碼到目前爲止是

green='\033[0;32m' 
cyan='\033[0;36m' 
clear='\033[0m' 
########################################################################## 
import time 
today=time.asctime().split(' ') 
objstr = AdminControl.completeObjectName('WebSphere:*,type=FailedEventManager') 
obj = AdminControl.makeObjectName(objstr) 
fecount = AdminControl.invoke(objstr,"getFailedEventCount") 
msglist = AdminControl.invoke_jmx(obj,'getAllFailedEvents',[0],['int']) 
i=0 
for fe in msglist: 
    i+=1 
    ftd=str(fe.getFailureDateTime()).split(' ') 
    if ftd[1]==today[1] and ftd[2]==today[2] and ftd[5]==today[4]: 
     col=green 
    else: 
     col=cyan 
    fstr="%4d: %-46s "+col+"%s"+clear 
    print fstr % (i, fe.getMsgId(), fe.getFailureDateTime()) 

哪個顯示消息ID和事件的時間戳。但是我環顧了網絡,並且無法弄清楚如何從我得到的實際數據中爲每個失敗的事件真正從業務數據中提取特定參數。

我會很感激,如果有人比我有更多的Jython知識可以指出我在正確的方向。

感謝

道格拉斯

回答

1

不知道你有你的答案。 發佈我知道的信息以幫助尋找的人: 您可以使用getFailedEventParameters獲取失敗事件的業務數據。

scaDetail = AdminControl.invoke_jmx(obj,'getEventDetailForSCA',[event], ['com.ibm.wbiserver.manualrecovery.FailedEvent']) 
    eventDetailParameter = scaDetail.getFailedEventParameters() 
    for failedParameter in eventDetailParameter: 
      print failedParameter.getName() 
      print failedParameter.getType() 
      print failedParameter.getValue()