应用级监控方案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 Admin 参考指南 SpringBoot Admin服务离线、不显示健康信息的问题 Spring Boot Admin2 @EnableAdminServer的加载 Spring Boot Admin2 AdminServerAutoConfiguration详解 在微服务中集成Spring Boot Admin 的主要作用之一就是用来监控服务的实例状态,并且最好是当服务DOWN或者OFFLINE的

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

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

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

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

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

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

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

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

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

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

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

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

    2024年02月12日
    浏览(30)
  • 【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日
    浏览(43)
  • 【SpringBoot】Spring Boot 单体应用升级 Spring Cloud 微服务

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

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

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

    2024年02月07日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包