導航:首頁 > 文件管理 > jmx監控報錯找不到口令文件

jmx監控報錯找不到口令文件

發布時間:2023-03-05 13:43:56

Ⅰ weblogic JMX配置後,受管服務無法啟動,報埠被佔用,請支招!

我知道怎麼抄查看端襲口佔用。http://blog.163.com/favour_love/blog/static/177417151201381083228173/一個介紹結束埠佔用程序

Ⅱ 如何jvm監控linux伺服器

如何配置visualvm監控
visualvm支持在Linux和windows上啟用圖形界面監控jvm的資源,但是如何可以使我們在windows上監控到遠程linux伺服器資源,這還需要做一些配置,此文是在原文基礎上做了更改的,希望對大家能有所幫助。
(1)首先要修改JDK中JMX服務的配置文件,以獲得相應的許可權:
進入$java_HOME所在的根目錄的/jre/lib/management子目錄下,
a. 將jmxremote.password.template文件復制為jmxremote.password
b. 調整jmxremote.access和jmxremote.password的許可權為只讀寫,可以使用如下命令
chmod 600 jmxremote.access jmxremote.password
c. 打開jmxremote.password文件,去掉
# monitorRole QED
# controlRole R&D
這兩行前面的注釋符號
(2)修改env.sh
打開env.sh文件,並在JVM的啟動配置中添加如下信息:
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.20.150.218 其他配置」
這幾個配置的說明如下:
-Dcom.sun.management.jmxremote.port:這個是配置遠程connection的埠號的,要確定這個埠沒有被佔用
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false:這兩個是固定配置,是JMX的遠程服務許可權的
-Djava.rmi.server.hostname:這個是配置server的IP的,要使用server的IP最好在機器上先用hostname –i看一下IP是不是機器本身的IP,如果是127.0.0.1的話要改一下,否則遠程的時候連不上,目前我們的server上我已經都改好了
(3)Windows客戶端配置
JDK 1.6版本自帶visualvm,只需要進到bin目錄下啟動即可
啟動後頁面比較簡潔,配置也很簡單:
a. 點擊左側菜單的add Remote host,輸入server的IP,然後再advanced settings里配置埠(注意這個埠要和server上的埠一致)
b. 右擊剛才配置的IP,選擇JMX connection方式,再次輸入埠,就可以監視到JVM資源了

Ⅲ 如何用jmx監控tomcat 伺服器

使用jmx監控tomcat

1、在tomcat啟動過程中,開啟相應的參數配置:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

其中:com.sun.management.jmxremote.port 是jmx埠 這個很重要 在使用jconsole連接tomcat jmx時候使用。

2、啟動tomcat並使用jconsole來連接tomcat jmx介面

連接界面如下:

連接進去以後,在MBean一欄便是jmx介面。

關於jmx相關介面信息如下(主要包括java jmx介面和tomcat jmx介面兩個部分)

Ⅳ java用JMX遠程監控客戶端的一個練習報錯:

你第一次通信成功之後,直到程序退出的你在代碼中沒有正常關閉網路連接導致端內口堵塞,所以後面容再連就連接不上,導致錯誤檢查下你程序退出部分的代碼,或者你第一次程序結束後去netstat查下埠的佔用就知道怎麼處理了

Ⅳ zabbix jmx監控tomcat 無數據顯示

目前遇到和你一樣的問題。坑死了,網路不到用的答案。都說是模板不合適。也沒有合適的模板提供下載。

Ⅵ jmx的入門准備工作

JMX學習總結 1.產生背景
要了解 JMX,我們就必須對當前的 IT 管理系統有一個初步的了解。隨著企業 IT 規模的不斷增長,IT 資源(IT resource)數量不斷增加,IT 資源的分布也越來越分散。可以想像,甚至對於一家只有幾百台 PC 公司的 IT 管理人員來說,分發一個安全補丁並且保證其在每台 PC 上的安裝,如果只依賴人工來完成那簡直就是一場噩夢。這樣,IT 管理系統就應運而生。
然而,CPU、網卡、存儲陣列是 IT 資源;OS、MS Office、Oracle database、IBM Websphere 也是 IT 資源。IT 管理系統若要對這些 IT 資源進行管理,就必須對這些管理對象有所了解:形形色色的 IT 資源就像是說著不同語言的人:Oralce 資料庫表達內存緊張的方式和 Window XP 是絕然不同的, 而 IT 管理系統就像建造通天塔的經理,必須精通所有的語言, 這幾乎是一個不可能完成的任務。

2.JMX(Java Management Extensions,即Java管理擴展)是一個為應用程序、設備、系統等植入管理功能的框架。JMX可以跨越一系列異構操作系統平台、系統體系結構和網路傳輸協議,靈活的開發無縫集成的系統、網路和服務管理應用。

3.

4.框架結構

圖 1. 管理系統構架

上圖分析了管理系統的基本構架模式。其中 Agent / SubAgent 起到的就是翻譯的作用:把 IT 資源報告的消息以管理系統能理解的方式傳送出去。

為什麼需要 Agent 和 SubAgent 兩層體系呢?這里有兩個現實的原因:

管理系統一般是一個中央控制的控制軟體,而 SubAgent 直接監控一些資源,往往和這些資源分布在同一物理位置。當這些 SubAgent 把狀態信息傳輸到管理系統或者傳達管理系統的控制指令的時候,需要提供一些網路傳輸的功能。
管理系統的消息是有一定規范的,消息的翻譯本身是件復雜而枯燥的事情。
一般來說,管理系統會將同一物理分布或者功能類似的 SubAgent 分組成一組,由一個共用的 Agent 加以管理。在這個 Agent 里封裝了 1 和 2 的功能。
JMX 和管理系統
JMX 既是 Java 管理系統的一個標准,一個規范,也是一個介面,一個框架。圖 2 展示了 JMX 的基本架構。
圖 2. JMX 構架

JMX 是管理系統和資源之間的一個介面,它定義了管理系統和資源之間交互的標准。
javax.management.MBeanServer 實現了 Agent 的功能,以標準的方式給出了管理系統訪問 JMX 框架的介面。
javax.management.MBeans 實現了 SubAgent 的功能,以標準的方式給出了 JMX 框架訪問資源的介面。
從類庫的層次上看,JMX 包括了核心類庫 java.lang.management 和 javax.management 包。
java.lang.management 包提供了基本的 VM 監控功能,
javax.management 包則向用戶提供了擴展功能。

圖 3 JMX 的操作模型

5.概念

>>>> MBeanManaged Bean的簡稱,是一個被管理的java對象,在JMX中MBean代表一個被管理的資源(設備,應用程序等)實例。通過操作MBean暴露一系列方法和屬性來操作資源。MBean包含4種類型的MBean1.Standard MBeans標准MBeans的設計和實現是最簡單的,MBean介面中定義需要暴露的屬性和操作,約定MBean介面名字後添加後綴MBean,例如NameMBean.java,實現類名稱 name.java2.Dynamic MBeans動態MBeans 在運行期暴露自己的管理介面,MBean實現類需要實現一個特定的介面DynamicMBean。介面中的方法用來動態獲取MBean的屬性和方法方法如圖:3.Open MBean Open MBean也是一種dynamic MBeans,實現DynamicMBean介面。與dynamicMBean 不同的是 Open MBean使用了幾種預定義的數據類型提供了更復雜的metadata數據。 Open MBean和dynamic MBean的區別在於是否返回OpenMBeanInfo,它是MBeanInfo的子類4.Model MBean Model MBean也是一種dynamic MBeans,它是預制的、通用的和動態的 MBean 類,已經包含了所有必要預設行為的實現,並允許在運行時添加或覆蓋需要定製的那些實現,JMX規范規定該類必須實現為javax.management.modelmbean.RequiredModelMBean,模型管理構件具有以下新的特點:
1)持久性
定義了持久機制,可以利用Java的序列化或JDBC來存儲模型MBean的狀態。
2)通知和日誌功能
能記錄每一個發出的通知,並能自動發出屬性變化通知。
3)屬性值緩存
具有緩存屬性值的能力MBeanServer MBeanServer是MBean 的容器。MBeanServer管理這些MBean,並且通過代理外界對它們的訪問。MBeanServer提供了一種注冊機制,通過注冊Adaptor和Connector,以及MBean到MBeanServer,並且通過代理外界對它們的訪問。外界可以通過名字來得到相應的MBean實例。JMX agentAgent只是一個Java進程,它包括這個MBeanServer和一系列附加的MbeanService。當然這些Service也是通過MBean的形式來發布。JMX Agent通過各種各樣的Adapter和Connector來與外界(JVM之外)進行通信。JMX Agent可以包含各種不同的協議適配器和連接器連接器 Connector連接器是可以連接MBeanServer,並使遠程的java client可以訪問該服務。連接器包含 客戶端連接器(connector client)和伺服器連接器(connector server).伺服器連接器鏈接MBean Server 和 監聽客戶端的連接請求。客戶端連接器任務是查找connector server服務並建立連接。client 和server通常在不同機器的不同JVM中。MX Remote API 定義了標準的連接器 RMI Connector,它通過 RMI 提供了對 MBeanServer 的遠程訪問。 使用 RMI 將客戶端請求傳輸到遠程 MBean 伺服器。MX Remote API 還定義了一個可選協議,名為 JMXMP(JMX 消息協議)。JMXMP 基於 TCP 連接上的序列化 Java 對象(在可選包 javax.management.remote.message 中定義)。實現此協議的連接器稱為 JMXMP Connector。也可以使用 JMXConnectorFactory 提供的用戶定義的連接器協議和可選的通用連接器RMI Connector 使用 RMI 將客戶端請求傳輸到遠程 MBean 伺服器,RMI Connector支持 RMI 的 JRMP(默認)和 IIOP 傳輸方式。連接器地址
伺服器生成的連接器地址
service:jmx:rmi://host:port 返回如下所示的 JMXServiceURL:service:jmx:rmi://host:port/stub/XXXX
service:jmx:iiop://host:port 返回如下所示的 JMXServiceURL:service:jmx:iiop://host:port/ior/IOR:XXXX
基於目錄條目的連接器地址
service:jmx:rmi://host:port/jndi/jndi-name
service:jmx:iiop://host:port/jndi/jndi-name
host 和 :port 均可忽略。
service:jmx:rmi://ignoredhost/jndi/rmi://myhost/myname
第一個 rmi: 指定 RMI 連接器,第二個 rmi: 指定 RMI 注冊表service:jmx:iiop://ignoredhost/jndi/ldap://dirhost:9999/cn=this,ou=that其中ldap://dirhost:9999/cn=this,ou=that 表示 LDAP 目錄中的 cn=this,ou=that 條目,該目錄在運行主機 dirhost 的埠 9999 上。協議適配器 Adapter協議適配器通過特定的協議提供了一張注冊在MBean伺服器的管理構件的視圖。例如,一個HTML適配器可以將所有注冊過的管理構件顯示在Web 頁面上。不同的協議,提供不同的視圖。Adapter和Connector的區別在於:Adapter 是使用某種協議(HTTP或者SNMP)來與JMX Agent獲得聯系,Agent端會有一個對象(Adapter)來處理有關協議的細節。比如SNMP Adapter和HTTP Adapter。Connector 在Agent端和client端都必須有這樣一個對象來處理相應的請求與應答。比如RMI Connector。RMI Remote Method Invocation 的簡稱,RMI是面向對象的遠程調用, RMI採用JRMP(Java Remote Method Protocol)通訊協議,是構建在TCP/IP協議上的一種遠程調用方法。RMI 允許一個對象使其方法調用對駐留在其它虛擬機,甚至其它主機上的對象可用。RMI調用機制 -----RMI 採用stubs 和 skeletons 來進行遠程對象(remote object)的通訊。stub 充當遠程對象的客戶端代理,有著和遠程對象相同的遠程介面,遠程對象的調用實際是通過調用該對象的客戶端代理對象stub來完成的。 對於JNDI技術,所有的可用服務信息都將注冊在JNDI伺服器,讓客戶端通過RMI機制調用應用程序伺服器遠程介面時,應用程序伺服器就會根據JNDI 伺服器的服務注冊信息定位到相應的服務提供連接,等待應用程序伺服器與後台伺服器連接形成之後,JNDI將不再參與到連接當中(JNDI可以理解為注冊服 務提供)LDAP OSL X.500目錄是基於OSI網路協議的目錄服務協議 ,500的缺點是不支持TCP/IP,而是支持OSI協議 , 在此前提下,也就產生了訪問X500目錄的網關--LDAP . LDAP(Lightweight Directory Access Protocal, 輕型目錄訪問協議),是針對以X500目錄為主的目錄服務的前端訪問協議,是OSL X.500目錄訪問網關. LDAP就被設計成使用TCP/IP訪問OSI 目錄服務的服務協議,而隨著互聯網成為網路的主流,LDAP也成為一個具備目錄的大部分服務的協議。 LDAP主要解決目錄服務的前端訪問形式,而不是對 目錄服務本身制定的的協議,理論上,LDAP支持後台的任何存儲形式,包括X500,關系資料庫,文本資料庫或文件目錄等。LDAP繼承了X500目錄的 大部分定義,無論是訪問樣式還是語法都與X500相似。JINIJini( Java Intelligent Network Infrastructure)是一個主動的、響應式的分布式基礎結構,它提供了在分布式環境中進行服務的建立、查找、通訊和調用的一整套機制。
Jini系統架構HTTPHTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是用於從WWW伺服器傳輸超文本到本地瀏覽器的傳送協議。Internet的基本協議是TCP/IP協議,然而在TCP/IP模型最上層的是應用層(Application layer),它包含所有高層的協議。高層協議有:文件傳輸協議FTP、電子郵件傳輸協議SMTP、域名系統服務DNS、網路新聞傳輸協議NNTP和 HTTP協議等SNMPSNMP(Simple Network Management Protocol,簡單網路管理協議)
>>>> 實現的協議適配器和連接器

當前已經實現的協議適配器和連接器包括:
1)RMI連接器
2)SNMP協議適配器
3)IIOP協議適配器
4)HTML協議適配器
5)HTTP連接器

JMX 標准提供了四種不同的 MBean:

Standard MBean 直接實現用於管理對象的方法,既可以通過實現一個由程序員定義的、類名以 「MBean」 結束的介面,也可以使用一個以一個類作為構造函數參數的 Standard MBean 實例,加上一個可選的介面類規范。這個介面可以開放用於管理的部分對象方法。
Dynamic MBean 用屬性訪問器動態地訪問屬性,並用一個一般化的 invoke() 方法調用方法。可用的方法是在 MBeanInfo 介面中指定的。這種方式更靈活,但是不具有像 Standard MBean 那樣的類型安全性。它極大地降低了耦合性,可管理的 POJO(純粹的老式 Java 對象)不需要實現特定的介面。
Model MBean 提供了一個改進的抽象層,並擴展了 Dynamic MBean 模型以進一步減少對給定實現的依賴性。這對於可能使用多個版本的 JVM 或者需要用鬆散耦合管理第三方類的情況會有幫助。Dynamic MBean 與 Model MBean 之間的主要區別是,在 Model MBean 中有額外的元數據。
Open MBean 是受限的 Model MBean,它限制類型為固定的一組類型,以得到最大的可移植性。通過限制數據類型,可以使用更多的適配器,並且像 SMTP 這樣的技術可以更容易適應 Java 應用程序的管理。這種變體還指定了數組和表等標准結構以改進復合對象的管理。
如 果要同時控制客戶機和伺服器,那麼 Standard MBean 是最容易實現的一種變體。它們的優點是有類型,但是如果在更一般化的管理控制台環境中使用時會缺少一些靈活性。如果計劃使用 Dynamic MBean,那麼您也可以更一步使用 Model MBean,在大多數情況下它會改善抽象層而幾乎不會增加復雜性。Open MBean 是是可移植性最高的一種變體,如果需要開放復合對象,那麼它是惟一的方法。不幸的是,在 Open MBean 中開放復合結構所需要的代碼數量過多,只有在需要高級的商業管理解決方案時才合算。

JMX 還支持使用帶過濾器和廣播器的事件模型的通知。為此目的,Standard MBean 需要聲明一個 MBeanInfo 元數據描述。 Standard MBean 實現通常在內部構造這些內容,開發人員不能直接看到它們。在本文後面,您會看到如何用 Model MBean 元數據的 XML 描述符格式和 Spring 的 JMX 支持進行實際上透明的配置。

>>>>使用 MBean 的過程1.創建一個 MBServer:MBeanServe2.獲得管理資源用的 MBean:serverBean3.給這個 MBean 一個 ObjectName:serverMBeanName4.將 serverBean 以 serverMBeanName 注冊到 mBeanServer 上去>>>>通知機制要讓MBean能發出通知,MBean必須實現介面NotificationBroadcaster或它的子介面NotificationEmitter.發送通知時要做的是構建javax.management.Notification類的實例或Notification 的子類,然後以參數形式傳遞這個實例到.sendNotification.方法中
>>>>JMX 代理內幕

揭示了典型 JMX 代理的內部構造。請注意,代理內部的四種主要組件是 MBean 伺服器、一組代理服務、連接器和協議適配器以及定製代理邏輯。

MBean 伺服器

MBean 伺服器是代理內部的核心組件。所有 MBean 在可以通過遠程應用程序訪問之前都必須向 MBean 伺服器注冊。當使用 MBean 伺服器時,通過唯一的對象名對已注冊的 MBean 進行定址。遠程管理器應用程序(或分布式服務)只能通過 MBean 的管理介面(已公開的屬性、操作和事件)發現和訪問 MBean。

代理服務

代理還提供了一組代理服務,定製代理邏輯可以使用它們在 MBean 伺服器中對已注冊的 MBean 進行操作。為了符合 JMX 1.1,這些服務是必需的 ―所有代理都必須提供它們。 有趣的是,可以用 MBean 本身的形式實現這些服務。以 MBean 的形式實現服務有幾個優點:

可以通過 Manager 組件或 EMS 遠程訪問該服務的操作。
通過從遠程管理器應用程序進行訪問,EMS 可以遠程地管理服務本身。
可以通過下載 MBean 在運行時動態地執行服務邏輯的更新。
表 3 顯示了 JMX 1.1 規范中定義的一組代理服務。

表 3. JMX 1.1 所需的代理服務

m-let 或管理 Applet 服務 支持跨網路從 URL 位置裝入動態類(請參閱 javax.management.loading.MLetMBean 和相關聯的類/介面)。
監視器服務 將代價高昂的遠程輪詢操作轉換成本地操作;監控 MBean 屬性的特定更改並在觀察到更改時發送事件。
計時器服務 經歷了指定的時間量後發送事件,或以指定時間間隔定期發送事件(請參閱 javax.management.monitor.MonitorMBean 和相關的類/介面)。
關系服務 支持 MBean 之間的關系定義,並強制關系的完整性(請參閱 javax.management.relation.RelationServiceMBean 和相關的類/介面)。

增值代理邏輯

增值代理邏輯通常是編寫的代碼。它是能夠提供本地化智能的定製代理邏輯,用來管理向該代理注冊的 JMX 可管理資源。例如,如果我們有兩個冗餘的應用程序伺服器群集,就可以創建定製代理,監控負載級別並且動態地將入站請求重定向到不同的群集 ― 通過對已注冊的伺服器的 MBean 進行操作。通常,NMS 的供應商也會提供定製邏輯。一旦分布式服務的規范得以充實,可以預言,某種特定的定製代理邏輯將可以與定製遠程 JMX 管理器組件良好地協作,以提供更高級別的網路管理功能。

連接器和協議適配器

代理不與分布式服務、NMS 或其它管理應用程序直接通信。而是使用連接器和協議適配器。這種體系結構與 J2EE 連接器體系結構(J2EE Connector Architecture)是一致的(請參閱 參考資料)。協議適配器是一種軟體組件,它通過標准化協議(如 HTTP 和 SNMP)提供對代理管理的資源的訪問。

連 接器是一種專用軟體組件,它提供了到代理和/或該代理上的受管資源的遠程介面(通常使用諸如 CORBA 或 RMI 這樣的遠程過程調用技術來完成 ― 為了安全性通常通過 SSL)。當代理有多個活動的連接器和協議時,可以通過多個異構的應用程序或 NMS 同步地訪問受管資源。可以用協議適配器來提供對現有的和已建立的 NMS 的向後兼容性。例如,我們可以為支持這個標準的 NMS 創建 通用信息模型/基於 Web 的企業管理(CIM/WEBM)適配器,或者可以創建 電信管理網路(TMN)協議適配器來啟用由 JMX 代理管理的電信資源上的 操作、管理和維護(OAM)。JMX 連接器和協議適配器的精確規范屬於正在同時開發的規范的范疇(請參閱 參考資料)。

>>>> 安全性

到目前為止都還不錯。現在是面對被甩在一邊的重要問題 —— 安全性 —— 的時候了。不如果不想讓誰的應用程序代碼訪問和修改虛擬機,該怎麼辦?有什麼選項可用么? 可以設置一些系統屬性,來控制訪問級別和虛擬機數據從 JMX 代理向管理客戶機傳遞虛擬機數據的方式。這些屬性分成兩類:口令認證 和安全套接字層(SSL)。

使用命令行選項

為了讓 5.0 兼容的虛擬機可以被監視和管理,需要用以下命令行選項設置平台 JMX 代理的埠號:

-Dcom.sun.management.jmxremote.port=<number>

如果不介意誰通過這個埠訪問虛擬機,也可以添加以下兩個選項,關閉口令認證和 SSL 加密(這兩項默認都是開啟的):

-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false

在開發 java.lang.management 客戶機代碼,而且想方便地監視另一台虛擬機時,一起使用這三個選項會很方便。在生產環境中,則需要設置口令控制或 SSL(或者兩者都要設置)。

口令認證

在JDK 的 jre/lib/management 目錄中,可以找到一個叫做 jmxremote.password.template 的文件。這個文件定義了兩個角色的用戶名和口令。第一個是監視 角色,允許訪問只讀的管理函數;第二個是控制 角色,允許訪問讀寫函數。取決於需要的訪問級別,客戶可以用 monitorRole 或 controlRole 用戶名進行認證。為了確保只有認證的用戶才能訪問,需要做以下工作:

把 jmxremote.password.template 的內容拷貝到叫做 jmxremote.password 的文件中,並取消掉文件末尾定義用戶名和口令部分的注釋,根據需要修改口令。
修改 jmxremote.password 的許可,只讓所有者能夠讀取和修改它。(在 UNIX 和 UNIX 類的系統上,把許可設置成 600。在 Microsoft Windows 上,請按照 「How to secure a password file on Microsoft Windows systems」 一文中的說明操作,可以在 參考資料 中找到這篇文章的鏈接。)
在啟動虛擬機時,用以下命令行選項指定要使用的口令文件的位置:
-Dcom.sun.management.jmxremote.password.file=<file-path>

從管理客戶的角度來說,需要提供正確的用戶名/口令組合來訪問開啟了認證的虛擬機。如果客戶是 JConsole,這很簡單:在初始的 Connection 選項卡中提供了用戶名和口令欄位

閱讀全文

與jmx監控報錯找不到口令文件相關的資料

熱點內容
win10ime 瀏覽:271
手機號大數據保護停機是什麼意思 瀏覽:81
兩個蘋果手機怎麼隔空投送app 瀏覽:903
ps修改有褶皺的文件 瀏覽:417
javadbfreader 瀏覽:307
蘋果手機數字代碼是什麼 瀏覽:66
驅動程序順序安裝腳本 瀏覽:665
word文件里怎樣查重 瀏覽:219
mx5系統基帶版本 瀏覽:184
ntlea全域通win10 瀏覽:171
qq怎麼查看別人的收藏 瀏覽:135
地震三參數matlab程序 瀏覽:57
怎樣給優盤文件加密軟體 瀏覽:7
收拾文件有哪些小妙招 瀏覽:431
pdf文件去底網 瀏覽:253
win10重裝系統需要格式化c盤嗎 瀏覽:424
路由器trx文件 瀏覽:655
淘寶店鋪數據包怎麼做 瀏覽:195
win10鍵盤黏連 瀏覽:332
json如何生成表格 瀏覽:323

友情鏈接