Jolokia + Hawtio 监控Mule Esb

Mule ESB社区版没有Mule Management Console(MMC),但是往往需要获知某个接口调用情况等基本信息。因此经过一番科学上网学习,终于找到了方法。
MuleSoft提供了MBean,如果使用JConsole就可以查看到相关ESB Flow的信息。如果需要WEB形式的话,那Jolokia和Hawtio的组合无疑是当前首选。


前期准备
Mule Version :mule-standalone-3.9.0
Jolokia Version :1.5.0(当前最新)
下载地址:http://jolokia.org/download.html
Hawtio Version : 1.5.9(当前最新)
下载地址:http://hawt.io/getstarted/index.html (下载app那个版本,用java命令就可以启动,测试方便)


Jolokia下载下来的是一个jar包,将其放到{MULE_HOME}\lib\opt\下,然后打开{MULE_HOME}\apps\default\下的mule-config.xml,添加一些Jolokia所需的内容注意XML头部也有信息添加

<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">  

    
    <custom-agent name="jolokia-agent" class="org.jolokia.mule.JolokiaMuleAgent">
        <spring:property name="port" value="8899"/>
    custom-agent>
    <management:jmx-server>  
        <management:connector-server url="service:jmx:rmi:///jndi/rmi://localhost:7099/mule" rebind="true" />  
    management:jmx-server>
mule>

自此,Jolokia与Mule的整合完毕。
Hawtio下载下来的也是一个jar包,这个jar包可以执行,在{HAWTIO_JAR_FOLDER}下代开CMD窗口,执行命令java -jar hawtio-x-x-x.jar,然后耐心等候,启动成功将会打开你的默认浏览器,打开浏览器后路径是
http://localhost:8080/hawtio/jvm/connect ,这时候可以看见界面如下:

Jolokia + Hawtio 监控Mule Esb_第1张图片

点击蓝色按钮连接,就可以开始愉快的玩耍了。
Jolokia + Hawtio 监控Mule Esb_第2张图片

奉上Jolokia参考手册:https://jolokia.org/reference/html/protocol.html
写在最后:Hawtio1.5.9使用的jQuery版本是1.12.x,Hawtio的Dashboard添加组件后,右下角的拖动会提示错误,原因是browser.msie已经在jQuery1.9版本后移除了,反正火狐和谷歌拖动大小是报错的,IE系的浏览器就不会有这样的问题。

后续补充2018-08-24

这种方式能起到的监控作用不大,除了获取接口调用情况及启动关闭接口外,更多的监控功能便没有了,想达到MMC的效果,可能还得另辟蹊径二次开发。

你可能感兴趣的:(MULE,ESB)