如何使用JMX監(jiān)控應(yīng)用程序內(nèi)、外部的狀況

這篇文章主要介紹如何使用JMX監(jiān)控應(yīng)用程序內(nèi)、外部的狀況,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計(jì),安寧網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:安寧等地區(qū)。安寧做網(wǎng)站價(jià)格咨詢:028-86922220

Java管理API (JMX)對(duì)管理WebLogic服務(wù)器而言是必需的。通過(guò)這個(gè)API,你可以在應(yīng)用程序服務(wù)器里搜索管理beans (mbeans) 并且通過(guò)它們你既可以查詢配置信息又可以查詢r(jià)untime監(jiān)控信息。 此外,通過(guò)這個(gè)API還可以用來(lái)改變服務(wù)器的配置。 事實(shí)上,這個(gè)API 已在控制臺(tái)和其他的管理工具上使用著,用來(lái)完成它們的工作和提供報(bào)告數(shù)據(jù)。
這個(gè)API是一個(gè)強(qiáng)大的監(jiān)控工具。讓我們來(lái)看一個(gè)例子。 在這個(gè)應(yīng)用程序中,有大部分的靜態(tài)內(nèi)容,一些你的個(gè)性化的JSP頁(yè)面,一個(gè)注冊(cè)系統(tǒng),一個(gè)基于JMS(Java Messaging Services,Java消息服務(wù))的數(shù)據(jù)系統(tǒng),以及一個(gè)小付費(fèi)應(yīng)用系統(tǒng)。在這個(gè)應(yīng)用程序中在哪里使用JMX對(duì)我們有利呢?在靜態(tài)頁(yè)面上,你可以為FileServlet存取信息并且可以看到花費(fèi)了多少時(shí)間用來(lái)服務(wù)靜態(tài)內(nèi)容。時(shí)間可能比你預(yù)期的要少,因?yàn)闉g覽器自動(dòng)的在客戶端緩存了部分內(nèi)容。大多數(shù)對(duì)靜態(tài)內(nèi)容的請(qǐng)求將會(huì)是HEAD請(qǐng)求,用來(lái)檢查變化。對(duì)于動(dòng)態(tài)頁(yè)面,在系統(tǒng)中的每個(gè)servlet是被分別計(jì)算地。這個(gè)數(shù)據(jù)不能很好的反映用戶的經(jīng)驗(yàn) (因?yàn)橛脩粼谒麄兯统稣?qǐng)求和接到頁(yè)面的返回之間存在延遲),但是這些數(shù)據(jù)告知了平均每個(gè)servlet花在一個(gè)請(qǐng)求上的時(shí)間,以及多少個(gè)請(qǐng)求被完成。我們的注冊(cè)系統(tǒng)是一個(gè)實(shí)體bean,而付費(fèi)系統(tǒng)是一個(gè)由外部服務(wù)返回的無(wú)狀態(tài)會(huì)話bean。 兩個(gè)bean都能被監(jiān)控,而且通過(guò)這些監(jiān)控信息可以幫助我們用來(lái)優(yōu)化緩存和池的大小。我們的數(shù)據(jù)同樣能有助于決定是否我們已經(jīng)得到了所需要的信息,或是決定多少用戶正在使用數(shù)據(jù)。吞吐量也可以使用JMS的topic和queue類型的mbean的屬性來(lái)計(jì)算。此外,所有的JDBC連接都可以被監(jiān)控,而且從它們的mbeans你能發(fā)現(xiàn)多少連接池被爭(zhēng)用,舉例來(lái)說(shuō),這將幫助你判斷是否需要更多的數(shù)據(jù)庫(kù)客戶端授權(quán)。

mbeans 在WebLogic服務(wù)器中的第二種用途是用于配置信息。通過(guò)配置mbeans,所有資源的配置都被包含在runtime中。這些mbeans本質(zhì)上是被包含在config.xml文件里的信息的表示。部署在服務(wù)器監(jiān)聽(tīng)端口上的應(yīng)用程序的所有內(nèi)容都包括在這些接口中。大多數(shù)個(gè)別的屬性是直接相關(guān)直接;然而,描述一個(gè)部署單元的屬性集合是復(fù)雜的并且為了方便它們被集合在weblogic.Deployer類中。直接訪問(wèn)它們是可能的,但是除了看配置以及不改變它之外的操作是不被推薦的。其余的屬性是隨意的,但要小心,但如果組件(如JDBC池)被重新部署或服務(wù)器重新啟動(dòng),大多數(shù)這些屬性實(shí)際上只改變運(yùn)行時(shí)的行為。這些配置性的mbeans 應(yīng)用的作用范圍從決定為某一特定應(yīng)用使用資源,到調(diào)整基于來(lái)自監(jiān)mbeans的反饋數(shù)值。

正如你所看到的,這有許多信息――但是如果你對(duì)JMS和WebLogic服務(wù)器都不熟悉,你如何著手呢? 它實(shí)際上不那么難。 只要你能使用JNDI并且可以閱讀JavaDocs你就會(huì)發(fā)現(xiàn)操縱 mbeans是相當(dāng)容易的。在下面你所看見(jiàn)的代碼示例中,會(huì)告訴你如何得到本地服務(wù)器的mbean home接口以及JDBC池。

MBeanHome home = (MBeanHome) new
InitialContext().lookup(MBeanHome.LOCAL_JNDI_NAME);
Set pools = home.getMBeansByType("JDBCConnectionPool");

上面的代碼給出了對(duì)于JDBC(Java DataBase Connectivity,Java數(shù)據(jù)庫(kù)連接)池的配置mbean。如果你想監(jiān)控連接池而不考慮它們的配置,只要通過(guò)添加"Runtime"來(lái)改變mbean的類型就可以完成。從這個(gè)mbean你可以確定重要的信息,比如是否有連接泄漏――你甚至可以得到一個(gè)堆棧追蹤,找到該連接的具體位置。

如果你不想做任何Java編程,就像從一個(gè)腳本文件中一樣的使用JMX mbean系統(tǒng),怎么辦?幸運(yùn)的是我們有一個(gè)命令行工具,它能讓你以命令行的方式直接查看和改變mbean-weblogic.Admin。除了PINGing服務(wù)器,得到JNDI列表,重置連接池,以及關(guān)閉服務(wù)器外,它給出了直接訪問(wèn)mbean的分層結(jié)構(gòu)。在下面的代碼示例中你將看到這樣的一個(gè)weblogic.Admin的指令。

java weblogic.Admin -username system -password [password] -url [url] GET
-pretty -type JDBCConnectionPool

相比于在這些mbeans上加上屬性的類型描述器,這段代碼給出了關(guān)于mbean的簡(jiǎn)單易讀的描述。同樣的,有一個(gè)SET命令會(huì)在系統(tǒng)中改變?nèi)魏蝝bean的屬性。

以上是“如何使用JMX監(jiān)控應(yīng)用程序內(nèi)、外部的狀況”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站名稱:如何使用JMX監(jiān)控應(yīng)用程序內(nèi)、外部的狀況
本文來(lái)源:http://muchs.cn/article6/jejgig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)App設(shè)計(jì)、定制網(wǎng)站標(biāo)簽優(yōu)化、營(yíng)銷型網(wǎng)站建設(shè)建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)