iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot Admin怎么样
  • 434
分享到

SpringBoot Admin怎么样

2023-06-26 05:06:05 434人浏览 安东尼
摘要

这篇文章主要介绍SpringBoot Admin怎么样,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!公司有个springBoot项目需要加个监控,网上找了下发现大家都在推荐SpringBootAdmin。S

这篇文章主要介绍SpringBoot Admin怎么样,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

    公司有个springBoot项目需要加个监控,网上找了下发现大家都在推荐SpringBootAdmin。SpringBoot Admin是开源社区孵化的项目,用于对SpringBoot应用的管理和监控。SpringBoot Admin 分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client),服务端和客户端之间采用Http通讯方式实现数据交互;单体项目中需要整合spring-boot-admin-client才能让应用被监控。在SpringCloud项目中,spring-boot-admin-server 是直接从注册中心抓取应用信息,不需要每个微服务应用整合spring-boot-admin-client就可以实现应用的管理和监控。

    官网参考链接:https://codecentric.GitHub.io/spring-boot-admin/2.2.4/

    本文只叙述SpringBoot Admin 管理和监控单体应用 ,不涉及SprinGCloud相关的内容 。

    一、快速入门

    1.1 SpringBoot Admin服务端的搭建

    (1) Maven依赖说明 SpringBoot版本

        <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>2.2.10.RELEASE</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>

    添加SpringBootAdmin server依赖及SpringBoot WEB 依赖

    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <!--这里由于我的springboot版本是2.2.10.RELEASE,所以 springboot admin 也要用2.2.x版-->    <dependency>        <groupId>de.codecentric</groupId>        <artifactId>spring-boot-admin-starter-server</artifactId>        <version>2.2.4</version>    </dependency>

    (2)application.yml中配置端口

    # 指定端口server:port: 23333

    (3)编写启动类并开启SpringBootAdminServer

     package com.zcode.monitor.server;    import de.codecentric.boot.admin.server.config.EnableAdminServer;    import org.springframework.boot.SpringApplication;    import org.springframework.boot.autoconfigure.SpringBootApplication;        @EnableAdminServer // 开启 springboot admin 服务端    @SpringBootApplication    public class AdminServerApplication {        public static void main(String[] args) {            SpringApplication.run(AdminServerApplication.class,args);        }    }

    (4)浏览器访问测试 浏览器访问 http://localhost:23333/ 出现以下页面说明SpringBoot Admin服务端搭建成功

    SpringBoot Admin怎么样

    1.2 SpringBootAdmin client端搭建

    备注:所谓的 client端就是指我们需要被监控的应用端。这里我们写一个简单点的SpringBoot web应用做演示

    (1)Maven依赖说明

    SpringBoot版本如下

    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>2.2.10.RELEASE</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>

    添加SpringBootAdmin client 依赖及SpringBoot web 依赖。这里不需要添加SpringBoot actuator 依赖,因为SpringBootAdmin client里面已经包含了actuator相关依赖

       <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <!--这里由于我的springboot版本是2.2.10.RELEASE,所以 springboot admin 也要用2.2.x版-->        <dependency>            <groupId>de.codecentric</groupId>            <artifactId>spring-boot-admin-starter-client</artifactId>            <version>2.2.4</version>        </dependency>

    (2) application.yml配置

    在yml中需要 配置如下信息:

    应用端口

    开放端点用于SpringBootAdmin 监控

    配置应用名称(该名称会在SpringBoot Admin的管理页面显示)

    配置Admin Server的地址

    配置下日志文件的文件名和存放位置 (如果不配置则会看不到日志)

    # 端口server:  port: 9088#开放端点用于SpringBoot Admin的监控management:  endpoints:    web:      exposure:        include: '*'spring:  application:    name: admin-client # 给client应用取个名字  boot:    admin:      client:        url:  http://localhost:23333   #这里配置admin server 的地址logging:  file:    name: admin-client.log  #配置生成日志文件名称

    (3)写一个Controller模拟一个普通的接口

    通过浏览器访问这个接口就会打印日志,具体代码如下

          @Slf4j    @RestController    @RequestMapping("api")    public class HelloController {        private AtomicInteger count = new AtomicInteger(0);        @GetMapping("hi")        private String sayHi() {            // 每次进来如打印下日志            log.info("{} 啪...我第{}次进来了.", LocalDateTime.now(),  count.addAndGet(1));            // 每次进来new 个大对象,便于监控观察堆内存变化            byte[] bytes = new byte[100*1024*1024];            log.info("new了 100MB");            return "hi springboot addmin " + LocalDateTime.now();        }    }

    (4)写个启动类

    启动类代码就很简单了,就是一个普通的SpringBoot项目的启动类,上面没加其他注解。具体如下

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

    1.3 效果展示

    (1)已管理的应用会在应用墙上展示

    当我们的admin-client项目启动后,在 admin-server的管理页面的应用墙上就能看到admin-client这个应用了,具体可参考下图

    SpringBoot Admin怎么样

    (2)可查看应用的具体信息

    在应用墙点击这个应用,我们可以看到这个应用的具体信息,如堆内存变化及线程数等。具体可参考下图

    SpringBoot Admin怎么样

    (3)日志查看及堆内存变化观察

    请求我们在admin-client中写的模拟接口 http://localhost:9088/api/hi ,该接口请求一次则会输出日志,同时开辟100MB的堆内存空间。
    请求多次后在网页上可以实时的看到日志如下图

    SpringBoot Admin怎么样

    由于我们直接new了100MB的大对象,此时可以查看细节中的堆内存变化;具体如下图

    SpringBoot Admin怎么样

    二、安全

    2.1 admin-server端安全加固

    这个SpringBoot Admin的管理后台如果没密码就能访问,那实在太不安全了,因此我们要给它加上登录的功能。

    参考SpringBoot Admin的官方文档,我们可以在Admin-Server端添加Spring Security 相关依赖及就可以实现需要登录后才能访问网页管理面板。

    官网参考链接为:https://codecentric.github.io/spring-boot-admin/2.2.4/#_securing_client_actuator_endpoints

    下面开始具体的改造

    (1)admin-server添加Spring Security 相关依赖

      <!--springboot admin 安全相关-->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-security</artifactId>        </dependency>

    (2)admin-server 设置账号和密码

    在application.yml配置账号和密码

    # 配置一个账号和密码spring:  security:    user:      name: admin      passWord: root123456

    (3)admin-server 添加一个Spring Security 配置类

     @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();            successHandler.setTargetUrlParameter("redirectTo");            successHandler.setDefaultTargetUrl(adminContextPath + "/");            http.authorizeRequests()                    //1.配置所有静态资源和登录页可以公开访问                    .antMatchers(adminContextPath + "/assets@Slf4jpublic class SpringSecurityConfig2 {            @Configuration    @Order(1)    public static class HttpBasicSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {        public HttpBasicSecurityConfigurationAdapter() {            log.info("HttpBasicSecurityConfigurationAdapter... start");        }        protected void configure(HttpSecurity http) throws Exception {            //  这个配置只针对  /actuator    @Configuration    public static class FORMLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {                public FormLoginWebSecurityConfigurerAdapter() {            log.info("FormLoginWebSecurityConfigurerAdapter... start");        }        @Override        protected void configure(HttpSecurity http) throws Exception {            http.authorizeRequests()                .anyRequest().authenticated()                .and()                .formLogin();        }    }}

    添加完这个配置类后,记得把我们上面配置的SpringSecurityActuatorConfig 这个类删除了,然后重启项目。效果如下:

    访问http://localhost:9088/actuator/health ,则出现的是httpBasic认证的页面

    SpringBoot Admin怎么样

    访问 http://localhost:9088/api/hi,则出现的是Spring Security 自带的表单登录页面

    SpringBoot Admin怎么样

    访问admin-server 的管理页面,发现admin-client应用信息正常,说明本次修改的Spring Security配置没有问题

    SpringBoot Admin怎么样

    以上是“SpringBoot Admin怎么样”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

    --结束END--

    本文标题: SpringBoot Admin怎么样

    本文链接: https://www.lsjlt.com/news/307081.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • SpringBoot Admin怎么样
      这篇文章主要介绍SpringBoot Admin怎么样,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!公司有个SpringBoot项目需要加个监控,网上找了下发现大家都在推荐SpringBootAdmin。S...
      99+
      2023-06-26
    • SpringBoot Admin怎么用
      这篇文章给大家分享的是有关SpringBoot Admin怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。介绍Spring Boot Admin是一个Github上的一个开源项目,它在Spring Boot ...
      99+
      2023-06-25
    • Laravel-admin运作方式是怎样的
      本篇内容介绍了“Laravel-admin运作方式是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装 Laravel-admin首先...
      99+
      2023-07-05
    • 如何创建SpringBoot Admin应用
      本篇内容介绍了“如何创建SpringBoot Admin应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、SrpingBoot Admi...
      99+
      2023-06-05
    • SpringBoot整合SpringBoot-Admin实现监控应用功能
      目录搭建Admin Server引入依赖Admin Server启动类application.yml配置测试搭建Admin Client引入依赖application.yml配置存在...
      99+
      2023-05-20
      SpringBoot整合SpringBoot-Admin SpringBoot Admin监控应用
    • Spring Boot Admin怎么用
      这篇文章给大家分享的是有关Spring Boot Admin怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、介绍官网地址Spring Boot Admin 是开源社区孵化的项目,用于对 Spring Bo...
      99+
      2023-06-25
    • ceph admin socket怎么用
      这篇文章给大家分享的是有关ceph admin socket怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ceph admin socket利用ceph admin socket可以获得ceph的在线参数,...
      99+
      2023-06-27
    • 怎样使用Django suit或Bootstrap美化admin模板
      本篇文章给大家分享的是有关怎样使用Django suit或Bootstrap美化admin模板,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Django的功能很强大,总体来说应...
      99+
      2023-06-04
    • angular admin怎么搭建
      要搭建Angular Admin,你可以按照以下步骤进行操作:1. 确保你的计算机已经安装了Node.js和npm。你可以在命令行中...
      99+
      2023-10-11
      angular
    • SpringBoot Admin健康检查功能的实现
      目录admin实现admin功能创建客户端主动上报的服务端实现效果异常通知邮件通知其他通知代码地址admin 监控检查,检查的是什么了。检查的是应用实例状态,说白了就是被查服务提供信...
      99+
      2024-04-02
    • django怎么自定义admin
      要自定义Django的admin界面,可以按照以下步骤进行:1. 创建一个继承自`django.contrib.admin.Mode...
      99+
      2023-10-08
      django
    • 五分钟解锁springboot admin监控新技巧
      最近这一个月由于项目进度紧张,将近一个月没有动静。分享一下最近体会的springboot监控的一些心得体会,供一些规模不是很大的团队做一些监控。 适用场景: 1、项目规模不大 2、用...
      99+
      2024-04-02
    • SpringBoot怎样集成redis
      这篇文章给大家分享的是有关SpringBoot怎样集成redis的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。定义REmote DIctionary Server(Redis) ...
      99+
      2024-04-02
    • springboot admin监控的作用和使用方法是什么
      这篇“springboot admin监控的作用和使用方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“springb...
      99+
      2023-06-08
    • SpringBoot Admin使用及心跳检测原理分析
      目录介绍使用Server端Client端心跳检测/健康检测原理原理调试准备客户端发起POST请求服务端定时轮询介绍 Spring Boot Admin是一个Github上的一个开源项...
      99+
      2024-04-02
    • SpringBoot Admin集成诊断利器Arthas示例实现
      目录前言SpringBoot AdminSBA 集成客户端配置在配置中心加入配置实现开关效果结束前言 Arthas 是 Alibaba开源的Java诊断工具,具有实时查看系统的运行状...
      99+
      2024-04-02
    • Grafana怎么重置admin密码
      这篇文章将为大家详细讲解有关Grafana怎么重置admin密码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Grafana重置admin密码方法:1、查看Grafana配置文件,确定【grafana.d...
      99+
      2023-06-14
    • laravel-admin与vue结合怎么用
      这篇文章主要介绍laravel-admin与vue结合怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!由于 Laravel-admin 采用的是 pjax 的方式刷新页面,意味着...
      99+
      2024-04-02
    • SpringBoot中怎样整合RabbitMQ
      本篇文章给大家分享的是有关SpringBoot中怎样整合RabbitMQ,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、环境准备1、pom依赖<!-- 父工程...
      99+
      2023-06-20
    • Admin 怎么在Spring Boot中使用
      本篇文章为大家展示了Admin 怎么在Spring Boot中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、前言Spring Boot Admin 用于监控基于 Spring Boot 的应...
      99+
      2023-05-31
      springboot mi admin
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作