`
wx1569020408
  • 浏览: 26875 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring Boot Admin实践

 
阅读更多
Spring Boot Admin 用于监控基于 Spring Boot 的应用,包括Server和Client。Client 把自身的信息“注册”到 Server,然后就能在 Server 上看到“注册”的 Spring Boot 应用的状态信息了。

【不引入spring-cloud的情况】
1. Server 端
1) pom.xml中引入
<dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-server</artifactId>
</dependency>
<dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-server-ui</artifactId>
</dependency>
2)主类开启监控:@EnableAdminServer,@Configuration,@EnableAutoConfiguration

2. Client 端
1)pom.xml中引入
<dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
2)properties配置文件中指定Server注册地址,如 spring.boot.admin.url= http://localhost:8080
注意: client端注册上去之后,默认只显示detail,trace,heapdump,若需要查看Metrics,Enviroment,Threads,JMX,Logging等,需引入 spring-boot-starter-actuator ,并配置endpoints.sensitive: false

3. Server 端监控自己
若Server 端需要监控自己,把 Server 端也当作是 Client 一样来配置就可以实现了:参考第2点

【引入spring-cloud的情况】
Spring Boot Admin 注册到Eureka Server 中后,可以管理所有注册到 Eureka Server 的应用,包括 Spring Boot Admin 自己(因为自己也会注册到 Eureka Server)
1. Server 端
1)pom.xml中引入
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-server</artifactId>
</dependency>
<dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-server-ui</artifactId>
</dependency>
2)主类开启监控:@EnableEurekaClient,@EnableAdminServer
3)properties中配置 eureka.instance.client.serviceUrl.defaultZone

2. Client 端
只需要注册到Eureka Server 即可,无需做其他配置,若配置了 spring.boot.admin.url ,那么会在监控主页显示2个重复的client端。
1)客户端要添加 spring-boot-starter-actuator 依赖,因为获取应用信息是通过 actuator 中的相关 endpoints 获取的。
2)JMX-bean管理 和 Loglevel 管理 参考下面

【动态修改环境变量值】
1. 打开Server端的URL,如 http://localhost:60003/
2. 在Environment manager中可以指定property-name,修改property-value,然后update environment。可修改多个
3. 修改后的值在 PropertySource manager 中会显示,在/env端点中也会显示。在@ConfigurationProperties绑定的类中的值会更新。此操作可用来动态更新业务配置
4. 点击 Reset environment,修改的所有值会还原。@ConfigurationProperties绑定的类中的值也还原
5. 进程重启后,所有环境变量值按初始化值

【Spring Boot Admin Server 配置说明】
spring.boot.admin.context-path Admin Server 保留的静态访问和API的前缀(当你在业务应用中使用而不是单独使用时就很有必要了)
spring.boot.admin.monitor.period 默认10.000,更新应用信息的频率,单位毫秒
spring.boot.admin.monitor.status-lifetime 默认10.000 被监控的应用信息的过期时间,单位毫秒

【Spring Boot Admin Client 配置说明】
Spring Boot Admin Client 注册到 Spring Boot Admin Server,Client 定期地发送 Http Post 到 admin 提供自己的应用信息。如果需要管理 loglevels 或 JMX-beans ,则要在依赖中添加 Jolokia ,使得 JMX-beans 也可以通过 http 访问。
spring.boot.admin.client.enabled 默认true 默认开启
spring.boot.admin.url admin server 的地址列表,此设置会触发自动配置,必须
spring.boot.admin.api-path 注册到 admin server 端点的 Http-path
spring.boot.admin.username 注册到 admin server 的账号
spring.boot.admin.password 注册到 admin server 的密码
spring.boot.admin.period 默认10.000 重试注册的间隔时间
spring.boot.admin.auto-registration 默认true 应用启动后自动执行周期性的注册任务
spring.boot.admin.auto-deregistration 默认false 当应用关闭时,自动取消注册
spring.boot.admin.client.health-url
spring.boot.admin.client.management-url
spring.boot.admin.client.service-url
spring.boot.admin.client.name 注册时的名字
spring.boot.admin.client.prefer-ip 默认false

【其他配置】
1. 在spring boot admin中的info中显示的内容需在server或client中配置info,如:
#Info配置
info.aaa.description: Eureka
info.aaa.url: https://github.com/jixuju/spring-cloud-test
info.aaa.build-by: superwind20
2. 在spring boot admin中的turbine中显示的hystrix信息,需在server中配置turbine,如:
#turbine配置
spring.boot.admin.turbine.url: http://localhost:60002/turbine.stream
spring.boot.admin.turbine.clusters: PROVIDER-SERVICE,RIBBON-SERVICE,FEIGN-SERVICE
3. JMX-bean管理(若需要管理JMX,则要配置)
JMX-bean 管理需要使用第三方的 jolokia ,因为 spring-boot-admin-starter-client 会自动依赖 jolokia-core,所以这里不需要显示依赖了,下面的基于 Eureka 注册发现的配置中,由于没有配置spring-boot-admin-starter-client ,就需要显示地依赖:
pom.xml
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
4. Loglevel 管理(若需要管理Logging日志,则要配置)
当前日志级别管理仅限 Logback,通过 JMX 实现,所以需要依赖 jolokia 。同时,还需要配置 Logback 的 JMXConfigurator:
logback.xml
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<jmxConfigurator/>
</configuration>
这个 logback.xml 放在与 application.properties 同级的目录就可以了,如果不配置 Logback,那么 Spring Boot Admin 就无法管理应用的日志级别。

转载于:https://my.oschina.net/superwind20/blog/1524164

分享到:
评论

相关推荐

    最新Spring Boot Admin 官方参考指南-中文版-2.x

    Spring Boot Admin 是一个社区驱动的项目,用于监控和管理基于Spring Boot的应用程序。它通过HTTP接口或者Spring Cloud的服务注册中心(如Eureka、Consul)来注册和发现应用。Spring Boot Admin的用户界面是一个建立...

    spring boot admin demo 源码 java 服务器 监控

    本项目是基于 Spring Boot Admin 的一个演示(Demo)源码,旨在帮助开发者理解和实践如何集成并使用 Spring Boot Admin 对 Java 服务器进行监控。 首先,让我们详细了解一下 Spring Boot Admin: 1. **Spring Boot...

    spring boot admin server

    标题 "spring boot admin server" 涉及的是Spring Boot生态中的一个强大工具——Spring Boot Admin。这个工具专门用于监控和管理Spring Boot应用,提供了一种可视化的方式来查看应用程序的状态、日志、健康检查等...

    Spring cloud spring boot spring boot admin

    2. **Spring Boot Admin Client**:每个被监控的Spring Boot应用需要添加`spring-boot-starter-admin-client`依赖,以便将自身注册到Spring Boot Admin Server,并暴露必要的监控端点。 3. **配置**:在服务器和...

    12Spring Boot Admin:微服务应用监控1

    Spring Boot Admin 微服务应用监控 Spring Boot Admin 是一个基于 Spring Boot 的应用监控工具,可以对 Spring Boot 应用进行监控,提供了详细的应用信息,包括应用运行过程中的概览信息、度量指标信息、环境变量...

    Spring Boot Admin实践详解

    "Spring Boot Admin实践详解" 本篇文章主要介绍了Spring Boot Admin的实践详解,包括了相关知识点的整理和介绍。下面是对文章中提到的知识点的详细解释: 1. Spring Boot Admin的实践详解 在Spring Boot Actuator...

    spring boot admin3.1.x客户端

    Spring Boot Admin是一款强大的用于监控Spring Boot应用程序的工具,它提供了丰富的UI界面,使得开发者能够方便地查看应用的状态、日志、环境变量等信息。在3.1.x版本中,Spring Boot Admin进一步增强了其功能,特别...

    Spring Boot Admin 参考指南-2.1.1-SNAPSHOT 谷歌翻译.pdf

    Spring Boot Admin应用客户端(SpringBootAdminClient)是客户端应用程序使用的库,用于将应用注册到Spring Boot Admin Server。它负责监控应用的健康状况,并将信息传递给服务器端。 Spring Boot Admin Server还...

    10spring boot admin 监控1

    Spring Boot Admin 是一款专为 Spring Boot 设计的管理和监控解决方案,它允许开发者实时查看和管理他们的应用程序状态。这款工具利用了 Spring Boot Actuator 提供的端点,Actuator 是 Spring Boot 的一部分,提供...

Global site tag (gtag.js) - Google Analytics