所謂JMX,是Java Management Extensions(Java管理擴展)的縮寫,是一個為應(yīng)用程序植入管理功能的框架。用戶可以在任何Java應(yīng)用程序中使用這些代理和服務(wù)實現(xiàn)管理。
創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè),為客戶提供成都網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)頁設(shè)計開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗,各類網(wǎng)站都可以開發(fā),成都品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。
從圖中我們可以看到,JMX的結(jié)構(gòu)一共分為三層:
Mbean分為如下四中
1、根據(jù)standard MBean的要求,我們首先要定義一個MBean接口,接口的命名規(guī)范以具體的實現(xiàn)類為前綴,為了后續(xù)可以注冊到MBean Server中
2、定義一個實現(xiàn)類
3、定義agent層
1、 通過工廠類獲取Mbean Server,用來做Mbean的容器
2、 ObjectName的取名規(guī)范: 域名:name=Mbean名稱 , 其中域名和Mbean的名稱可以任取。這樣定義后,我們可以唯一標示我們定義的這個Mbean的實現(xiàn)類了
3、最后將Hello這個類注冊到MbeanServer中,注入需要創(chuàng)建一個ObjectName類, 我們可以用jdk自帶的Jconsole用來觀察,可以設(shè)置屬性值和調(diào)用相關(guān)方法 。
MBean之間的通信是必不可少的,Notification起到了在MBean之間溝通橋梁的作用。JMX 的通知由四部分組成:
1、Notification這個相當于一個信息包,封裝了需要傳遞的信息
2、Notification broadcaster這個相當于一個廣播器,把消息廣播出。
3、Notification listener 這是一個監(jiān)聽器,用于監(jiān)聽廣播出來的通知信息。
4、Notification filiter 這個一個過濾器,過濾掉不需要的通知。這個一般很少使用。保留Hello及HelloMBean,增加如下
這里的類Jack不僅實現(xiàn)了MBean接口,還繼承了NotificationBroadcasterSupport。jack在這里創(chuàng)建并發(fā)送了一個消息包。
對HelloAgent做以下修改
我們利用jconsole調(diào)用jack的hi方法, 這里當jack發(fā)出消息后,Notification被廣播至所有的MBean,當有MBean屬于Hello類時則調(diào)用Hello的printHello()方法 。
在linux下利用jmx監(jiān)控Tomcat,在catlina.sh中進行一些環(huán)境變零的配置
linux環(huán)境還是windows環(huán)境? 如果是linux環(huán)境,到bin目錄下:./jmeter.sh XX.jmx(所要運行的測試腳本,沒有的話,examples目錄下有個) 如果有進程啟動,且jmeter.log中沒有錯誤信息就安裝成功了; 如果是windows環(huán)境,雙擊“jmeter.bat”文件,如...
個人環(huán)境說明:JAVA
jdk1.6.0_20
IP地址:192.168.88.106
系統(tǒng)登陸用戶名:Administrator
1,設(shè)置密碼文件和權(quán)限
在jdk1.6.0_20\jre\lib\management中將jmxremote.password.template復制一份重命為
jmxremote.password。修改最后兩行,將
#monitorRole
QED
#controlRole
RD
前面的#號去掉。為什么后面解釋。
然后修改jmxremote.password的文件權(quán)限為僅當前用戶完全控制,所有者為當前用戶,具體步驟如下:
Windows系統(tǒng)需要3個步驟:
在jmxremote.password文件上右鍵-屬性,切換到安全選項卡。XP系統(tǒng)可能看不到,請百度
點“高級”按鈕,彈出“jmxremote.password的高級安全設(shè)置”窗口。
(1)刪除所有用戶對jmxremote.password文件的訪問權(quán)限:
在“權(quán)限”選項卡中點“更改權(quán)限”,將“包括可從該對象的父項繼承的權(quán)限”
復選框去掉,然后系統(tǒng)會彈出一個“Windows安全”警告,選擇“刪除”按鈕。
刪除成功后,權(quán)限項目欄會變成:“所有組或用戶均不具有訪問此對象的權(quán)限。但是該對象的所有者可以分配權(quán)限?!?/p>
(2)指定當前登陸用戶對該文件有完全控制權(quán)限
點“添加”按鈕,再點“高級”按鈕,再點“立即查找”,在搜索結(jié)果中找當前系統(tǒng)的登陸用戶雙擊添加進來。
注意不要選擇那些帶S結(jié)尾的,那個表示組,只能選擇用戶。我的是Administrator
返回后點確定,然后在彈出框中勾選“完全控制”。點確定返回剛開始的“jmxremote.password的高級安全設(shè)置”窗口。
(3)將所有者設(shè)置為當前系統(tǒng)的登陸用戶
切換到所有者選項卡,點擊“編輯”,雙擊選擇當前系統(tǒng)的登陸用戶,注意不要選擇那些帶S結(jié)尾的,那個表示組,只能選擇用戶。
最后一路確定。權(quán)限修改完畢。
Linux系統(tǒng):
chmod
600 jmxremote.password
這個沒試過,官方這么寫的。
2,啟動JMX服務(wù)端
下面這行命令我是在JDK的根目錄執(zhí)行的,
這里指定的端口號是10089,主機名稱即當前計算機IP地址,不推薦設(shè)置成localhsot或者127.0.0.1,會導致在別的機子上連不上來。JAR包指定的是JDK自帶的一個DEMO
java
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=10089
-Djava.rmi.server.hostname=192.168.88.106 -jar
demo/jfc/Java2D/Java2Demo.jar
3,啟動JConsole
在JDK的bin目錄執(zhí)行jconsole.exe
網(wǎng)頁題目:linuxjmx命令 linux命令行技巧
網(wǎng)址分享:http://muchs.cn/article36/ddcgosg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、響應(yīng)式網(wǎng)站、全網(wǎng)營銷推廣、網(wǎng)站設(shè)計公司、、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)