网上关于使用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. 操作步骤 - 方法一
- 下载 Jolokia。 因为笔者本次介绍采用的是IDE中启动SpringBoot项目,因此下载的是下图中圈出来的版本,有其他需要的童鞋请自行下载相应的版本。(注意:这些包也是可以直接从Maven仓库下载的)
- 集成第一步中下载的jolokia启动SpringBoot应用。
# 在IDE的VM arguments中添加如下参数
-javaagent:${path to agent jar}=port=xxx,host=xxx
- 启动SpringBoot应用。
启动之后访问 http://127.0.0.1:8778/jolokia/ 来验证 jolokia 是否生效。 - 下载 hawtio,并启动之(笔者这里采用的JAR启动方式)
cd ${path to hawtio jar folder}
java -jar hawtio-app-x.y.0.jar --port 8090
- 配置hawtio。 以上步骤成功之后,我们即可在hawtio进行最后一步的配置工作。
上面截图展示的就是在hawtio中增加一个关于jolokia的Connection。 - 以上配置完成并测试链接通过后,直接点击所增加的Connection记录右侧的Connect按钮。即可成功看到Camel的监控页面。
3. 操作步骤 - 方法二(推荐)
本方法相较于上一种显得更加便捷。
3.1 SpringBoot1.x
- 引入如下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>
- 调整配置文件
application.yml
management:
endpoints:
web:
exposure:
#配置暴露端点
include: hawtio,jolokia
hawtio:
#关闭hawtio登录权限验证
authenticationEnabled: false
# 放开actuator权限
management:
security:
enabled: false
- 测试
http://{ip}:{port}/hawtio
。
3.2 SpringBoot2.x
- 注意: 确保框架中没有启用注解
@EnableWebMvc
。 - 引入如下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>
- 调整配置文件
application.yml
management:
endpoints:
web:
exposure:
#配置暴露端点
include: hawtio,jolokia
hawtio:
#关闭hawtio登录权限验证
authenticationEnabled: false
- 测试
http://{ip}:{port}/actuator/hawtio
。