您好,登錄后才能下訂單哦!
這篇文章主要介紹如何使用JMX監控應用程序內、外部的狀況,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Java管理API (JMX)對管理WebLogic服務器而言是必需的。通過這個API,你可以在應用程序服務器里搜索管理beans (mbeans)
并且通過它們你既可以查詢配置信息又可以查詢runtime監控信息。 此外,通過這個API還可以用來改變服務器的配置。 事實上,這個API
已在控制臺和其他的管理工具上使用著,用來完成它們的工作和提供報告數據。
這個API是一個強大的監控工具。讓我們來看一個例子。
在這個應用程序中,有大部分的靜態內容,一些你的個性化的JSP頁面,一個注冊系統,一個基于JMS(Java Messaging
Services,Java消息服務)的數據系統,以及一個小付費應用系統。在這個應用程序中在哪里使用JMX對我們有利呢?在靜態頁面上,你可以為FileServlet存取信息并且可以看到花費了多少時間用來服務靜態內容。時間可能比你預期的要少,因為瀏覽器自動的在客戶端緩存了部分內容。大多數對靜態內容的請求將會是HEAD請求,用來檢查變化。對于動態頁面,在系統中的每個servlet是被分別計算地。這個數據不能很好的反映用戶的經驗
(因為用戶在他們送出請求和接到頁面的返回之間存在延遲),但是這些數據告知了平均每個servlet花在一個請求上的時間,以及多少個請求被完成。我們的注冊系統是一個實體bean,而付費系統是一個由外部服務返回的無狀態會話bean。
兩個bean都能被監控,而且通過這些監控信息可以幫助我們用來優化緩存和池的大小。我們的數據同樣能有助于決定是否我們已經得到了所需要的信息,或是決定多少用戶正在使用數據。吞吐量也可以使用JMS的topic和queue類型的mbean的屬性來計算。此外,所有的JDBC連接都可以被監控,而且從它們的mbeans你能發現多少連接池被爭用,舉例來說,這將幫助你判斷是否需要更多的數據庫客戶端授權。
mbeans
在WebLogic服務器中的第二種用途是用于配置信息。通過配置mbeans,所有資源的配置都被包含在runtime中。這些mbeans本質上是被包含在config.xml文件里的信息的表示。部署在服務器監聽端口上的應用程序的所有內容都包括在這些接口中。大多數個別的屬性是直接相關直接;然而,描述一個部署單元的屬性集合是復雜的并且為了方便它們被集合在weblogic.Deployer類中。直接訪問它們是可能的,但是除了看配置以及不改變它之外的操作是不被推薦的。其余的屬性是隨意的,但要小心,但如果組件(如JDBC池)被重新部署或服務器重新啟動,大多數這些屬性實際上只改變運行時的行為。這些配置性的mbeans
應用的作用范圍從決定為某一特定應用使用資源,到調整基于來自監mbeans的反饋數值。
正如你所看到的,這有許多信息――但是如果你對JMS和WebLogic服務器都不熟悉,你如何著手呢?
它實際上不那么難。 只要你能使用JNDI并且可以閱讀JavaDocs你就會發現操縱
mbeans是相當容易的。在下面你所看見的代碼示例中,會告訴你如何得到本地服務器的mbean home接口以及JDBC池。
MBeanHome
home = (MBeanHome)
new
InitialContext().lookup(MBeanHome.LOCAL_JNDI_NAME);
Set pools =
home.getMBeansByType("JDBCConnectionPool");
上面的代碼給出了對于JDBC(Java DataBase
Connectivity,Java數據庫連接)池的配置mbean。如果你想監控連接池而不考慮它們的配置,只要通過添加"Runtime"來改變mbean的類型就可以完成。從這個mbean你可以確定重要的信息,比如是否有連接泄漏――你甚至可以得到一個堆棧追蹤,找到該連接的具體位置。
如果你不想做任何Java編程,就像從一個腳本文件中一樣的使用JMX
mbean系統,怎么辦?幸運的是我們有一個命令行工具,它能讓你以命令行的方式直接查看和改變mbean-weblogic.Admin。除了PINGing服務器,得到JNDI列表,重置連接池,以及關閉服務器外,它給出了直接訪問mbean的分層結構。在下面的代碼示例中你將看到這樣的一個weblogic.Admin的指令。
java
weblogic.Admin -username system -password [password] -url [url] GET
-pretty
-type
JDBCConnectionPool
相比于在這些mbeans上加上屬性的類型描述器,這段代碼給出了關于mbean的簡單易讀的描述。同樣的,有一個SET命令會在系統中改變任何mbean的屬性。
以上是“如何使用JMX監控應用程序內、外部的狀況”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。