Spring Boot之程序性能监控,看了都说好

点击上方 "程序员小乐"关注, 星标或置顶一起成长

每天凌晨00点00分, 第一时间与你相约


每日英文

Leave all your unhappiness to yesterday, give all your hopes to tomorrow, and do all your hard work today.

把所有的不快给昨天,把所有的希望给明天,把所有的努力给今天。


每日掏心话

所谓的幸福,就是在平淡生活里的那一份执着和坚守。

来自:zhaoyh | 责编:乐乐

链接:zhaoyh.com.cn

Spring Boot之程序性能监控,看了都说好

程序员小乐(ID:study_tech)第 840 次推文 图片来自百度


往日回顾:又一个程序员“倒”下,Pandownload凉了...


正文


Spring Boot特别适合团队构建各种可快速迭代的微服务,同时为了减少程序本身监控系统的开发量,Spring Boot提供了actuator模块,可以很方便的对你的Spring Boot程序做监控。

1. actuator接口说明

Spring Boot应用中加入监控很简单,只需要在pom.xml文件中加入以下依赖:


org.springframework.boot
spring-boot-starter-actuator

为了保证actuator接口的敏感性,在配置文件中,开放安全属性配置:

management.security.enabled=false

这样就能允许你查看Spring Boot进程的actuator信息了。

启动Spring Boot程序,在启动日志里看到可访问的actuator接口:

Spring Boot之程序性能监控,看了都说好

通过这些,我们可以实时的获取应用的各项监控指标。

actuator的接口分为原生接口和用户自定义接口。原生接口主要有如下几个:


路径

说明


/health 展示了进程的健康状态

/beans 程序创建的Bean

/configprops 配置信息,属性值

/env 环境属性

/info info开头的程序属性信息

/metrics 度量指标,比如JVM和HTTP请求等

/trace HTTP的详细请求信息

/mappings 所有的URL路径映射关系

/dump 线程快照信息

/heapdump 内存快照信息

如果你想关闭某个接口,比如关闭health接口,可以直接设置:

endpoints.health.enabled=false

2. 监控展示

2.1 JConsole

JConsole是一个内置Java性能分析器,如果你本机已经配置了jdk的话,可直接命令行输入jconsole,打开后的页面如下图所示:

Spring Boot之程序性能监控,看了都说好

选择你要监控的进程,点击连接即可进入该Java进程的监控首页,如下图所示:

Spring Boot之程序性能监控,看了都说好

可以很详细地展示进程的内存、CPU、类信息。

2.2 Spring Boot Admin

Spring Boot Admin是一款监控和管理Spring Boot应用程序的开源软件。Spring Boot Admin读取actuator的接口数据,并通过Spring Boot Admin UI将实时数据展示在前端。

创建一个Spring Boot Admin Server,首先需要创建一个基本的Spring Boot应用程序,这个就不做赘述了,并加入以下依赖:


de.codecentric
spring-boot-admin-server
1.5.7



de.codecentric
spring-boot-admin-server-ui
1.5.7

server.port端口设置为8090,并注册到你的eureka服务上。

启动类中使用注解开启服务:

@SpringBootApplication
@EnableDiscoveryClient
@EnableAdminServer
@EnableTurbine
public class HtsApplication {

public static void main(String[] args) {
SpringApplication.run(HtsApplication.class, args);
}
}

浏览器访问:http://localhost:8090 即可看到如下Spring Boot Admin Server的页面:

Spring Boot之程序性能监控,看了都说好

在任意需要被监控的Spring Boot应用程序上,添加依赖:


de.codecentric
spring-boot-admin-starter-client
1.5.7

启动客户端后,稍等片刻,Spring Boot Admin Server从Eureka上拿到注册信息后,即可在 http://localhost:8090 上看到应用程序的监控信息了:

Spring Boot之程序性能监控,看了都说好

3. FAQ


  • Spring Boot Admin Server上可以配置邮件告警信息,添加自己的Email即可收到告警信息。

  • Spring Boot Admin Server监控的应用程序服务,需要和Spring Boot Admin Server都注册到Eureka上。


欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。


猜你还想看


阿里、腾讯、百度、华为、京东最新面试题汇集

面试热身:5 亿整数的大文件,排个序?

线上服务 CPU 100%?一键定位 So Easy!

基于 token 的多平台身份认证架构设计

关注订阅号「程序员小乐」,收看更多精彩内容
嘿,你在看吗?


分享到:


相關文章: