本文介紹了MicroProfile指標(biāo)在WildFly 25上不顯示自定義指標(biāo)的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我正在嘗試使用Javax/jaxars,并且使用的是我不太熟悉的WildFly 25服務(wù)器。
在搜索類似于Spring的Actuator的東西時(shí),我無意中發(fā)現(xiàn)了服務(wù)器默認(rèn)公開的指標(biāo)和健康端點(diǎn),以及它向應(yīng)用程序端點(diǎn)添加自定義計(jì)數(shù)器、量規(guī)等的能力。
但是,無論我做什么,這些自定義終結(jié)點(diǎn)都不會(huì)在默認(rèn)的http://localhost:9990/metrics URL下公開。
我正在遵循GitHub存儲(chǔ)庫下WildFly提供的指南:
https://github.com/wildfly/quickstart/tree/main/microprofile-metrics
教程中的一些危險(xiǎn)信號(hào)似乎不適用于我嘗試執(zhí)行的任何操作。
-
本指南建議,如果我們想要獲取JSON格式的指標(biāo),則需要使用以下標(biāo)題:";
Accepted: application/json
";,它仍然返回默認(rèn)的Prometheus格式,包括郵政編碼和Curl格式。本指南還建議指標(biāo)/供應(yīng)商、指標(biāo)/應(yīng)用程序、指標(biāo)/基礎(chǔ)返回不同作用域的指標(biāo),在我的測(cè)試中,它們返回的指標(biāo)都相同。
就教程代碼而言,我嘗試在Jakarta EE 8 Full&;Web發(fā)行版上運(yùn)行它,但它拋出以下錯(cuò)誤:
Artifact microprofile-metrics:war exploded: java.lang.Exception: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit."microprofile-metrics.war".undertow-deployment" => "java.lang.NoClassDefFoundError: org/eclipse/microprofile/metrics/Counter Caused by: java.lang.NoClassDefFoundError: org/eclipse/microprofile/metrics/Counter
我嘗試用不同版本的Java(1.8、11、17)編譯代碼,希望可以解決問題,但無濟(jì)于事。
但是,使用WildFly預(yù)覽EE 9.1分發(fā)版似乎可以停止引發(fā)錯(cuò)誤,但自定義度量值仍然不起作用。
有我在嘗試期間添加到兩個(gè)發(fā)行版的子系統(tǒng)(取自Standalone.xml):
<extension module="org.wildfly.extension.health"/>
<extension module="org.wildfly.extension.metrics"/>
<extension module="org.wildfly.extension.microprofile.config-smallrye"/>
<extension module="org.wildfly.extension.microprofile.fault-tolerance-smallrye"/>
<extension module="org.wildfly.extension.microprofile.health-smallrye"/>
<extension module="org.wildfly.extension.microprofile.jwt-smallrye"/>
<extension module="org.wildfly.extension.microprofile.metrics-smallrye"/>
<extension module="org.wildfly.extension.microprofile.openapi-smallrye"/>
<extension module="org.wildfly.extension.microprofile.opentracing-smallrye"/>
<extension module="org.wildfly.extension.undertow"/>
(為簡(jiǎn)潔起見省略其他部分)
我還嘗試通過創(chuàng)建以下BAT并啟動(dòng)它來啟用統(tǒng)計(jì)信息:
call standalone.bat -Dwildfly.statistics-enabled=true
我使用的是IntelliJ,因此我嘗試在IDE中執(zhí)行相同的操作:
(在啟動(dòng)過程中將";Enable Statistics&q;選項(xiàng)同時(shí)添加到VM Options&;以確保其工作)
以下是我使用的依賴項(xiàng),基于我的服務(wù)器版本:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>wildfly-microprofile</artifactId>
<version>25.0.0.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>wildfly-jakartaee8-with-tools</artifactId>
<version>25.0.0.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Import the MicroProfile Metrics API, we use provided scope as the API is included in the server -->
<dependency>
<groupId>org.eclipse.microprofile.metrics</groupId>
<artifactId>microprofile-metrics-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- Import the CDI API, we use provided scope as the API is included in the server -->
<dependency>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.cdi-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- Import the Jakarta REST API, we use provided scope as the API is included in the server -->
<dependency>
<groupId>org.jboss.spec.javax.ws.rs</groupId>
<artifactId>jboss-jaxrs-api_2.1_spec</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
推薦答案
約翰。我是WildFly的指標(biāo)/MP指標(biāo)組件負(fù)責(zé)人,因此希望我能幫助您解決問題。
在我對(duì)挖掘WF源代碼感到非常興奮之前,您能確認(rèn)您使用的是哪種配置嗎?看起來您使用的是Standalone.xml配置。雖然這確實(shí)有指標(biāo)擴(kuò)展,但它不是MP指標(biāo)。為此,您需要使用stand-microprofile.xml.
希望您的問題就是這么簡(jiǎn)單。如果沒有,讓我知道,我們會(huì)更深入地調(diào)查。:)
這篇關(guān)于MicroProfile指標(biāo)在WildFly 25上不顯示自定義指標(biāo)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,