Настроить метрики Dropwizard для Прометея
Я пытаюсь добавить /metrics
конечная точка в веб-приложении Java, реализованном с помощью Dropwizard, чтобы Prometheus мог удалить его.
Мой первый подход заключается в использовании DropwizardExports
сборщик предоставлен simpleclient_dropwizard и зарегистрируйте его следующим образом:
Collector dropwizardExports = new DropwizardExports(environment.metrics());
CollectorRegistry.defaultRegistry.register(dropwizardExports);
environment.admin()
.addServlet("metrics", new MetricsServlet(CollectorRegistry.defaultRegistry))
.addMapping("/metrics");
Это работает нормально, но наша конкретная конфигурация Prometheus требует нескольких конкретных экспортеров, например счетчик с именем http_requests_total
(кстати, я знаю, что это имя не очень хорошо выбрано).
Чтобы быть более конкретным, я хотел бы иметь те же метрики, которые реализованы плагином Mojolicious Prometheus.
Для этого представляется целесообразным получить доступ к показателям, предоставляемым Jetty, например, io_dropwizard_jetty_MutableServletContextHandler_requests_count
, Как я могу изменить их соответствующие имена на те, которые нужны в моем контексте?
Отсюда первый вопрос: возможно ли вообще каким-либо образом агрегировать и / или переименовывать метрики, предоставляемые DropWizard?
Если нет, то каков наилучший подход для реализации моих собственных метрик для Прометея? Реализуйте пользовательский коллектор (возможно, наследуя от DropwizardExports
?
Мне даже нужно DropwizardExports
на первом месте?