前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过JMX监控Spring Boot应用

通过JMX监控Spring Boot应用

作者头像
阿杜
发布2018-08-06 14:09:41
1.3K0
发布2018-08-06 14:09:41
举报
文章被收录于专栏:阿杜的世界阿杜的世界

Spring Boot应用的健康监控一文中,我们通过Spring Boot Actuator对外暴露应用的监控信息,除了使用HTTP获取JSON格式 的数据之外,还可以通过JMX监控应用,Spring Boot也提供了对JMX监控的支持。JMX监控对外暴露的信息相同,不过是使用MBeans容器将应用数据封装管理。

接下来我们看下如何利用JMX获取应用状态信息,以及如何使用Jolokia JMX库对外暴露MBeans的HTTP访问URL。

Get Ready

在BookPub应用的pom文件中添加jolokia-core依赖

代码语言:javascript
复制
<!-- JMX monitor -->
<dependency>
   <groupId>org.jolokia</groupId>
   <artifactId>jolokia-core</artifactId>
</dependency>

How Do

  1. 启动BookPub应用,然后在命令行中执行jconsole命令启动“Java管理和监视控制台”,然后选择org.springframework.boot节点下的Endpoint,可以看到如下信息

Java管理和监视控制台

  1. Tomcat节点下选择ThreadPool,然后在选择http-nio-8080节点,在这个节点下选择maxThreads属性,可以看到如下信息

查看应用的最大并发线程数

  1. 除了通过JMX获取信息,也暴露了对应的HTTP接口访问Mbeans对象的信息,例如,我们在postman中访问http://localhost:8080/jolokia/read/Tomcat:type=ThreadPool,name=%22http-nio-8080%22/maxThreads,也可以得到对应的信息

通过HTTP访问应用的最大并发线程数

分析

只要添加了Spring Boot Actuator库,所有相关的endpoint和管理服务都打开了,包括JMX,我们可以通过设置endpoints.jmx.enabled=false禁止对外提供基于JMX的endpoints;或者通过设置spring.jmx.enabled=false禁止对外提供Spring MBeans。

在类路径中存在的Jolokia库会触发Spring Boot的JolokiaAutoConfiguration,这个自动配置类会自动配置可以接受/jolokia请求的JolokiaMvcEndPoint;也可以通过在application.properties中设置jolokia.config.系列的属性配置不同的Jolokia配置。完整的Jolokia配置地址在:https://jolokia.org/reference/html/agents.html#agent-war-init-params_。如果你希望定制自己的Jolokia配置,则可以通过设置_endpoints.jolokia.enabled=false*让Spring Boot应用忽略自身提供的配置。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015.12.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Get Ready
  • How Do
  • 分析
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档