Spring Boot Admin 监控集成,naocs作为注册中心

Server端

1.添加依赖

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

2.启动类添加@EnableAdminServer 注解,有注册中心的话需要把该服务添加到注册服务,以便发现其他服务

@EnableDiscoveryClient
@EnableAdminServer
@SpringBootApplication
public class AdminServerApplication {
  public static void main(String[] args) {
    SpringApplication.run(AdminServerApplication.class, args);
  }
}

3.yml配置

spring:
  application:
    name: admin-server
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
server:
  port: 7777

Client端

1.添加依赖

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.1.4</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2.添加服务发现注解

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

3.在yml中配置以下参数,注意boot.admin.client.url 必须以http://开头,不然注册不上

spring:
  application:
    name: admin-client
  boot:
    admin:
      client:
        url: http://localhost:7777
        instance:
          prefer-ip: true #  使用IP注册
          service-base-url: http://localhost:${server.port} # 防止当ip为内网时无法注册
  # 我这里使用了nacos作为注册中心
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
# 默认只公开了/health和/info端点,要想暴露所有端点只需设置成星号即可
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: ALWAYS

启动admin-server 和admin-client,访问localhost:7777

注册成功,但是会发现注册实例的信息各不相同,有ip,有localhost,有主机名。

所以需要在spring.boot.admin.client.instance中配置你所需要的。

扫描二维码关注公众号,回复: 8831447 查看本文章
发布了83 篇原创文章 · 获赞 58 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/qq_38423105/article/details/89221706