Jolokia 1.0.6:http://www.jolokia.org/agent/mule.html
Mule esb 3.3.0:http://www.mulesoft.org
現在越來越多的集成平台使用了Mule企業服務總線中間件,Mule企業版的監控程序是收費的,不過Mule大佬還算有點良心,實現了很多MBEAN接口,提供了很JMX接口,這使得自定義監控界面得以實現。
准備實現的結構圖如下:
在Mule裡面添加JMX代理,新建一個flow,代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:management="http://www.mulesoft.org/schema/mule/management"
xmlns:spring="http://www.springframework.org/schema/beans"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/3.1/mule.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.mulesoft.org/schema/mule/management
http://www.mulesoft.org/schema/mule/management/3.1/mule-management.xsd">
<!-- jmx配置 -->
<custom-agent name="jolokia-agent" class="org.jolokia.mule.JolokiaMuleAgent">
<spring:property name="port" value="8099"/>
</custom-agent>
<management:jmx-server>
<management:connector-server url="service:jmx:rmi:///jndi/rmi://localhost:7099/mule" rebind="true" />
</management:jmx-server>
</mule>
附:需要把Mule-Agent的包: jolokia-mule-1.0.6-agent.jar添加到類目錄
參考:http://www.jolokia.org/agent/mule.html
運行結果:
打印出如下信息表示添加JMX成功啦。
這樣打開: http://casking-soa-PC:8099/jolokia 這個就可以查看版本了。
內存情況及回收操作:
http://127.0.0.1:8099/jolokia/read/java.lang:type=Memory
http://127.0.0.1:8099/jolokia/exec/java.lang:type=Memory/gc
操作系統信息
http://127.0.0.1:8099/jolokia/read/java.lang:type=OperatingSystem
運行環境
http://127.0.0.1:8099/jolokia/read/java.lang:type=Runtime
線程總體情況
http://127.0.0.1:8099/jolokia/read/java.lang:type=Threading
類加載情況
http://127.0.0.1:8099/jolokia/read/java.lang:type=ClassLoading
更多用法可以參見:http://www.jolokia.org/reference/html/protocol.html
有了API,你們就可以自己寫自定義的界面了。
看我們的結構圖,綠色部分有說提供標准的JMX API,我們來測試使用JConsole測試一下
此工具JDK自帶的
雙擊打開,並填入RIM地址