Как переопределить Прометей по умолчанию конечной точки / метрики - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь выставить метрики, используя http-сервер prometheus (io.prometheus.client.exporter.HTTPServer), для которого я использую приведенную ниже зависимость.

 <dependency>
  <groupId>io.prometheus</groupId>
  <artifactId>simpleclient_httpserver</artifactId>
  <version>0.2.0</version>
</dependency>

По умолчанию httpserver Prometheus выставляет все метрики вКонечная точка "/ metrics", и я хочу переопределить ее и ограничить, чтобы выставить метрики только для любой конкретной конечной точки (например, "/ prometheusMetrics").Используя приведенный ниже код, я запускаю http-сервер Prometheus и выставляю метрики.

@ServiceBean(singleton = true)
public class PrometheusCustomHTTPServer {

private static Logger s_logger = LoggerFactory.getLogger(PrometheusCustomHTTPServer.class);

private HTTPServer httpServer;
 private static CollectorRegistry registry = CollectorRegistry.defaultRegistry;
 private static boolean initailized = false;


@PostConstruct
public void start() {
    if(httpServer == null) {
        String hostAddress;
        try {
            int port = 9090;
            httpServer = new HTTPServer(port,true); 
            s_logger.error("started prometheus at http://"+port);
        } catch (IOException e) {
            System.out.println("Exception occured while starting of prometheus server" + e);
        }
        initialize(registry);
    }
}

private static  synchronized void initialize(CollectorRegistry registryToUse) {
    if(!initailized) {
         new StandardExports().register(registry);
         new MemoryPoolsExports().register(registry); 
          new GarbageCollectorExports().register(registry);
          new ThreadExports().register(registry);
          new ClassLoadingExports().register(registry); 
         System.out.println("StandardExports initialized");
         initailized = true;
    }
}

}

1 Ответ

0 голосов
/ 15 февраля 2019

Вы меняете конфигурацию на стороне клиента, но этого недостаточно.Вам также следует обновить конечную точку утилизации конфигурации Prometheus «на стороне сервера».

Ознакомьтесь с Конфигурация Prometheus :

Назначенное имя заданияк очищенным метрикам по умолчанию.job_name:

# Как часто очищать цели от этой работы.[scrape_interval: |default =]

Тайм-аут на очистку при очистке этого задания.[scrape_timeout: |default =]

# Путь HTTP-ресурса, по которому можно получить метрики от целей. [metrics_path: |по умолчанию = / метрики]

...