我想监控 Spring Boot 服务中嵌入的 Tomcat。
Spring 本身为我提供了一些会话使用统计信息,但我需要有关底层线程池的其他信息,如活动连接、队列长度等。
我搜索了注册的bean,但找不到使用的线程池。
关于如何检索该信息有什么想法吗?
你好,18 个月前的问题!
因此,事实证明,使用 Spring Boot 2.0 及其新的 Metrics 包可以轻松监控嵌入式 Tomcat 指标。升级该应用程序的原因。
这里有一些示例代码可以帮助您入门。
class SomeClass {
@Autowired
private MeterRegistry repo;
@ReadOperation
public WebEndpointResponse<Map> invoke() {
Gauge busyThreads = repo.get("tomcat.threads.busy").gauge();
Gauge allThreads = repo.get("tomcat.threads.config.max").gauge(); // yes, could do @Value("${server.tomcat.max-threads:200}") and have it injected
double busyThreadsCount = busyThreads.value();
double allThreadsCount = allThreads.value();
....
}
}
查看更多:
- https://github.com/rwilcox/k8_spring_actuators https://github.com/rwilcox/k8_spring_actuators
-
Tomcat 指标的源代码 https://github.com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/tomcat/TomcatMetrics.java。我很快的任务之一可能就是将此代码向后移植到 Spring Boot 1.x 应用程序中。这
TomcatMetrics
class 专门向 Tomcat 请求它,因此将其拉入 Spring Boot 1.x 执行器应该不会太难。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)