前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring Boot Application 监控管理利器: Spring Boot Admin

Spring Boot Application 监控管理利器: Spring Boot Admin

作者头像
happyJared
发布于 2019-04-18 12:29:00
发布于 2019-04-18 12:29:00
67800
代码可运行
举报
文章被收录于专栏:happyJaredhappyJared
运行总次数:0
代码可运行

文章前言

上篇文章了解了 Spring Boot Actuator,引入后即可通过访问不同的端点,来获得相应的监控信息。

对应 HTTP 方式请求,返回的数据都是 JSON 格式,这对于运维或是其他人员来说当然不是很方便直观,特别是当需要监控的应用越来越多时,如果还依旧通过地址栏来逐个访问,就显得过于繁琐和低效了。下面,我们再来认识下 Spring Boot Admin 这个 Spring Boot Application UI 监控管理工具。

快速上手

Spring Boot Admin 由 Server 和 Client 两个端组成,其中 Client 端通常是需要被监控的应用。先来配置下 Server 端的依赖,考虑到安全性方面的问题,这里还额外加入了 Security:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
        </dependency>
    </dependencies>

接着在 application.yml 文件中配置登录用户及密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring:
  security:
    user:
      name: admin
      password: admin

必要的 Security 配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Configuration
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {

    private final String adminContextPath;

    public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
        this.adminContextPath = adminServerProperties.getContextPath();
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
        // 设置redirectTo参数和登录成功重定向地址
        successHandler.setTargetUrlParameter("redirectTo");
        successHandler.setDefaultTargetUrl(adminContextPath + "/");

        http.authorizeRequests()
                // 授予对静态资源和登录页面的公共访问权
                .antMatchers(adminContextPath + "/assets/**").permitAll()
                .antMatchers(adminContextPath + "/login").permitAll()
                // 除上面配置的其他请求都必须经过身份验证
                .anyRequest().authenticated()
                .and()
                // 配置登录和退出请求路径
                .formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
                .logout().logoutUrl(adminContextPath + "/logout").and()
                // 启用HTTP-Basic,这是Spring Boot Admin Client注册所必需的
                .httpBasic().and()
                .csrf()
                .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
                .ignoringAntMatchers(
                        adminContextPath + "/instances",
                        adminContextPath + "/actuator/**"
                );
    }
    
}

最后,在启动类上加入 @EnableAdminServer ,运行服务后访问:http://localhost:8080 ,输入用户名密码 admin 进入系统:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@EnableAdminServer
@SpringBootApplication
public class SpringBootAdminServerApplication {

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

}

Server 端到此就搭建好了,下面再来处理 Client 端服务,同样的先加入相关依赖:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

由于引入了 Security 模块,为了可以正常访问到 Actuator 的 Endpoints,这里还需要做相应的配置处理:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Configuration
public class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().permitAll()
                .and().csrf().ignoringAntMatchers("/actuator/**").disable();
    }

}

在配置文件中加入必要信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server:
  port: 8081
spring:
  application:
    name: spring-boot-admin-client
  boot:
    admin:
      client:
        # Spring Boot Admin Server 服务地址,可配置多个
        url: http://localhost:8080
        instance:
          name: ${spring.application.name}
          prefer-ip: true
        # Spring Boot Admin Server 认证信息
        username: admin
        password: admin
        # 设置为true,客户端将只注册1个 Admin Server 服务(按定义的顺序)
        # 当该 Admin Server 服务宕机,将自动注册下个 Admin Server 服务器;
        # 如果为false,将针对所有管理服务器进行注册
        register-once: true
# Actuator 配置
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always
info:
  version: @project.version@
  name: @project.artifactId@
  author: happyJared
  blog: https://blog.mariojd.cn/

最后,启动 Client 服务,我们来查看 Admin Server 提供的 UI 监控管理系统:

点击 Instances 进入,这时就可以方便的查看该应用的所有监控状态信息。

此外,Spring Boot Admin 还支持动态更改 Logger Level、提供异常监控告警等功能,这些姿势可以自行解锁。

参考阅读

Spring Boot Admin Spring Boot Admin Reference Guide 监控管理之Spring Boot Admin使用

示例源码 欢迎关注我的个人公众号:超级码里奥 如果这对您有帮助,欢迎点赞和分享,转载请注明出处

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring Boot Admin 2.0监控配置
在实际开发中,需要监控项目的异常情况,如掉线,内存开销等信息。Spring Boot Admin通过简单的配置即可实现。
geekfly
2022/04/24
3700
Spring Boot Admin 2.0监控配置
利用 Spring Boot Admin 对 Spring Boot 应用监控以及配置认证
Spring Boot Admin 是一个优秀的 Spring Boot 应用监控,可以查看应用的各项性能指标,修改日志级别(生产环境利器,不用动不动就上 Arthas),dump 线程等功能。如果是微服务可以使用 Eureka 来做服务的注册与发现,单体应用的话直接往 Spring Boot Admin 的 Server 端注册就行。
Yuyy
2022/09/21
1.4K0
spring boot-admin 监控中心 配置登录密码
1. pom 加入 security <!-- 加入密码认证 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> 2.加入配置类 SecuritySecureConfig package org.fh.config; import
FHAdmin
2022/04/08
8670
一起来学SpringBoot | 第十五篇:actuator与spring-boot-admin 可以说的秘密
一起来学SpringBoot | 第十四篇:强大的 actuator 服务监控与管理 中介绍了 actuator 的作用,细心的朋友可能会发现通过 http restful api的方式查看信息过于繁琐也不够直观,效率低下,运维人员看到JSON数据更是一脸懵逼,当服务过多的时候查看起来就过于操蛋了,每个服务都需要调用不同的接口来查看监控信息,备受各种困扰因素的我默默翻了下 全球最大男性交友平台找到了 spring-boot-admin
battcn
2018/08/03
1K0
一起来学SpringBoot | 第十五篇:actuator与spring-boot-admin 可以说的秘密
Springboot 系列(十七)迅速使用 Spring Boot Admin 监控你的 Spring Boot 程序
Spring Boot Admin 是由 codecentric 组织开发的开源项目,使用 Spring Boot Admin 可以管理和监控你的 Spring Boot 项目。它分为客户端和服务端两部分,客户端添加到你的 Spring Boot 应用增加暴漏相关信息的 HTTP 接口,然后注册到 Spring Boot Admin 服务端,这一步骤可以直接向服务端注册,也可以通过 Eureka 或者 Consul 进行注册。而 Spring Boot Admin Server 通过 Vue.js 程序监控信息进行可视化呈现。并且支持多种事件通知操作。
未读代码
2020/02/11
1.9K0
Springboot 系列(十七)迅速使用 Spring Boot Admin 监控你的 Spring Boot 程序
Spring Boot Admin 快速接入
服务端 直接访问项目位置即可,如127.0.0.1:8080 即可登录Spring Boot Admin
收心
2022/01/19
9620
Spring Boot Admin 快速接入
Spring Boot Admin 服务监控利器 !
Spring Boot Admin 用于对 Spring Boot 应用的管理和监控。可以用来监控服务是否健康、是否在线、以及一些jvm数据等等。
一行Java
2023/02/23
1.1K0
Spring Boot Admin 服务监控利器 !
SpringBoot-SBA增加Security机制
Spring Boot Admin提供了可视化的监控服务,通过Spring Security的机制保护管理端点,以保证监控数据的安全性。可以使用Spring Security添加认证和授权功能,例如基于用户角色的访问控制、登录页面、注销等。需要配置Spring Security的相关依赖,并在配置文件中设置安全属性。可以使用默认的用户名和密码进行登录,并为管理员用户配置访问授权。Spring Boot Admin还提供了自定义登录页面的功能,以便更好地满足实际需求。
Damon小智
2024/02/03
1550
SpringBoot-SBA增加Security机制
Spring Boot 2 实战:使用 Spring Boot Admin 监控平台
生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以通过一个轻量级的监控工具 Spring Boot Admin (SBA) 来进行监控。
码农小胖哥
2019/12/10
3.9K0
Spring Boot 2 实战:使用 Spring Boot Admin 监控平台
Spring Boot Admin:微服务应用监控
SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控SpringBoot应用,然后通过图形化界面呈现出来。Spring Boot Admin不仅可以监控单体应用,还可以和Spring Cloud的注册中心相结合来监控微服务应用。
macrozheng
2019/10/31
8470
每天20分钟之spring boot admin
对于springboot应用的监控我们有很多选择,因为actuator提供了一组数据
李子健
2022/08/27
6200
指标监控神器SpringBootAdmin保姆级教程
基于SpringBootAdmin的开源产品很多,我们选择这个:https://github.com/codecentric/spring-boot-admin
用户4919348
2022/04/13
9450
指标监控神器SpringBootAdmin保姆级教程
SpringBoot集成SpringBootAdmin实现监控
code2roc
2023/07/19
2080
SpringBoot集成SpringBootAdmin实现监控
springBoot服务监控
引入web依赖和admin依赖,spring security依赖是为了做安全验证,不需要则不加入也可以 application.properties配置
歪歪梯
2020/06/19
9090
springBoot服务监控
06. Springboot admin集成Actuator(二)
在《Springboot admin集成Actuator(一)》一文中简单演示了Actuator的初步使用,但是可以发现都是json形式返回的结构,那么是否有能够可视化的方式来展示这些指标呢?当然有,就是接下来要说的Springboot Admin。Spring Boot Admin能够将 Actuator 中的信息进行界面化的展示,也可以监控所有 Spring Boot 应用的健康状况,提供实时警报功能。
有一只柴犬
2024/01/25
3210
06. Springboot admin集成Actuator(二)
用Spring Boot Admin来监控我们的微服务
【转载请注明出处】:https://blog.csdn.net/huahao1989/article/details/108039738
后端老鸟
2020/08/16
1K0
用Spring Boot Admin来监控我们的微服务
SpringCloud2.0入门4-springboot-admin监控
上一节为springboot项目添加springboot-admin监控 学习了基于springboot1.5自己注册到admin的方法。接下来学习结合Eureka使用以及2.0的改变。
Ryan-Miao
2018/07/27
1.3K0
SpringCloud2.0入门4-springboot-admin监控
聊聊如何玩转spring-boot-admin
Spring Boot Admin 是一个监控工具,旨在以良好且易于访问的方式可视化 Spring Boot Actuators 提供的信息
lyb-geek
2023/09/20
1.3K0
聊聊如何玩转spring-boot-admin
SpringBoot Admin监控Spring程序
SpringBoot Admin是开源社区孵化的项目,用于对SpringBoot应用的管理和监控。
鱼找水需要时间
2023/02/16
7320
SpringBoot Admin监控Spring程序
Spring Boot Admin的使用
前面的文章我们讲了Spring Boot的Actuator。但是Spring Boot Actuator只是提供了一个个的接口,需要我们自行集成到监控程序中。今天我们将会讲解一个优秀的监控工具Spring Boot Admin。它采用图形化的界面,让我们的Spring Boot管理更加简单。
程序那些事
2020/07/08
1.5K0
Spring Boot Admin的使用
相关推荐
Spring Boot Admin 2.0监控配置
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验