之前寫過一篇.NET應用監控的博文,其實那個比較潦草,我自己感覺描述的不夠細緻,SCOM的應用監控功能是一個很有力的賣點(至少我這麼覺得),這次特地拿一個Java應用監控做講解,我自己在調試的時候也遇到了一些惱人的小毛病,導緻進度無法順利進行,在這裡也跟大家分享一下,希望可以幫助那些遇到同樣問題的朋友,好了廢話不多說,開整~!
###############################################################################
SCOM支援Java平台下的tomcat、weblogic、websphere、jboss;我這個環境拿tomcat來測一下,因為畢竟這個應用也是非常非常普及的
首先我們來準備tomcat環境,從官網下載下傳一個最新版的包,以及從SUN的官網下載下傳JDK安裝程式
<a href="http://blog.51cto.com/attachment/201311/211328404.png" target="_blank"></a>
JDK的預設安裝路徑如下圖,同時在上層目錄下還會生成JRE目錄
<a href="http://blog.51cto.com/attachment/201311/211333364.png" target="_blank"></a>
tomcat解壓之後的路徑如下,這些都根據個人喜好自行設定
<a href="http://blog.51cto.com/attachment/201311/211337672.png" target="_blank"></a>
接下來我們需要來定義好tomcat運作的系統環境變量,在windows server的作業系統管理裡面,打開進階系統設定——環境變量——在系統變量裡添加如圖中的兩個變量;CATALINA_HOME就是tomcat的解壓路徑,JAVA_HOME是JDK或者JRE的路徑(根據自己的實際路徑來配置)
<a href="http://blog.51cto.com/attachment/201311/211342139.png" target="_blank"></a>
然後我們就可以通過指令行方式來啟動tomcat服務了,定位到下圖中的路徑并執行startup,同樣可以執行shutdown來關閉服務
<a href="http://blog.51cto.com/attachment/201311/211347705.png" target="_blank"></a>
然後我們可以通路本機的8080端口(預設)來打開tomcat控制台,我一直覺得這貓太像獅子了。。。;注意下圖中的“Manage App”,這裡是部署應用的地方,我們稍後也需要進入這裡做一些操作,但是預設是進不去的,需要再添加一些賬戶權限
<a href="http://blog.51cto.com/attachment/201311/211358969.png" target="_blank"></a>
在tomcat目錄下的conf裡面找到tomcat-users這個檔案,然後添加标記中的部分,注意添加位置要在</tomcat-users>之上,否則無法生效;完成後重新開機一下服務
<a href="http://blog.51cto.com/attachment/201311/211402359.png" target="_blank"></a>
#################################################################################
接下來我們需要準備SCOM的環境了,首先要下載下傳JEE的監控包,大家請去官網自行取閱
<a href="http://blog.51cto.com/attachment/201311/211406928.png" target="_blank"></a>
解壓後可以看到支援的Java應用,我們需要導入下圖所示的内容,當然你一口氣都導進去也行
<a href="http://blog.51cto.com/attachment/201311/211410647.png" target="_blank"></a>
然後我們需要來到SCOM安裝媒體中的managementpacks目錄下,導入APM的相關包
<a href="http://blog.51cto.com/attachment/201311/211415549.png" target="_blank"></a>
然後我們找到運作tomcat的機器,我是裝在了windows平台上,如果你是linux也可以,後續的步驟大同小異;我們確定給這台機器安裝了SCOM代理
<a href="http://blog.51cto.com/attachment/201311/211420774.png" target="_blank"></a>
然後特别要注意的一個小細節就是:在SCOM的agent managed功能裡,右鍵運作tomcat的這台機器,然後把“允許作為代理”勾上,否則你怎麼等也看不到監控的應用。。感興趣的朋友一定要試一試哦~
<a href="http://blog.51cto.com/attachment/201311/211425892.png" target="_blank"></a>
過一會在SCOM監控子產品下找到應用程式監控——Java監控——JEE應用程式伺服器——tomcat伺服器——然後就能看到我們監控的對象了;别急,選中這台伺服器,點選右側任務内的copy BeanSpy,并且根據需求可以啟用深度監控功能,支援SSL
<a href="http://blog.51cto.com/attachment/201311/211430553.png" target="_blank"></a>
這裡特地補一張圖,要知其然且知其是以然;下圖是有關MBean,JMX以及BeanSpy的關系和作用,copy BeanSpy就是為了把BeanSpy拷貝到監控對象上并部署到我們的tomcat中,來收集資料再回傳給scom,你不copy的話就什麼也看不到
<a href="http://blog.51cto.com/attachment/201311/215029190.png" target="_blank"></a>
下圖可以看到copy的路徑,在%windir%\temp下
<a href="http://blog.51cto.com/attachment/201311/211434245.png" target="_blank"></a>
然後我們就興緻勃勃的跑到這裡找到這四個檔案,加了HTTP.NoAuth的是專門給http也就是80用的,另外兩個自然就是給HTTPS用的了,一般我們圖省事兒就用http的,那麼你還真得再麻煩一下了,就是把你要用的檔案重命名一下。。。改成BeanSpy.ear或者BeanSpy.war
<a href="http://blog.51cto.com/attachment/201311/211439427.png" target="_blank"></a>
改好後我們就準備把BeanSpy部署到tomcat上了
<a href="http://blog.51cto.com/attachment/201311/211444178.png" target="_blank"></a>
在tomcat上進入之前提到的manage app,然後找到“WAR file to deploy”,之後上傳我們改好名字的BeanSpy.war,點選deploy
<a href="http://blog.51cto.com/attachment/201311/211451908.png" target="_blank"></a>
看到沒,應用清單内多出一個/BeanSpy,接着我們驗證一下是否成功
<a href="http://blog.51cto.com/attachment/201311/211457957.png" target="_blank"></a>
輸入下圖中的連結,注意小細節:Stats/Info,這裡的S和I一定要是大寫,不然你看不到這個XML。。。。
<a href="http://blog.51cto.com/attachment/201311/211503271.png" target="_blank"></a>
這樣我們的Java應用程式監控就添加完成了,當然這裡隻能看到一些基本的狀态和性能視圖,要更加完善的監控,我們還需要在“創作”中完成;這個将來我有機會再分享給大夥兒,接下來說一下如何修改預設螢幕的閥值,比如我們在這個視圖中,右鍵一個規則屬性
<a href="http://blog.51cto.com/attachment/201311/211508782.png" target="_blank"></a>
在override可以找到覆寫的選項了,這裡的操作和修改其他螢幕閥值是一樣的
<a href="http://blog.51cto.com/attachment/201311/211513802.png" target="_blank"></a>
到這一步為止,我們基本完成了Java應用的簡單監控功能,可以看到下圖中已經顯示出了拓撲圖,我覺得這玩意多整一些放在大屏顯示器上很爽,特别是SQL監控自帶的那個儀表盤,給客戶看挺好的
<a href="http://blog.51cto.com/attachment/201311/211516572.png" target="_blank"></a>
##############################################################################
以上便是SCOM對Java應用監控的基本操作配置,我的環境依舊是全R2平台,如果有朋友有更深入的實踐經驗,希望能分享一下;對于另外幾種app,比如websphere或者weblogic,都大同小異,一個道理,linux平台一樣也需要copy beanspy;隻要做的時候注意細節就可以了,其實并不複雜 :)
本文轉自maomaostyle 51CTO部落格,原文連結:http://blog.51cto.com/maomaostyle/1324098,如需轉載請自行聯系原作者