A place to hold mainly reading notes, and some technical stuff occasionally. 这里主要是一些读书笔记、感悟;还有部分技术相关的内容。
目录[-]
这两天突然发现SpringBootAdmin
监控页面左侧菜单的Web-HttpTraces
不见了;直接访问端点http://ip:port/../httptrace
,404了,莫名其妙哦(๑°3°๑)
印象里关于监控这里,最近没什么改动,除了一次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.
解决方案:
Http Traces
,则直接注入InMemoryHttpTraceRepository
这个Bean即可;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
又回来啦(〜^㉨^)〜
InMemoryHttpTraceRepository
;在生产环境下,推荐使用第三方组件实现对HttpTraces的监控,比如Zipkin or Spring Cloud Sleuth
, Prometheus+Grafana
,或者自己来实现。If you have any questions or any bugs are found, please feel free to contact me.
Your comments and suggestions are welcome!