Spring Boot 项目做性能监控的操作流程

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接口:

通过这些,我们可以实时的获取应用的各项监控指标。另外,关注微信公众号:Java技术栈,在后台回复:boot,可以获取我整理的 N 篇 Spring Boot 教程,都是干货。

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

推荐去我的博客阅读更多:

1.Java JVM、集合、多线程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、后端、架构、阿里巴巴等大厂最新面试题

到此这篇关于Spring Boot 项目如何做性能监控的文章就介绍到这了,更多相关Spring Boot性能监控内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解关于springboot-actuator监控的401无权限访问

    今天心血来潮看一下spring监控 访问/beans 等敏感的信息时候报错 Tue Mar 07 21:18:57 GMT+08:00 2017 There was an unexpected error (type=Unauthorized, status=401). Full authentication is required to access this resource. application.properties添加配置参数 management.security.enabled=

  • 详解Spring boot Admin 使用eureka监控服务

    前言 最近刚好有空,来学习一下如何搭建spring boot admin环境.其中遇到很多的坑. 网上大多都是使用admin-url的方式直接来监控的,感觉一点也不灵活,这不是我想要的结果,所以本篇介绍借助eureka服务注册和发现功能来灵活监控程序. 本文主要记录spring boot admin的搭建过程,希望能有所帮助.其实非常的简单,不要被使用常规方式的误导! 环境介绍 IDE:intellij idea jdk: java8 maven:3.3.9 spring boot:1.5.6

  • 使用Spirng Boot Admin监控Spring Cloud应用项目

    一. 介绍 GitHub: https://github.com/codecentric/spring-boot-admin 官方文档: http://codecentric.github.io/spring-boot-admin/1.5.7/ (此文档为1.5.7版本的文档) The applications register with our Spring Boot Admin Client (via HTTP) or are discovered using Spring Cloud ®

  • 基于spring-boot和docker-java实现对docker容器的动态管理和监控功能[附完整源码下载]

    docker简介 Docker 是一个开源的应用容器引擎,和传统的虚拟机技术相比,Docker 容器性能开销极低,因此也广受开发者喜爱.随着基于docker的开发者越来越多,docker的镜像也原来越丰富,未来各种企业级的完整解决方案都可以直接通过下载镜像拿来即用.因此docker变得越来越重要. 本文目的 本文通过一个项目实例来介绍如果通过docker对外接口来实现对docker容器的管理和监控. 应用场景: 对服务器资源池通过docker进行统一管理,按需分配资源和创建容器,达到资源最大化利

  • prometheus监控springboot应用简单使用介绍详解

    对于springboot应用,需要以下几个步骤 springboot应用开启endpoint,添加actuator的以来和promethus的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> &

  • SpringBoot实现项目健康检查与监控

    Spring Boot 最主要的特性就是AutoConfig(自动配置),而对于我们这些使用者来说也就是各种starter, Spring Boot-Actuator 也提供了starter,为我们自动配置,在使用上我们只需要添加starter到我们的依赖中,然后启动项目即可. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-ac

  • 详解使用spring boot admin监控spring cloud应用程序

    Spring Boot提供的监控接口,例如:/health./info等等,实际上除了之前提到的信息,还有其他信息业需要监控:当前处于活跃状态的会话数量.当前应用的并发数.延迟以及其他度量信息. 最近在找一个spring cloud的监控组件,要求粒度要到每一个接口的,hystrix dashboard显然不适合,也不是这个应用场景.后来发现了spring boot admin这个神器,可以注册到Eureka和spring cloud无缝整合,页面AngularJS写的还算凑合,里面包含有许多功

  • Spring Boot 项目做性能监控的操作流程

    Spring Boot特别适合团队构建各种可快速迭代的微服务,同时为了减少程序本身监控系统的开发量,Spring Boot 提供了 actuator 模块,可以很方便的对你的 Spring Boot 程序做监控. 1. actuator接口说明 Spring Boot 应用中加入监控很简单,只需要在pom.xml文件中加入以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifact

  • 基于Spring Boot的线程池监控问题及解决方案

    目录 前言 为什么需要对线程池进行监控 如何做线程池的监控 数据采集 数据存储以及大盘的展示 进一步扩展以及思考 如何合理配置线程池参数 如何动态调整线程池参数 如何给不同的服务之间做线程池的隔离 实现方案 前言 这篇是推动大家异步编程的思想的线程池的准备篇,要做好监控,让大家使用无后顾之忧,敬畏生产. 为什么需要对线程池进行监控 Java线程池作为最常使用到的并发工具,相信大家都不陌生,但是你真的确定使用对了吗?大名鼎鼎的阿里Java代码规范要求我们不使用 Executors来快速创建线程池,

  • ssm项目改造spring boot项目完整步骤

    目录 添加依赖 添加启动类 拷贝项目代码 配置数据库连接池 添加依赖 连接池的自动配置方式 配置 Druid 连接池 集成 MyBatis 添加依赖 配置 Mapper 对象 MyBatis配置属性 事务管理 添加依赖 注解方式 配置切换代理 测试验证 集成 Web 添加依赖 修改端口 目录结构 静态资源的一些处理 前端控制器映射路径配置 集成 Thymeleaf 添加依赖 相关配置 修改模板文件 统一异常处理 框架自带方式 控制器增强器方式 添加注册多个拦截器 系统日志 为什么要用日志 Spr

  • Spring Boot使用Druid和监控配置方法

    Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource Druid是Java语言中最好的数据库连接池,并且能够提供强大的监控和扩展功能. 下面来说明如何在 Spring Boot 中配置使用Druid (1)添加Maven依赖 (或jar包)\ <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId&g

  • 详解如何将已有项目改造为Spring Boot项目

    快速创建一个springboot web工程 以IntelliJ IDEA为例: 1.首先创建一个项目,创建时选择Spring Initializr,然后Next,如下图: 2.填写项目信息,如下图: 3.勾选web 4.最后一步,填写工程名字点击finish 第一次创建时系统会去下载需要的依赖,耗时稍长,请耐心等待. 创建成功后,目录结构如下:项目的根目录下会有一个artifactId+Application命名规则的入口类,SpringbootLearningApplication Spri

  • Spring Boot 项目创建的详细步骤(图文)

    一. 简单介绍一下Spring Boot 世界惯例,在学习一个框架之前,我们需要了解一下这个框架的来历. 下面我们引用一下百度百科的解释. Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者 Spring Boo

  • 在Docker中部署Spring Boot项目过程详解

    微服务现在在互联网公司可谓非常流行了,之前找工作的的时候很多HR电话约面试的时候都会问对微服务是否有过接触.而微服务和Docker可以非常完美的结合,更加方便的实现微服务架构的落地.作为微服务中的代表SpringBoot框架,今天我们就来了解一下如何在Docker容器中运行一个SpringBoot应用. 创建Spring Boot程序 在这篇文章中我们将在Docker容器中运行一个简单的SpringBoot的Web应用,下面是初始时刻的pom.xml中的内容. <?xml version="

  • 创建Spring Boot项目的几种方式总结(推荐)

    一.我们可以使用Spring Initializr来创建SpringBoot项目. Spring Initializr从本质上来说就是一个Web应用程序,它能为你生成Spring Boot项目结构.虽然不能生成应用程序代码,但它能为你提供一个基本的项目结构,以及一个用于构建代码的Maven或Gradle构建说明文件.你只需要写应用程序的代码就好了. Spring Initializr有几种用法. 1.通过Web界面使用. 2.通过Spring Tool Suite使用. 3.通过IntelliJ

  • 在 Spring Boot 项目中实现文件下载功能

    (一)需求 在您的 springboot 项目中,可能会存在让用户下载文档的需求,比如让用户下载 readme 文档来更好地了解该项目的概况或使用方法. 所以,您需要为用户提供可以下载文件的 API ,将用户希望获取的文件作为下载资源返回给前端. (二)代码 maven 依赖 请您创建好一个 springboot 项目,一定要引入 web 依赖: <dependency> <groupId>org.springframework.boot</groupId> <a

  • Spring Boot项目中定制拦截器的方法详解

    这篇文章主要介绍了Spring Boot项目中定制拦截器的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Servlet 过滤器属于Servlet API,和Spring关系不大.除了使用过滤器包装web请求,Spring MVC还提供HandlerInterceptor(拦截器)工具.根据文档,HandlerInterceptor的功能跟过滤器类似,但拦截器提供更精细的控制能力:在request被响应之前.request被响应之后.视

随机推荐