来源:zhaoyh's blog,http://zhaoyh.com.cn/

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

1. actuator接口说明

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

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

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

management.security.enabled=false

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

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

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

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

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

endpoints.health.enabled=false

2. 监控展示

2.1 JConsole

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

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

可以很详细地展示进程的内存、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 应用程序,这个就不做赘述了,并加入以下依赖:

<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>

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应用程序上,添加依赖:

<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>1.5.7</version>
</dependency>

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

3. FAQ

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

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

Spring Boot 项目如何做性能监控?相关推荐

  1. jprofiler远程监控JVM( spring boot项目)

    服务器的服务出现莫名其妙的假死问题,没有出现报错或者异常信息.需要通过工具来远程监控项目 大概步骤如下 安装版本号一致的jprofiler 如果使用docker 容器运行项目的需要进入docker 容 ...

  2. Vue + Spring Boot 项目实战(二十一):缓存的应用

    重要链接: 「系列文章目录」 「项目源码(GitHub)」 本篇目录 前言 一.缓存:工程思想的产物 二.Web 中的缓存 1.缓存的工作模式 2.缓存的常见问题 三.缓存应用实战 1.Redis 与 ...

  3. spring boot项目 中止运行 最常用的几种方法

    spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...

  4. Vue + Spring Boot 项目实战(四):数据库的引入

    这一篇的主要内容是引入数据库并实现通过数据库验证用户名与密码. 本篇目录 一.引入数据库 1.安装数据库 2.使用 Navicat 创建数据库与表 二.使用数据库验证登录 1.项目相关配置 2.登录控 ...

  5. Spring Boot项目学习之通用权限管理项目01

    权限管理系统是一个十分常见的系统,在这个系统中是基于角色访问控制的,用户是通过角色与权限进行关联.换句话说,就是一个用户拥有若干个角色,每一个角色拥有若干权限,这样就可以形成一个关系模型:用户-角色- ...

  6. Spring Boot 项目结构介绍

    POM文件 <!-- 父工程 --><parent><groupId>org.springframework.boot</groupId><art ...

  7. 手把手教你搭建Spring Boot项目

    Spring Boot是目前流行的微服务框架,倡导"约定优先于配置",其设计目的是用来简化新Spring应用的初始化搭建以及开发过程.Spring Boot提供了很多核心的功能,比 ...

  8. eclipse创建springboot项目_创建一个 Spring Boot 项目,你会几种方法?

    我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 42W+,如下图: 2017 年由于种种原因,就没有 ...

  9. 在Spring Boot项目中使用Spock框架

    转载:https://www.jianshu.com/p/f1e354d382cd Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring B ...

最新文章

  1. Go复盘--再识Go语言
  2. 如何给女朋友解释什么是3PC?
  3. 如何强大且优雅的搞定Linux文件系统,值得一读!
  4. 百度,在模仿和创新中成长
  5. python自动下载邮件附件
  6. unity3d游戏开发第2版 pdf_从零开始学基于ARKit的Unity3d游戏开发系列1
  7. Mysql 什么是聚集索引和非聚集索引?
  8. 洛谷P2342 叠积木
  9. 老男孩教育运维班100台规模集群存储系统搭建及数据实时备份上机实战
  10. 外语_ください_五十音图
  11. Nvme pcie有线千兆网卡
  12. GK110和GK104
  13. 数据库中的五种约束及其添加方法
  14. 2020杭电网安考研复试题+经验
  15. matlab 定时器开始无法停止,计时器程序无法停止计时
  16. Linux服务器怎么关闭防火墙?
  17. JAVA模拟淘宝、天猫登录
  18. P2P式纳斯达克:小蚁区块链或将带来怎样的新金融?
  19. 数字信号处理——振动篇
  20. UnityShader Reversed-Z的理解

热门文章

  1. SIFT原理与源码分析:DoG尺度空间构造
  2. 算法分析中递推式的一般代数解法
  3. Deep Learning论文笔记之(一)K-means特征学习
  4. spring注入出错
  5. idhttpserver的使用方法
  6. linux 安装python
  7. 使用.NET Core快速开发一个较正规的命令行应用程序
  8. 利用flask将opencv实时视频流输出到浏览器
  9. 【深度学习】初识tensorflow之分布式训练
  10. 数据回归分析和拟合的Matlab实现