应用级监控方案Spring Boot Admin

这篇具有很好参考价值的文章主要介绍了应用级监控方案Spring Boot Admin。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

应用级监控方案Spring Boot Admin,入门springboot企业级架构,spring boot,后端,java

1.简介

Spring Boot Admin为项目常用的监控方式,可以动态的监控服务是否运行和运行的参数,如类的调用情况、流量等。其中分为server与client:

  • server: 提供展示UI与监控服务。
  • client:加入server,被监控的项目。

同时在监控的过程中spring-boot-starter-actuator也被经常提及,actuator使用后,会在被项目内部打上探针,提供一系列的监控api接口,如堆内存、栈内存等。下文数据为actuator提供。

如果企业开发的项目较小,不想选Prometheus+Grafana这种比较耗费资源和工作量的解决方案,Spring Boot Admin是您不二的选择。
应用级监控方案Spring Boot Admin,入门springboot企业级架构,spring boot,后端,java
由上图可知,Spring Boot Admin可以掌握进程、线程、内存、项目是否健康等基础指标。已经符合日常的常用需求了。下文将介绍如何将Spring Boot Admin整合进日常项目,

2.整合springboot

Spring Boot Admin生效需要分别部署server端和client端,下文将分别介绍。

2.1 server端

2.1.1 准备springboot项目

首先需要先准备springboot项目,无论是在git上下载还是新建都可以。

2.1.2 修改pom文件

在pom.xml中加入Spring Boot Admin的依赖信息,由于使用了spring cloud alibaba生态,所以这里将nacos包也加入了,请自行选择加入。

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.2.0</version>
        </dependency>

        <!-- SpringCloud Alibaba Nacos -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!-- SpringCloud Alibaba Nacos Config -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
    </dependencies>
2.1.3 修改yml文件

如果项目为新增的springboot项目,需要修改yml配置文件,项目才可以启动

server:
  port: 8008
  servlet:
    context-path: /monitor
spring:
  application:
    name: monitor-resource # Eureka页面显示
2.1.4 修改启动类

在Application启动类中加入@EnableAdminServer注解。表示该项目为监控的服务器端。

@SpringBootApplication
@EnableAdminServer
public class MonitorApplication {

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

}

以上结束后,Spring Boot Admin的服务器端就完成配置了,启动项目,访问ip:端口/context-path就可以访问了。根据上文配置,我们访问localhost:8088/monitor即可完成。下文是部署成功后的页面样式。
应用级监控方案Spring Boot Admin,入门springboot企业级架构,spring boot,后端,java

2.2.client端

如果其他springboot项目想被监控,那么就需要连接server服务,下文将介绍如何配置。

2.2.1 修改pom文件

在pom.xml中加入Spring Boot Admin client端的依赖。

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.2.0</version>
        </dependency>
2.2.2 修改yml文件

在有context-path情况下,需要加入spring.boot配置,否则报错。本文附带nacos的配置,请根据需要参考配置信息。

server:
  port: 8008
  servlet:
    context-path: /monitor
spring:
  application:
    name: monitor-resource 
  boot:
    admin:
      client:
        api-path:
        url: http://127.0.0.1:8008/monitor  # 这里为server地址,如果有context-path需要加入
        instance:
          prefer-ip: true # 使用ip注册进来
        management-url: /monitor
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: ip:8848
        metadata:   # 如果有context-path需要加上,否者报错
          management:
            context-path: ${server.servlet.context-path}/actuator
      config:
        # 配置中心地址
        server-addr: ip:8848
        # 配置文件格式
        file-extension: yml
management:  # actuator配置
  endpoint:
    health:
      show-details: always
  endpoints:
    enabled-by-default: true
    web:
      exposure:
        include: '*'

以上就完成了Spring Boot Admin客户端的配置,启动后即可加入监控server服务,再次访问sever服务,展示的页面展示如下:
应用级监控方案Spring Boot Admin,入门springboot企业级架构,spring boot,后端,java
应用级监控方案Spring Boot Admin,入门springboot企业级架构,spring boot,后端,java
通过页面反馈的数据,已经可以满足日常需求。

3.Security

对于日常项目来说,很多信息都是涉密的,如果暴漏给外部人员,就会产生极大的安全问题,因为监控平台包括了服务器信息、接口信息等重要信息,所以建议添加密码控制。下文将介绍如何给Spring Boot Admin添加密码验证。

3.1 修改pom文件。

这里我们打开server项目,使用了SpringSecurity技术,加入依赖信息。

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

4.2 修改application.xml文件

加入spring.security配置,这里是访问监控平台的账号密码。

spring:
  security:
    user:
      name: "admin"
      password: "1qaz@WSX"

4.3 新增登入登出配置

避免使用默认访问地址,防止其他人员轻易找到监控入口,这里自定义了访问页面。

@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 {
        // @formatter:off
        SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
        successHandler.setTargetUrlParameter( "redirectTo" );

        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()
                .httpBasic().and()
                .csrf().disable();
    }
}

以上配置完成,重启服务,再次访问上方配置的地址,可以发现,需要使用账号密码才可以登录。
应用级监控方案Spring Boot Admin,入门springboot企业级架构,spring boot,后端,java文章来源地址https://www.toymoban.com/news/detail-555489.html

到了这里,关于应用级监控方案Spring Boot Admin的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Spring Boot Admin2 实例状态监控详解

    Spring Boot Admin2 实例状态监控详解

    其他相关文章: Spring Boot Admin 参考指南 SpringBoot Admin服务离线、不显示健康信息的问题 Spring Boot Admin2 @EnableAdminServer的加载 Spring Boot Admin2 AdminServerAutoConfiguration详解 在微服务中集成Spring Boot Admin 的主要作用之一就是用来监控服务的实例状态,并且最好是当服务DOWN或者OFFLINE的

    2023年04月08日
    浏览(8)
  • 第十六章 : Spring Cloud集成 Spring Boot Admin的监控告警

    第十六章 : Spring Cloud集成 Spring Boot Admin的监控告警 本章知识点:本章将系统全面地介绍Spring Boot Admin组件与Nacos组件集成,重点介绍Admin监控背景、应用场景案例以及监控服务内容;监控服务内容包括服务信息、健康状态、元数据、进程、线程、垃圾回收情况、堆内存和非堆

    2024年01月25日
    浏览(7)
  • yudao-ui-admin-vben管理后台:基于最新vben 框架的企业级管理后台应用解决方案

    yudao-ui-admin-vben管理后台:基于最新vben 框架的企业级管理后台应用解决方案

    摘要: 本文主要介绍了yudao-ui-admin-vben管理后台,一个基于最新vben 框架的企业级管理后台应用解决方案。文章首先概述了yudao-ui-admin-vben管理后台的技术栈和功能特点,然后深入探讨了其架构设计、核心模块实现以及性能优化等方面的技术细节。最后,文章总结了yudao-ui-admi

    2024年04月27日
    浏览(12)
  • 【Spring实战】25 Spring Boot Admin 应用

    【Spring实战】25 Spring Boot Admin 应用

    Spring Boot Admin 是一个功能强大的工具,用于监控和管理多个 Spring Boot 应用程序。通过上一篇文章 【Spring实战】24 使用 Spring Boot Admin 管理和监控应用 我们知道了如何去使用 Spring Boot Admin。本文我们将继续介绍 Spring Boot Admin 的各种功能,并提供简单的样例,包括查看健康信息

    2024年01月24日
    浏览(10)
  • “深入理解Spring Boot:构建独立、可扩展的企业级应用程序的最佳实践“

    标题:深入理解Spring Boot:构建独立、可扩展的企业级应用程序的最佳实践 摘要:Spring Boot是一个强大的框架,可以帮助开发人员快速构建独立、可扩展的企业级应用程序。本文将深入探讨Spring Boot的核心概念和最佳实践,并通过示例代码演示其用法。 正文: 什么是Spring Bo

    2024年02月14日
    浏览(13)
  • Spring Boot进阶(94):从入门到精通:Spring Boot和Prometheus监控系统的完美结合

    Spring Boot进阶(94):从入门到精通:Spring Boot和Prometheus监控系统的完美结合

      随着云原生技术的发展,监控和度量也成为了不可或缺的一部分。Prometheus 是一款最近比较流行的开源时间序列数据库,同时也是一种监控方案。它具有极其灵活的查询语言、自身的数据采集和存储机制以及易于集成的特点。而 Spring Boot 是一款快速构建应用的框架,其提

    2024年02月08日
    浏览(8)
  • 【监控】Zabbix:企业级开源监控解决方案

    【监控】Zabbix:企业级开源监控解决方案

    zabbix是一个监控软件,其可以监控各种网络参数,保证企业服务架构安全运营,同时支持灵活的告警机制,可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能,支持复杂架构下的监控解决方案,也支持web页面,为主机监控提供了良好直观的展现。 官网 zabbix主

    2024年02月12日
    浏览(10)
  • 【SpringBoot】| Spring Boot 概述和入门程序剖析

    【SpringBoot】| Spring Boot 概述和入门程序剖析

    目录 一:Spring Boot 入门 1. Spring能做什么? 2. SpringBoot特点 3. 如何学习SpringBoot 4. 创建Spring Boot项目 Maven的配置 入门案例: SpringBoot中几个重要的注解 5. 了解自动配置原理 依赖管理 自动配置 6. SpringBoot核心配置文件 多环境测试 自定义配置 7. SpringBoot中使用JSP(了解) 8. S

    2024年02月06日
    浏览(9)
  • 【SpringBoot】Spring Boot 单体应用升级 Spring Cloud 微服务

    Spring Cloud 是在 Spring Boot 之上构建的一套微服务生态体系,包括服务发现、配置中心、限流降级、分布式事务、异步消息等,因此通过增加依赖、注解等简单的四步即可完成 Spring Boot 应用到 Spring Cloud 升级。 Spring Boot 应用升级为 Spring Cloud Cloud Native 以下是应用升级 Spring Clou

    2024年02月02日
    浏览(8)
  • 企业级信息系统开发——Spring Boot加载自定义配置文件

    企业级信息系统开发——Spring Boot加载自定义配置文件

    设置项目元数据 添加项目依赖 设置项目编码为utf8(尤其注意复选框) 在 resources 下创建 myconfig.properties 文件 在 net.shuai.boot 包里创建配置类 config.StudentConfig 点开测试类 ConfigDemo01ApplicationTests 编写测试方法,注入学生配置实体,创建 testStudentConfig() 测试方法,在里面输出学生

    2024年02月07日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包