Heartsuit's Simple Blog

A place to hold mainly reading notes, and some technical stuff occasionally. 这里主要是一些读书笔记、感悟;还有部分技术相关的内容。


Project maintained by heartsuit Hosted on GitHub Pages — Theme by mattgraham

更新了SpringBoot版本, SpringBootAdmin的Httptrace不见了

目录[-]

Background

这两天突然发现SpringBootAdmin监控页面左侧菜单的Web-HttpTraces不见了;直接访问端点http://ip:port/../httptrace,404了,莫名其妙哦(๑°3°๑)

Analysis

印象里关于监控这里,最近没什么改动,除了一次SpringBoot版本的升级。。

去SpringBoot仓库的Issue查看,发现了这一条:Consider disabling management.trace.http by default

再去看官方文档:https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/html/production-ready-features.html#production-ready-endpoints,其中有下面这段话:

HTTP Tracing can be enabled by providing a bean of type HttpTraceRepository in your application’s configuration. For convenience, Spring Boot offers an InMemoryHttpTraceRepository that stores traces for the last 100 request-response exchanges, by default. InMemoryHttpTraceRepository is limited compared to other tracing solutions and we recommend using it only for development environments. For production environments, use of a production-ready tracing or observability solution, such as Zipkin or Spring Cloud Sleuth, is recommended. Alternatively, create your own HttpTraceRepository that meets your needs.

The httptrace endpoint can be used to obtain information about the request-response exchanges that are stored in the HttpTraceRepository.

Solution

解决方案:

import org.springframework.boot.actuate.trace.http.InMemoryHttpTraceRepository;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * SpringBootAdminConfig
 */
@Configuration
public class SpringBootAdminConfig {

    @Bean
	public InMemoryHttpTraceRepository getInMemoryHttpTrace(){
		return new InMemoryHttpTraceRepository();
	}

}

重启后,在SpringBootAdmin的监控页面会发现,左侧菜单的Web-HttpTraces又回来啦(〜^㉨^)〜


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!


「说点什么吧😊~~😊」: