如何在 WebSphere Liberty Server 19.0.0.11 中获取应用程序的最后访问时间

How to get last access time of application in WebSphere Liberty Server 19.0.0.11

正在使用 Java 8、JSF、Maven 开发应用程序。将应用程序构建为 war 并将其部署在 WebSphere Liberty Server 19.0.0.11 中。我需要获取应用程序的上次访问时间。?有什么办法可以得到这个细节吗?

一种方法是观察 vendor_servlet_request_total 指标(由 mpMetrics-2.x 功能提供)。每个 servlet 都有一个单独标记的时间序列(时间序列是按时间顺序排列的一系列度量值)——通过定期轮询 /metrics 端点,并汇总所有 servlet 的值,您可以知道当交通停止时。

上午 10:17

vendor_servlet_request_total{servlet=MyServletA} 100
vendor_servlet_request_total{servlet=MyServletB} 205

10:18am

vendor_servlet_request_total{servlet=MyServletA} 102
vendor_servlet_request_total{servlet=MyServletB} 209

10:19am

vendor_servlet_request_total{servlet=MyServletA} 102
vendor_servlet_request_total{servlet=MyServletB} 209

在上面的示例中,由于 servlet 请求计数在 10:18am 和 10:19am 之间没有变化,您可以得出结论,最后一次访问是在 10:18am.[=16= 之前]

有关 mpMetrics-2.x.

可用指标的更多详细信息,请参阅 https://openliberty.io/docs/ref/general/#metrics-catalog.html

您可能会编写一个过滤器来拦截对应用程序的所有请求并更新保存最后访问权限的变量,或者 return 该变量值(如果您要查询)。