Spring boot监控Actuator-Admin实现过程详解

 更新时间:2020年09月21日 11:01:13   作者:手撕高达的村长  
这篇文章主要介绍了Spring boot监控Actuator-Admin实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Actuator是监控管理,不过没有可视化,这里就引入了admin-ui来解决Spring Boot Admin 分为Client端和Server端Client端是客户端Server端是spring-boot-admin来监控client的.先来一个Client客户端代码;

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 
 <artifactId>spring-boot-demo-admin-client</artifactId>
 <version>1.0.0-SNAPSHOT</version>
 <packaging>jar</packaging>
 
 <name>spring-boot-demo-admin-client</name>
 <description>Demo project for Spring Boot</description>
 
 <parent>
  <groupId>com.xkcoding</groupId>
  <artifactId>spring-boot-demo-admin</artifactId>
  <version>1.0.0-SNAPSHOT</version>
 </parent>
 
 <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java.version>1.8</java.version>
 </properties>
 
 <dependencies>
  <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>
  </dependency>
 
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
  </dependency>
 
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
 </dependencies>
 
 <build>
  <finalName>spring-boot-demo-admin-client</finalName>
  <plugins>
   <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
   </plugin>
  </plugins>
 </build>
 
</project>

application.yml文件,注意这里的url一定跑配置到Server的路径,不然找不到,有点类型erkura的注册中心地址.

server:
 port: 8081
 servlet:
  context-path: /demo
spring:
 application:
  # Spring Boot Admin展示的客户端项目名,不设置,会使用自动生成的随机id
  name: spring-boot-demo-admin-client
 boot:
  admin:
   client:
    # Spring Boot Admin 服务端地址
    url: "http://localhost:8080/"
    instance:
     metadata:
      # 客户端端点信息的安全认证信息
      user.name: ${spring.security.user.name}
      user.password: ${spring.security.user.password}
 security:
  user:
   name: xkcoding
   password: 123456
management:
 endpoint:
  health:
   # 端点健康情况,默认值"never",设置为"always"可以显示硬盘使用情况和线程情况
   show-details: always
 endpoints:
  web:
   exposure:
    # 设置端点暴露的哪些内容,默认["health","info"],设置"*"代表暴露所有可访问的端点
    include: "*"

Java文件就随便暴露个接口就行

package com.xkcoding.admin.client.controller;
 
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
 
/**
 * <p>
 * 首页
 * </p>
 *
 * @package: com.xkcoding.admin.client.controller
 * @description: 首页
 * @author: yangkai.shen
 * @date: Created in 2018/10/8 2:15 PM
 * @copyright: Copyright (c) 2018
 * @version: V1.0
 * @modified: yangkai.shen
 */
@RestController
public class IndexController {
  @GetMapping(value = {"", "/"})
  public String index() {
   return "This is a Spring Boot Admin Client.";
  }
}

接下来是Server服务端,作为监控平台使用pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 
 <artifactId>spring-boot-demo-admin-server</artifactId>
 <version>1.0.0-SNAPSHOT</version>
 <packaging>jar</packaging>
 
 <name>spring-boot-demo-admin-server</name>
 <description>Demo project for Spring Boot</description>
 
 <parent>
  <groupId>com.xkcoding</groupId>
  <artifactId>spring-boot-demo-admin</artifactId>
  <version>1.0.0-SNAPSHOT</version>
 </parent>
 
 <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java.version>1.8</java.version>
 </properties>
 
 <dependencies>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
 
  <dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-starter-server</artifactId>
  </dependency>
 
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
 </dependencies>
 
 <build>
  <finalName>spring-boot-demo-admin-server</finalName>
  <plugins>
   <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
   </plugin>
  </plugins>
 </build>
 
</project>

application.yml

server:
 port: 8080 

运行服务端地址,发现已经检测到了注册过的客户端

可以看到客户端的信息

http追踪可以看到请求

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot整合Redis的完整步骤

    Spring Boot整合Redis的完整步骤

    这篇文章主要给大家介绍了关于Spring Boot整合Redis的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • Mybatis拦截器实现数据权限详解

    Mybatis拦截器实现数据权限详解

    这篇文章主要介绍了Mybatis拦截器实现数据权限详解, 通过Mybatis拦截器我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,需要的朋友可以参考下
    2023-11-11
  • Java并发之串行线程池实例解析

    Java并发之串行线程池实例解析

    这篇文章主要介绍了Java并发之串行线程池实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Java由浅入深全面讲解方法的使用

    Java由浅入深全面讲解方法的使用

    方法,也称函数,如果想要重复一段或者多段代码块的使用,可以将这些代码封装成一个方法,方法具体表现为某种行为,使用方法可以提高代码的复用性
    2022-04-04
  • Stream流排序数组和List 详解

    Stream流排序数组和List 详解

    这篇文章主要介绍了Stream流排序数组和List 详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • Java常用字符串方法小结

    Java常用字符串方法小结

    字符串变量是Java与C语言的一大不同之处。Java之中的 String 类和 Stringbuffer 类提供了大量的对字符串操作的方法。String 类适合处理较小的字符串,而Stringbuffer类适合处理大量字符串
    2017-04-04
  • Java String类常用方法梳理总结

    Java String类常用方法梳理总结

    这篇文章主要介绍了Java String类常用方法梳理总结,类 String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,更多相关内容需要的朋友可以参考一下
    2022-06-06
  • java 单播、广播、组播详解及实例代码

    java 单播、广播、组播详解及实例代码

    这篇文章主要介绍了java 单播、广播、组播详解及实例代码的相关资料,需要的朋友可以参考下
    2017-02-02
  • Java动态规划之编辑距离问题示例代码

    Java动态规划之编辑距离问题示例代码

    这篇文章主要介绍了Java动态规划之编辑距离问题示例代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • java错误:无效的源发行版:18解决办法图文详解

    java错误:无效的源发行版:18解决办法图文详解

    在Java开发中,如果你遇到错误: 无效的源发行版,这通常意味着你正在使用的Java编译器(通常是javac)被配置为编译一个比你的JDK 版本更高,这篇文章主要给大家介绍了关于java错误:无效的源发行版:18的解决办法,需要的朋友可以参考下
    2024-08-08

最新评论