Разоблачить метрики Прометея в Dropwizard - PullRequest
0 голосов
/ 22 октября 2018

Я реализовал веб-сервис Java, используя Dropwizard .Теперь я хочу, чтобы он также показал метрики Прометея .

Я следовал этому довольно прямому примеру.Однако конечная точка в http://localhost:9090/metrics по-прежнему не отображается.

Вот соответствующий код:

Зависимости в pom.xml:

    <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_dropwizard</artifactId>
        <version>0.5.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.prometheus/simpleclient_servlet -->
    <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_servlet</artifactId>
        <version>0.5.0</version>
    </dependency>

Java-код:

import io.dropwizard.Application;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
import io.prometheus.client.CollectorRegistry;
import io.prometheus.client.dropwizard.DropwizardExports;
import io.prometheus.client.exporter.MetricsServlet;
[...]

public class MyApplication extends Application<MyServiceConfiguration> {

@Override
public void run(final MyServiceConfiguration configuration,
        final Environment environment) {
    final MyServiceResource resource = createResource(configuration);
    environment.jersey().register(resource);

    registerHealthChecks(environment, resource);

    registerMetrics(environment);
}

private void registerMetrics(Environment environment) {
    CollectorRegistry collectorRegistry = new CollectorRegistry();
    collectorRegistry.register(new DropwizardExports(environment.metrics()));
    environment.admin().addServlet("metrics", new MetricsServlet(collectorRegistry))
            .addMapping("/metrics");
}

Есть какие-нибудь указатели на то, что я делаю неправильно?

1 Ответ

0 голосов
/ 22 октября 2018

Помните, что по умолчанию в конфигурации dropwizard приложение администратора находится на другом порту.Там вы найдете сервлет метрик.

...