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

Spring Boot应用监控实战

作者头像
用户1263954
发布2018-06-22 12:23:09
5480
发布2018-06-22 12:23:09
举报
文章被收录于专栏:IT技术精选文摘IT技术精选文摘

概述

  • pom.xml中添加依赖:
代码语言:javascript
复制
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-actuator</artifactId></dependency>

启动Spring Boot应用程序之后,只要在浏览器中输入端点信息就能获得应用的一些状态信息。

代码语言:javascript
复制
endpoints:  metrics:    sensitive: false

此时浏览器访问/metrics端点就能得到诸如下面所示的信息:

代码语言:javascript
复制
{	"mem": 71529,	"mem.free": 15073,	"processors": 4,	"instance.uptime": 6376,	"uptime": 9447,	"systemload.average": -1.0,	"heap.committed": 48024,	"heap.init": 16384,	"heap.used": 32950,	"heap": 506816,	"nonheap.committed": 23840,	"nonheap.init": 160,	"nonheap.used": 23506,	"nonheap": 0,	"threads.peak": 25,	"threads.daemon": 23,	"threads.totalStarted": 28,	"threads": 25,	"classes": 6129,	"classes.loaded": 6129,	"classes.unloaded": 0,	"gc.copy.count": 74,	"gc.copy.time": 173,	"gc.marksweepcompact.count": 3,	"gc.marksweepcompact.time": 88,	"httpsessions.max": -1,	"httpsessions.active": 0}

当然也可以开启全部端点权限,只需如下配置即可:

代码语言:javascript
复制
endpoints:  sensitive: false

由于Actuator插件提供的监控能力毕竟有限,而且UI比较简陋,因此需要一个更加成熟一点的工具


Spring Boot Admin监控系统

SBA则是基于Actuator更加进化了一步,其是一个针对Actuator接口进行UI美化封装的监控工具。我们来实验一下。

  • 首先来创建一个Spring Boot Admin Server工程作为服务端

pom.xml中加入如下依赖:

代码语言:javascript
复制
<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-server</artifactId>
	<version>1.5.7</version></dependency><dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-server-ui</artifactId>
	<version>1.5.7</version></dependency>

然后在应用主类上通过加注解来启用Spring Boot Admin

代码语言:javascript
复制
@EnableAdminServer@SpringBootApplicationpublic class SpringbtAdminServerApplication {	public static void main(String[] args) {
		SpringApplication.run(SpringbtAdminServerApplication.class, args);
	}
}

启动程序,浏览器打开 localhost:8081 查看Spring Boot Admin主页面:

此时Application一栏空空如也,等待待监控的应用加入

  • 创建要监控的Spring Boot应用

pom.xml中加入以下依赖

代码语言:javascript
复制
<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-starter-client</artifactId>
	<version>1.5.7</version></dependency>

然后在yml配置中添加如下配置,将应用注册到Admin服务端去:

代码语言:javascript
复制
spring:  boot:    admin:      url: http://localhost:8081
      client:        name: AdminTest

Client应用一启动,Admin服务立马推送来了消息,告诉你AdminTest上线了:

此时去Admin主界面上查看,发现Client应用确实已经注册上来了:

  • 查看Detail
  • 查看 Metrics
  • 查看 Enviroment
  • 查看JMX
  • 查看Threads
  • 查看Trace与详情

点击最上方JOURNAL,会看到被监控应用程序的事件变化:

图中可以清晰地看到,应用从 REGISTRATION → UNKNOWN → UP 的状态跳转。

这样就将Actuator插件提供的所有端点信息在SBA中全部尝试了一遍。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术精选文摘 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • Spring Boot Admin监控系统
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档