Spring Boot Admin的使用详解(Actuator监控接口)

当我们在使用 Spring Boot 构建 web 应用时,使用 Actuator 来监控应用程序状态和执行度量非常有用。但 Actuator 提供的 JSON API 数据对于非技术人员来说很难直接理解。此时,Spring Boot Admin 就是一个非常好的选择,它提供了一个图形化的用户界面,用于监控 Spring Boot 应用程序。

本文将介绍如何使用 Spring Boot Admin 监控 Spring Boot 应用程序。我们自己来配置 Spring Boot Admin 服务器并监控一个简单的 RESTful API 应用程序。

准备工作

  • 安装JDK 1.8或以上版本。
  • 使用Maven构建Spring Boot项目。

添加 Spring Boot Admin 依赖

我们首先需要添加 Spring Boot Admin 依赖到我们的项目中。可以在 Maven 中加入以下依赖:

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

配置 Spring Boot Admin 服务器

接下来,我们要在项目中配置 Spring Boot Admin 服务器。如下所示,在主应用程序类上使用@EnableAdminServer注解来启用 Spring Boot Admin 服务器。

@SpringBootApplication
@EnableAdminServer
public class BootAdminServerApplication {

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

}

然后在application.yml文件中添加以下配置:

server:
  port: 8090

spring:
  boot:
    admin:
      server:
        url: http://localhost:${server.port}

添加完配置后,我们就可以运行 Spring Boot Admin 服务器了,访问地址为http://localhost:8090

配置被监控的 Spring Boot 应用程序

在被监视的应用程序中,需要在pom.xml文件中添加 Spring Boot Actuator 的依赖。

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

接下来,我们需要在应用程序的application.yml文件中添加以下配置。

management:
  endpoints:
    web:
      exposure:
        include: "*"

这个配置允许 Spring Boot Actuator 暴露所有端点。然后,我们需要再次启动应用程序。

配置被监视应用程序的注册

现在我们要将被监视的应用程序注册到 Spring Boot Admin 服务器上,我们可以在被监视应用程序的application.yml文件中添加以下配置。

spring:
  boot:
    admin:
      client:
        url: http://localhost:8090

测试

现在,我们可以在浏览器中输入 Spring Boot Admin 服务器的地址http://localhost:8090来访问 Spring Boot Admin 界面。并检查被监视应用程序的运行状况。如果我们单击左侧的第一个应用程序名称,则可以看到一些有关此应用程序的信息(例如,应用程序的名称,应用程序的总体状况等信息)。

通过查看详细信息标签,我们可以查看健康指标、机器信息、环境信息等详细信息。我们还可以调用 Actuator 端点标签,这样我们就可以直接调用 Actuator 端点信息了。

示例1: 监控 Spring Boot Admin 服务器自己

让我们使用 Spring Boot Admin 监控它自己的应用程序。我们可以在上面配置 Spring Boot Admin 服务器的application.yml文件中,添加以下配置。

spring:
  boot:
    admin:
      client:
        url: http://localhost:8090 # <- 注意只有自己的修改这个,别的位置的不用改

此时,我们就可以在 Spring Boot Admin 服务器的控制台上看到自己的应用程序注册信息。点击应用详情按钮,可以看到一些关于该 Spring Boot Admin 服务器的信息,提供了各种监控指标和 Actuator 端点。

示例2: 监控一个简单的 RESTful API 应用程序

让我们使用一个简单的RESTful API应用程序来演示如何使用 Spring Boot Admin 监控应用程序。我们需要创建一个新的 Spring Boot 项目,名称为demo

接下来,在pom.xml文件中添加以下依赖:

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

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

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.1.6</version>
</dependency>

然后,我们需要在应用程序的application.yml文件中添加以下配置。

management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: ALWAYS

这个配置允许 Spring Boot Actuator 暴露所有端点,并且显示所有的详细信息。

最后,我们需要在application.yml文件中添加以下配置。

spring:
  application:
    name: demo-app
  boot:
    admin:
      client:
        url: http://localhost:8090

提示:请将spring.boot.admin.client.url修改为您的 Spring Boot Admin 服务器的 URL。

现在,我们就可以启动应用程序来查看运行情况了。可以尝试访问/showInfo接口:http://localhost:8080/showInfo,来获取应用程序提供的信息。应用程序会自动通过 Spring Boot Admin 向服务器注册,并在服务器控制台上显示。

在 Spring Boot Admin 界面上,可以查看应用程序的详情、健康条目、日志记录和 Actuator 接口等信息。

总结

在本文中,我们学习了如何使用 Spring Boot Admin 监控 Spring Boot 应用程序。首先配置了 Spring Boot Admin 服务器,然后分别配置被监控应用程序的 actuator 和 registry。然后通过两个示例,展示了具体的应用场景和使用方法。如果我们需要使用 Spring Boot 自动配置和 Actuator 的监控功能,那么 Spring Boot Admin 应该是一个很好的选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot Admin的使用详解(Actuator监控接口) - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Swagger JSON高危漏洞被发现 Java/PHP/NodeJS/Ruby或中招

    标题: 全方位防范 Swagger JSON 高危漏洞 背景介绍: 最近,一种针对 Swagger JSON 文件的高危漏洞被发现,这种漏洞可能让攻击者直接获取到应用程序的代码。这种漏洞已经影响到了 Java、PHP、NodeJS、Ruby 等多种语言,因此我们需要对此进行有效的防范。 攻击过程: 攻击者可能会通过修改Swagger文档,添加恶意逻辑来执行以…

    Java 2023年5月26日
    00
  • 谈谈Java 线程池

    下面就来详细讲解「Java 线程池」的攻略。 线程池概述 线程池是一种多线程处理方式,它可以有效地减少线程创建和销毁过程中的性能开销,提高程序的性能和响应速度。常见的线程池有 FixedThreadPool、CachedThreadPool、ScheduledThreadPool、SingleThreadPool等。 Java 线程池的实现 Java 线程池…

    Java 2023年5月30日
    00
  • 详解SpringBoot2 使用Spring Session集群

    详解SpringBoot2 使用Spring Session集群攻略 什么是Spring Session Spring Session是一个支持在不同Web容器之间共享Session数据的项目。 Spring Session的集群 在集群环境下,我们需要使用Spring Session来共享Session数据。具体实现方式如下: 引入Spring Sessi…

    Java 2023年5月19日
    00
  • Maven项目配置Tomcat的两种方式

    下面我会详细讲解“Maven项目配置Tomcat的两种方式”的完整攻略。 方式一:使用Tomcat Maven插件 Tomcat Maven插件是Apache Maven的插件之一,旨在帮助在Maven项目中的Tomcat服务器中运行Web应用程序。 以下是配置Maven插件所需的步骤: 在Maven项目的pom.xml文件中添加以下依赖项: xml &lt…

    Java 2023年6月2日
    00
  • JAVA中STRING的常用方法小结

    下面是关于”JAVA中STRING的常用方法小结”的完整攻略: 1. 字符串的常用方法 Java中String类的常用方法如下: 1.1 以字符串形式返回字符序列 String str = "Hello World!"; System.out.println(str.toString()); 结果:Hello World! 1.2 将字符…

    Java 2023年5月26日
    00
  • Java实现的mysql事务处理操作示例

    当我们想要在Java应用程序中使用MySQL数据库时,需要处理事务操作。这里,我将向您展示如何使用Java和JDBC来处理MySQL事务。下面是一个完整攻略: 1. 添加MySQL JDBC驱动 在使用MySQL数据库之前,我们需要在Java项目中添加相应的MySQL JDBC驱动。您可以从官方网站下载最新的JDBC驱动程序,也可以使用第三方依赖管理工具,如…

    Java 2023年5月19日
    00
  • 最好的Java 反编译工具的使用对比分析

    最好的Java 反编译工具的使用对比分析 背景 Java 程序开发与运行过程中,难免会遇到需要对已有的 .class 文件进行反编译的情况。这时候,选择一款好用的反编译工具就显得至关重要。本文将介绍目前市面上较为知名的Java 反编译工具并进行对比分析,以帮助读者在实际工作中作出合理的选择。 Java 反编译工具 JD-GUI JD-GUI 是一款免费的Ja…

    Java 2023年5月26日
    00
  • 举例讲解Java的JSON类库GSON的基本用法

    下面就给您详细讲解Java的JSON类库GSON的基本用法的攻略。 什么是GSON GSON是Google开发的用于Java解析JSON数据的类库。它可以将一个JSON字符串转化成Java对象,同样也可以将Java对象转化成对应的JSON字符串。GSON可以编码和解码任何Java对象。 导入GSON的Jar包 在使用GSON之前,我们需要先在项目中导入GSO…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部