【发布时间】:2021-01-01 09:38:00
【问题描述】:
有没有办法通过 Micrometer 使用 Servlet 过滤器(即非 Spring 应用程序)收集 HTTP 指标。我正在寻找类似于 io.micrometer.jersey2.server.MetricsApplicationEventListener 的解决方案,在 Jersey 的情况下......但我正在寻找 HTTP 级别的东西,而不是依赖于 REST......
【问题讨论】:
标签: micrometer
有没有办法通过 Micrometer 使用 Servlet 过滤器(即非 Spring 应用程序)收集 HTTP 指标。我正在寻找类似于 io.micrometer.jersey2.server.MetricsApplicationEventListener 的解决方案,在 Jersey 的情况下......但我正在寻找 HTTP 级别的东西,而不是依赖于 REST......
【问题讨论】:
标签: micrometer
如果你选择的 Servlet Container 恰好是 Tomcat,你可以使用TomcatMetrics。它将为您注册一堆与 Tomcat 相关的指标,例如:tomcat.servlet.request 和 tomcat.servlet.error。您可以在TomcatMetricsAutoConfiguration 和TomcatMetricsBinder 中查看spring-boot-actuator 是如何自动配置的,基于这些您也可以在非spring 应用程序中使用它。
如果您需要更高级/更精细的东西,您可以创建一个 servlet Filter(我认为 micrometer 没有),您可以在其中使用 Timer 测量您需要的内容。您可以检查 spring-boot-actuator 的功能,并在此基础上实现您自己的 Filter,参见:WebMvcMetricsAutoConfiguration 和 WebMvcMetricsFilter。
【讨论】: