网上关于使用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启动方式)
以上命令行启动稍等片刻,hawtio会在默认浏览器中打开 http://localhost:8090/hawtio 地址。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
4. Links
- jolokia下载地址
- hawtio官网
- 配置Jolokia监控服务端程序运行状态
- Jolokia与Spring JMX监控
- how-to-monitor-apache-camel-routes-in-a-java-project-using-hawtio
- hawtio - the-camel-plugin-is-not-visible-or-does-not-show-any-camels