Oracle應用管理云:IMCS添加不同版本Weblogic entity的區別
首先感謝SCC Middleware的同事朱東和盛濤,在整個研究過程中得到了他們的大力幫助,沒有他們的支持就不會有這篇文章。在此對他們的幫助表示感謝。
最近在一次POC的過程中碰到了一個問題,客戶想通過OMC中的IMCS監控Weblogic。說老實話剛開始接到這個需求的時候並沒有太重視,直接在官網下載了一個Weblogic12c安裝在了本地,根據官方文檔的說明很容易就完成了。結果跟客戶溝通後了解到客戶所使用的Weblogic版本是10.3.6。為了保險起見在本地安裝了一個Weblogic10.3.6進行測試。結果出人意料,就是不好用。如下圖:
實際上Weblogic是啟動的狀態,如下圖:
但是無論怎麼操作,」Status」始終都是down的狀態,猜測entity json文件出現了問題。反覆檢查也沒找出問題,最後嘗試通過UI添加Weblogic,結果一樣。由於兩個版本的Weblogic安裝在同一台機器上(兩個版本的Weblogic我配置了不同的埠),Weblogic12c是沒問題的,所以猜測一定是其他原因導致的。
在對添加的兩個不同版本的Weblogic比較之後發現了一個非常大的區別,如下圖:
Weblogic 12c
Weblogic 10.3.6
12c識別的Host是正常的,但是10.3.6識別的Host卻是IPv6的IP(發現這個問題之後感覺離解決問題越來越近了)。問題應該是Host識別錯誤,查看Log發現問題所在,如下圖:
Weblogic entity屬性中有一個非常關鍵的」service_url」裡邊的URL識別的也是IPv6,OMC無法通過這個URL獲取Weblogic的信息,這也是為什麼Weblogic的Status始終都是down的狀態。
經過反覆測試(測試的次數超過20次),找到了2種不同的解決辦法。
方案一:
在OMC中可以通過」Entities Configuration」對entity進行配置操作,如下圖:
可以看出此處的Service URL中的IP地址是IPv6的,改成Weblogic所在的伺服器的IPv4即可,如下圖:
此外建議把」Weblogic HTTP and HTTPS」中的」HostName」也改過來,但不是必須的。修改之後稍等片刻,Weblogic的狀態恢復正常,如下圖:
方案二:
如果感覺方法一的操作過於繁瑣,還有另外一種方法可以解決問題。
登錄到Weblogic console,點擊」Envionment」>」Servers」
點擊右側想要修改的Server,如下圖:
在」Listen Address」中添加Weblogic所在伺服器的IP,保存,然後重啟服務。再把Weblogic加入到OMC中即可。
個人比較推薦使用方法一,操作直觀,並且可控。方法二雖然同樣能夠解決問題,但需要修改配置,並且需要重啟服務,會影響Application的正常工作。
除了以上提到的兩種方案以外,還有第三種方案。通過問題分析可以看出問題的跟本原因是OMC把IPv6加入到了」Listen Address」中,所以可以把伺服器中的IPv6禁用同樣能夠解決問題。但個人不太建議這種方法,防止有其功能在使用IPv6造成額外影響。至於選擇哪種方法還是看實際情況來決定。
TAG:凜冬未至 |