网上关于使用hawtio的文章不少,但基本都是针对ActiveMQ的,而使用hawtio监控Apache Camel的文章虽然在hawtio官网上有专门的FAQ,但笔者一开始死活就是看不到监控界面(这也是最让笔者困惑的,在hawtio的官网以及相关的issue中,其他人哪怕是有问题那至少也能看到部分Camel的信息,而笔者这边是啥都没有),最后还是折腾了一圈才看到效果,故记录下来方便后来者。


0. 目录

  • 1. 概述
  • 2. 操作步骤 - 方法一
  • 3. 操作步骤 - 方法二(推荐)
  • 3.1 SpringBoot1.x
  • 3.2 SpringBoot2.x
  • 4. Links


1. 概述

废话就不说了,直接进入操作步骤环节。

关于Apache Camel如何集成到应用中这里就省略了,笔者本次演示的是监控SpringBoot集成Apache Camel。(推荐方法二,快速建立对于hawtio监控的认识)

2. 操作步骤 - 方法一

  1. 下载 Jolokia。 因为笔者本次介绍采用的是IDE中启动SpringBoot项目,因此下载的是下图中圈出来的版本,有其他需要的童鞋请自行下载相应的版本。(注意:这些包也是可以直接从Maven仓库下载的)
  2. 集成第一步中下载的jolokia启动SpringBoot应用。
# 在IDE的VM arguments中添加如下参数
-javaagent:${path to agent jar}=port=xxx,host=xxx

arth监控 ajhua监控_监控

  1. 启动SpringBoot应用。
    启动之后访问 http://127.0.0.1:8778/jolokia/ 来验证 jolokia 是否生效。
  2. 下载 hawtio,并启动之(笔者这里采用的JAR启动方式)
cd ${path to hawtio jar folder}
java -jar hawtio-app-x.y.0.jar --port 8090
  1. 配置hawtio。 以上步骤成功之后,我们即可在hawtio进行最后一步的配置工作。

    上面截图展示的就是在hawtio中增加一个关于jolokia的Connection。
  2. 以上配置完成并测试链接通过后,直接点击所增加的Connection记录右侧的Connect按钮。即可成功看到Camel的监控页面。

3. 操作步骤 - 方法二(推荐)

本方法相较于上一种显得更加便捷。

3.1 SpringBoot1.x
  1. 引入如下Maven依赖:
<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 下面的hawtio-springboot 会将其作为传递依赖引入
<dependency> 
    <groupId>org.jolokia</groupId> 
    <artifactId>jolokia-core</artifactId> 
</dependency>
-->
<dependency>
    <groupId>io.hawt</groupId>
    <artifactId>hawtio-springboot</artifactId>
    <version>1.5.12</version>
</dependency>
  1. 调整配置文件 application.yml
management:
  endpoints:
    web:
      exposure:
        #配置暴露端点
        include: hawtio,jolokia
 
hawtio:
  #关闭hawtio登录权限验证
  authenticationEnabled: false

# 放开actuator权限
management:
 security:
   enabled: false
  1. 测试 http://{ip}:{port}/hawtio
3.2 SpringBoot2.x
  1. 注意: 确保框架中没有启用注解@EnableWebMvc
  2. 引入如下Maven依赖:
<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 下面的hawtio-springboot 会将其作为传递依赖引入
<dependency> 
    <groupId>org.jolokia</groupId> 
    <artifactId>jolokia-core</artifactId> 
</dependency>
-->
<dependency>
    <groupId>io.hawt</groupId>
    <artifactId>hawtio-springboot</artifactId>
    <version>2.9.1</version>
</dependency>
  1. 调整配置文件 application.yml
management:
  endpoints:
    web:
      exposure:
        #配置暴露端点
        include: hawtio,jolokia
 
hawtio:
  #关闭hawtio登录权限验证
  authenticationEnabled: false
  1. 测试 http://{ip}:{port}/actuator/hawtio