Prometheus Metriken Servlet zeigt keine Metriken

stimmen
0

Ich verwende resilience4j Schalter und habe Probleme, die Metriken mit dem prometheus Servlet-Client exportieren. Ich bin die Bereitstellung auf einem Server jbossas7, aber meine / Metriken Endpunkt zeigt nichts. Wer irgendwelche Ideen? Ich Injektion des Leistungsschalters in eine Bohne, die im Folgenden mit dem Leistungsschalter Auslösekode gut arbeitet, die in einer Fabrik befindet.

Wenn ich meinen Code debuggen, sehe ich der Leistungsschalter wird in der collectorRegistry gemacht und registriert. Aber wenn es im Servlet des simpleclient Servlet geschrieben wird, wird nichts in die Ausgabe geschrieben. Sie überspringt, um die finally-Block in dem Client-Bibliothek Code

web.xml

<?xml version=1.0 encoding=UTF-8?>
<web-app xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance 
xmlns=http://xmlns.jcp.org/xml/ns/javaee 
xsi:schemaLocation=http://xmlns.jcp.org/xml/ns/javaee 
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd version=3.1>
<servlet>
    <servlet-name>metrics</servlet-name>
    <servlet-class>io.prometheus.client.exporter.MetricsServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>metrics</servlet-name>
    <url-pattern>/metrics</url-pattern>
</servlet-mapping>

</web-app>

pom.xml Abhängigkeiten

<dependency>
        <groupId>io.github.resilience4j</groupId>
        <artifactId>resilience4j-circuitbreaker</artifactId>
        <version>${resilience4j.version}</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>io.github.resilience4j</groupId>
        <artifactId>resilience4j-prometheus</artifactId>
        <version>0.13.1</version>
    </dependency>
    <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient</artifactId>
        <version>0.5.0</version>
    </dependency>
    <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_servlet</artifactId>
        <version>0.5.0</version>
    </dependency>

Schalter Initiation

public CircuitBreaker getInjectedCircuitbreaker(InjectionPoint injectionPoint) {
    Circuitbreaker breaker = injectionPoint.getAnnotated().getAnnotation(Circuitbreaker.class);
    CircuitBreaker circuitBreaker = circuitBreakerRegistry.circuitBreaker(breaker.breakerName());
    collectorRegistry.register(CircuitBreakerExports.ofCircuitBreakerRegistry(circuitBreakerRegistry));
    return circuitBreaker;
}
Veröffentlicht am 07/09/2018 um 09:53
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more